@charset "utf-8";

/*
* fontawesomeセット
* content:'\○○○';
* font: var(--fa-font-solid);
*/
/*=====================================
*
*header
*
=======================================*/
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9995;
    width: 100%;
    padding-left: calc((130 / 1920) * 100%);
    background-color: rgba(255, 255, 255, 0.75);
}

header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1920px;
    margin: auto;
}

header .logo-area {
    max-width: 248px;
}

header .logo-area p.sub {
    font-size: 10px;
    color: #757575;
    letter-spacing: 0.01em;
    line-height: 1.0;
    margin-top: 6px;
}

header .logo-area p.sub br {
    display: none;
}

@media screen and (min-width:900px) and (max-width:1024px) {
    header .logo-area p.sub br {
        display: initial;
    }
}

header .menu-area ul.Gmenu {
    display: flex;
    gap: 30px;
}

header .menu-area ul li {
    position: relative;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding: 25px 0;
}

header .menu-area ul li a {
    color: #555;
    transition: 0.3s ease-in-out;
}

@media (any-hover:hover) {
    header .menu-area ul li a:hover {
        opacity: 0.75;
    }
}

header .menu-area ul li>ul {
    position: absolute;
    bottom: 12px;
    left: 24px;
    transform: translateY(100%);
    min-width: fit-content;
    word-break: keep-all;
    border-radius: 3px;
    background-color: var(--main-color);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s ease-in-out;
}

header .menu-area ul li:hover>ul {
    opacity: 1.0;
    pointer-events: auto;
}

header .menu-area ul li>ul::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 20px;
    width: 15px;
    height: 8px;
    background-color: var(--main-color);
    clip-path: polygon(50% 0%, 100% 100%, 0 100%);
}

header .menu-area ul li>ul li {
    font-size: 13px;
    padding: 10px;
}

header .menu-area ul li>ul li a {
    display: inline-block;
    width: 100%;
    color: #fff;
}

header .menu-area ul li>ul li+li {
    border-top: 1px solid #fff;
}

header .inner>.wrapper {
    display: flex;
    align-items: center;
    gap: 38px;
}

header .btn-area {
    display: flex;
}

header .btn-area .btn {
    width: 75px;
    height: 75px;
}


header .btn-area .btn a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 12px;
    letter-spacing: 0;
    color: #fff;
    transition: 0.3s ease-in-out;
}

header .btn-area .btn a:hover {
    opacity: 0.75;
}

header .btn-area .btn a span {
    display: flex;
    align-items: end;
    height: 35px;
    margin-bottom: 3px;
}

header .btn-area .btn:nth-of-type(1) {
    background-color: #bdca52;
}

header .btn-area .btn:nth-of-type(2) {
    background-color: #4b85f0;
}

header .btn-area .btn:nth-of-type(3) {
    background-color: #ff9888;
}

@media screen and (max-width:1300px) {
    header {
        padding-left: 3%;
    }
}

/*tb*/
@media screen and (max-width:1024px) {
    header .logo-area {
        max-width: 200px;
    }

    header .inner>.wrapper {
        gap: 10px;
    }

    header .menu-area ul li {
        font-size: 14px;
    }
}

@media screen and (max-width:899px) {
    header {
        padding-left: 3%;
    }

    header .logo-area {
        max-width: 231px;
    }

    header .logo-area .logo {
        max-width: 180px;
    }

    header .logo-area p.sub {
        margin-top: 5px;
    }

    header .sp-btn .inner {
        display: flex;
    }

    header .inner>.wrapper {
        display: block;
    }

    header .sp-btn .btn {
        width: 60px;
        height: 60px;
        background-color: #ff9888;
    }

    header .sp-btn .btn a {
        display: flex;
        gap: 3px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        font-size: 9px;
        color: #fff;
        letter-spacing: 0;
    }

    /*ボタン(画面下部)*/
    .sp-fix_btn {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
    }

    .sp-fix_btn .inner {
        display: flex;
    }

    .sp-fix_btn .inner .btn {
        width: 50%;
        height: 50px;
    }

    .sp-fix_btn .inner .btn:nth-of-type(1) {
        background-color: #bdca52;
    }

    .sp-fix_btn .inner .btn:nth-of-type(2) {
        background-color: #4b85f0;
    }

    .sp-fix_btn .inner .btn a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 7px;
        width: 100%;
        height: 100%;
        font-size: 16px;
        font-weight: 500;
        color: #fff;
    }

    .sp-fix_btn .inner .btn:nth-of-type(2) a span {
        width: 22px;
    }

	/*ハンバーガーメニュー*/
	header .sp_menu-area {
		position: fixed;
		top: 0;
		right: 0;
		background-color: #fff;
		border-left:1px solid #579e46;
		height: calc(var(--vh, 1vh) * 100);
		width: 85vw;
		padding-top: 25px;
		z-index: 9999;
		overflow-y:scroll;
		transition: 0.25s ease-in-out;
    }

    header .sp_menu-area.close {
        right: -85vw;
    }

    header .sp_menu-area ul.Gmenu {
        padding-left: 15px;
        padding-right: 15px;
		padding-bottom: 45px;
    }

    header .sp_menu-area ul.Gmenu>li {
        position: relative;
		font-size:14px;
    }

    header .sp_menu-area ul.Gmenu li .btn {
        position: absolute;
        transform: translateY(-50%);
        right: 0;
        top: calc(50.2px / 2);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50.5px;
        height: 50.5px;
    }
	
    header .sp_menu-area ul.Gmenu li .btn span {
        position: relative;
        display: block;
        width: 15px;
        height: 2px;
        border-radius: 10px;
        background-color: #579e46;
    }

    header .sp_menu-area ul.Gmenu li .btn span:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 2px;
        height: 15px;
        border-radius: 10px;
        background-color: #579e46;
        transition: 0.3s ease-in-out;
    }

    header .sp_menu-area ul.Gmenu li .btn.active span:after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    header .sp_menu-area ul.Gmenu li ul li {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    header .sp_menu-area ul.Gmenu li+li {
        border-top: 2px dotted #f1f1f1 ;
    }

    header .sp_menu-area ul.Gmenu>li:first-of-type {
        border-top: 2px dotted #f1f1f1 ;
    }

    header .sp_menu-area ul.Gmenu>li:last-of-type {
        border-bottom: 2px dotted #f1f1f1 ;
    }

    header .sp_menu-area ul.Gmenu li a {
        display: block;
        padding: 15px 0;
        letter-spacing: 0.05em;
		font-weight:600;
        color: var(--main-color);
        width: calc(100% - 50.5px);
    }
	
	header .sp_menu-area ul.Gmenu li ul li{
		position:relative;
	}

	header .sp_menu-area ul.Gmenu li ul li::before {
		content: "-";
		position: absolute;
		display: block;
		top: calc(50% - 3px);
		left: 0;
		font-weight: 600;
		font-size: 20px;
		color: #8dcc7e;
		transform: translateY(-50%);
	}

    header .sp_menu-area ul.Gmenu li ul li a {
        position: relative;
        padding: 15px 50.5px 15px 0;
		color: #8dcc7e;
        width: 100%;
    }

    header .sp_menu-area ul.Gmenu li ul li a:after {
        content: "";
        position: absolute;
        transform: translate(-50%, -50%);
        top: 50%;
        right: 21.5px;
        width: 8px;
        height: 8px;
        border-right: 2px solid #579e46;
        border-top: 2px solid #579e46;
        transition: 0.3s ease-in-out;
        rotate: 45deg;
    }

	header .sp_menu-area ul.Gmenu>li > ul li a{
		color: #8dcc7e;
	}

    header .sp_menu-area ul.Gmenu ul {
        display: none;
    }

    header .sp_menu-area ul.Gmenu ul li:first-of-type {
        border-top:2px #f1f1f1 dotted;
    }
	
	header .sp_menu-area ul.Gmenu li ul li{
		padding-left:12px;
	}

    header .sp-btn .inner .ham-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 60px;
        height: 60px;
        background-color: #81cd6f;
    }

    header .sp-btn .inner .ham-btn span {
        display: inline-block;
        width: 30px;
        height: 2px;
        border-radius: 5px;
        background-color: #fff;
    }

    header .sp_menu-area .close-btn {
        width: fit-content;
        margin-right: 20px;
        margin-left: auto;
        margin-bottom: 25px;
    }

    header .sp_menu-area .close-btn .inner {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 23px;
        height: 23px;
        rotate: 45deg;
        margin: auto;
    }

    header .sp_menu-area .close-btn p {
        font-size: 10px;
        color: #579e46;
    }

    header .sp_menu-area .close-btn span {
        position: relative;
        display: block;
        width: 18px;
        height: 2px;
        border-radius: 10px;
        background-color: #579e46;
    }

    header .sp_menu-area .close-btn span:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 2px;
        height: 18px;
        border-radius: 10px;
        background-color: #579e46;
        transition: 0.3s ease-in-out;
    }
}


/*=====================================
*
*front
*
=======================================*/
/*=====================================
*mv
=======================================*/
.mv-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc((107 / 1920) * 100%);
    padding: 50px 0 50px calc((75 / 1920) * 100%);
    background-color: rgba(212, 234, 148, 0.25);
}

.mv-area .text-area {
    width: calc((685 / 1845) * 100%);
}

.mv-area .text-area .hd-area {
    font-size: clamp(28px, 2.07vw, 40px);
}

.mv-area .text-area .hd-area h1 {
    font-size: 1.0em;
    font-weight: 700;
    margin-bottom: calc((26.5 / 40) * 1.0em);
}

.mv-area .text-area .hd-area p {
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.03em;
    margin-bottom: calc((76.5 / 26) * 1.0em);
    padding: 0 calc((5 / 26) * 1.0em);

}

.mv-area .text-area .hd-area p .line {
    display: inline;
    background-image: linear-gradient(to bottom, transparent 0 80%, #fdd947 80% 100%);
}

.mv-area .mv-slider {
    width: calc((1060 / 1845) * 100%);
}

.mv-area .mv-slider li img {
    width: 100%;
    border-radius: 25px 0 0 25px;
}

@media screen and (max-width:1300px) {
    .mv-area .text-area {
        width: calc((900 / 1845) * 100%);
    }

    .mv-area .mv-slider {
        width: calc((800 / 1845) * 100%);
    }
}

/*tb*/
@media screen and (max-width:1024px) {
    .mv-area .text-area {
        width: calc((900 / 1845) * 100%);
    }

    .mv-area .text-area .hd-area {
        font-size: clamp(24px, 2.08vw, 40px);
    }

    .mv-area .mv-slider {
        width: calc((845 / 1845) * 100%);
        height: 25vh;
    }

    .mv-area .mv-slider .splide__track {
        height: 100%;
    }

    .mv-area .mv-slider ul li img {
        height: 100%;
        object-fit: cover;
    }
}

@media screen and (max-width:899px) {
    .mv-area {
        position: relative;
        height: 65vh;
        padding: 0;
        display: block;
    }

    .mv-area .text-area .hd-area {
        font-size: 20px;
    }

    .mv-area .text-area .hd-area h1 {
        margin-bottom: 15px;
    }

    .mv-area .text-area .hd-area p {
        font-size: 14px;
        margin-bottom: 25px;
    }

    .mv-area .text-area {
        position: absolute;
        z-index: 2;
        left: 0;
        bottom: 0;
        width: 100%;
        padding: 20px 10px;
        background-color: rgba(255, 255, 255, 0.65);
    }

    .mv-area .mv-slider {
        width: 100%;
        height: 100%;
    }

    .mv-area .mv-slider li img {
        border-radius: 0;
    }

}

/*=====================================
*point-sec
=======================================*/
#front .point-sec {
    padding: 100px 0 120px;
}

#front .point-sec .contents-area {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(3, 1fr);
}

#front .point-sec .contents-area .cont {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
	gap:0;
    padding: 45px calc((35 / 440) * 100%);
    border-radius: 8px;
    border: 3px solid #c6e372;
}

#front .point-sec .contents-area .cont .img-area {
    width: fit-content;
    margin: auto;
}

#front .point-sec .contents-area .cont .text-area h2 {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--main-color);
    text-align: center;
    margin: 24px 0 15px;
}

#front .point-sec .contents-area .cont .text-area p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 2.0;
}

#front .point-sec .contents-area .cont .btn1 {
    width: 100%;
    height: 65px;
    margin-top: 36px;
}

#front .point-sec .contents-area .cont .btn1 a {
    font-size: 20px;
}

#front .point-sec .contents-area .cont .btn1 a::after {
    scale: 1.0;
}

/*tb*/
@media screen and (max-width:899px) {
    #front .point-sec .contents-area {
        gap: 25px;
        grid-template-columns: repeat(1, 1fr);
    }

}

/*sp*/
@media screen and (max-width:599px) {
    #front .point-sec {
        padding: 80px 0 60px;
    }
	
	#front .point-sec .contents-area .cont .text-area p {
		font-size: 16px;
	}


}

/*=====================================
*message-sec
=======================================*/
#front .message-sec {
    margin-bottom: 110px;
    padding: 75px 0 0;
    background-image: linear-gradient(to right, var(--sub-color) 0 calc((1547 / 1920) * 100%), transparent calc((1547 / 1920) * 100%) 100%);
}

#front .message-sec .contents-area {
    position: relative;
    padding-left: calc((100vw - 1260px) / 2);
    z-index: 1;
}

@media screen and (min-width:1920px) {
    #front .message-sec .contents-area {
        padding-left: 0;
    }
}

#front .message-sec .contents-area::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100VW;
    height: 40px;
    background-color: #fff;
    z-index: -1;
    transform: translateX(-50%);
}

@media screen and (min-width:1920px) {
    #front .message-sec .contents-area {
        max-width: 1590px;
        margin: auto;
    }
}

@media screen and (max-width:1300px) {
    #front .message-sec .contents-area {
        padding-left: 3%;
    }
}

#front .message-sec .text-area {
    width: calc((700 / 1590) * 100%);
}

@media screen and (max-width:1300px) {
    #front .message-sec .text-area {
        width: calc((800 / 1590) * 100%);
    }
}

#front .message-sec .text-area p {
    font-weight: 500;
    font-size: 18px;
    line-height: 2.0;
    letter-spacing: 0.03em;
    color: #555;
    padding-bottom: 145px;
}

#front .message-sec .text-area .hd-area {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 25px;
}

#front .message-sec .text-area h2 {
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--main-color);
}

#front .message-sec .text-area .deco {
    display: flex;
    align-items: center;
    gap: 5px;
}

#front .message-sec .text-area .deco span {
    display: inline-block;
    background-color: var(--main-color);
}

#front .message-sec .text-area .deco span.deco-1 {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

#front .message-sec .text-area .deco span.deco-2 {
    width: 71px;
    height: 4.7px;
    border-radius: 10px;
    background-color: var(--main-color);
}

#front .message-sec .img-area {
    position: absolute;
    right: 20px;
    bottom: 0;
    width: calc((825 / 1920) * 100%);
    height: fit-content;
    box-shadow: 20px 20px 0 0 var(--main-color);
}

#front .message-sec .contents-area .deco-text {
    position: absolute;
    left: calc((100vw - 1260px) / 2);
    bottom: 50px;
    font-family: "Barlow";
    font-weight: 700;
    font-size: 100px;
    letter-spacing: 0.03em;
    line-height: 1.0;
    color: var(--main-color);
    opacity: 0.21;
}

@media screen and (max-width:1300px) {
    #front .message-sec .contents-area .deco-text {
        left: 3%;
    }
}

@media screen and (min-width:1920px) {
    #front .message-sec .contents-area .deco-text {
        left: 0;
    }
}

/*tb*/
@media screen and (max-width:1024px) {
    #front .message-sec .contents-area .deco-text {
        font-size: 80px;
    }

    #front .message-sec .text-area {
        width: 74%;
    }

    #front .message-sec .text-area p {
        font-size: 16px;
        padding-bottom: 240px;
    }

    #front .message-sec .img-area {
        box-shadow: 10px 10px 0 0 var(--main-color);
    }
}

@media screen and (max-width:899px) {
    #front .message-sec {
        background: var(--sub-color);
    }

    #front .message-sec .contents-area {
        padding-left: 3%;
        padding-right: 3%;
    }

    #front .message-sec .text-area {
        width: 100%;
    }

    #front .message-sec .text-area p {
        padding-bottom: 190px;
    }

    #front .message-sec .img-area {
        width: 54%;
    }

    #front .message-sec .contents-area .deco-text {
        font-size: 54px;
    }

}

/*sp*/
@media screen and (max-width:599px) {
    #front .message-sec {
        padding: 55px 0 0;
    }

    #front .message-sec .text-area .hd-area {
        margin-bottom: 25px;
    }

    #front .message-sec .text-area h2 {
        font-size: 20px;
    }

    #front .message-sec .text-area p {
        padding-bottom: 20px;
    }

    #front .message-sec .img-area {
        width: 100%;
        position: static;
    }

    #front .message-sec .contents-area .deco-text {
        font-size: 40px;
        top: -44px;
        left: 2%;
        bottom: initial;
        z-index: -1;
    }
}

/*=====================================
*feature-sec
=======================================*/
.feature-sec .contents-area .cont {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 85px 0;
    background-image: linear-gradient(to left, var(--sub-color) 0 calc((1750 / 1920) * 100%), transparent calc((1750 / 1920) * 100%) 100%);
}

@media screen and (min-width:1920px) {
    .feature-sec .contents-area .cont {
        width: 1920px;
        margin: auto;
    }
}

.feature-sec .contents-area .cont+.cont {
    margin-top: 90px;
}

.feature-sec .contents-area .cont:nth-of-type(odd) {
    padding-right: calc((170 / 1920) * 100%);
}

.feature-sec .contents-area .cont:nth-of-type(even) {
    flex-direction: row-reverse;
    padding-left: calc((170 / 1920) * 100%);
    background-image: linear-gradient(to right, var(--sub-color) 0 calc((1750 / 1920) * 100%), transparent calc((1750 / 1920) * 100%) 100%);
}

.feature-sec .contents-area .img-area {
    width: calc((880 / 1750) * 100%);
}

.feature-sec .contents-area .text-area {
    width: calc((800 / 1750) * 100%);
}

.feature-sec .contents-area .text-area .hd-area .deco-area {
    display: flex;
    align-items: center;
    gap: 5px;
}

.feature-sec .contents-area .text-area .hd-area .deco-area span.deco {
    position: relative;
    top: 4px;
    width: 5px;
    height: 5px;
    background-color: var(--deco-color);
    border-radius: 50%;
}

.feature-sec .contents-area .text-area .hd-area .deco-area p {
    font-family: "Barlow";
    font-size: clamp(18px, 1.15vw, 22px);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.0;
    color: var(--deco-color);
}

.feature-sec .contents-area .text-area .hd-area .deco-area p span {
    font-size: calc((32 / 22) * 1.0em);
}

.feature-sec .contents-area .text-area .hd-area h2 {
    font-size: clamp(20px, 1.67vw, 32px);
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--main-color);
    margin-bottom: calc((17.5 / 32) * 1.0em);
}

.feature-sec .contents-area .text-area>p {
    font-size: clamp(14px, 0.94vw, 18px);
    font-weight: 500;
    line-height: 2.0;
    letter-spacing: 0.01em;
    margin-bottom: calc((45.5 / 18) * 1.0em);
}

@media screen and (max-width:1300px) {
    .feature-sec .contents-area .cont:nth-of-type(odd) {
        padding-right: 2%;
    }

    .feature-sec .contents-area .cont:nth-of-type(even) {
        padding-left: 2%;
    }

    .feature-sec .contents-area .img-area {
        width: 42%;
    }

    .feature-sec .contents-area .text-area {
        width: 55%;
    }

    .feature-sec .contents-area .text-area>p {
        margin-bottom: calc((30 / 18) * 1.0em);
    }


    .feature-sec .contents-area .text-area>.btn1 {
        font-size: 16px;
        width: 225px;
        height: 50px;
    }

    .feature-sec .contents-area .text-area>.btn1 a {
        font-size: 16px;
    }

    .feature-sec .contents-area .text-area>.btn1 a::after {
        top: calc(50% - 2px);
    }

    .feature-sec .contents-area .text-area>.btn1 a::after {
        scale: 0.75;
    }
}

/*tb*/
@media screen and (max-width:1024px) {
    .feature-sec .contents-area .cont {
        display: block;
    }

    .feature-sec .contents-area .img-area {
        width: 95%;
    }

    .feature-sec .contents-area .cont:nth-of-type(even) .img-area {
        margin-left: auto;
    }

    .feature-sec .contents-area .text-area {
        width: 95%;
        padding-left: 0;
        margin: 30px auto 0;

    }

    .feature-sec .contents-area .cont:nth-of-type(odd) .text-area {
        padding-left: 13%;
        padding-right: 2.5%;
    }

    .feature-sec .contents-area .cont:nth-of-type(even) .text-area {
        padding-right: 10%;
        padding-left: 5%;
        margin: 30px 0;
    }
}


/*sp*/
@media screen and (max-width:599px) {
    .feature-sec .contents-area .cont {
        padding: 45px 0;
    }

    .feature-sec .contents-area .cont+.cont {
        margin-top: 50px;
    }
}

/*=====================================
*column-sec
=======================================*/
.column-sec {
    position: relative;
    padding: 90px 0;
    z-index: 1;
}

.column-sec.has-bg{
	padding: 75px 0;
}

.column-sec .column-bg1 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: calc((534 / 1920) * 100%);
    min-width: 396px;
}

.column-sec .column-bg2 {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: calc((404 / 1920) * 100%);
    min-width: 300px;
}

.column-sec ul.colum-list {
    display: grid;
    gap: 40px 45px;
    grid-template-columns: repeat(3, 1fr);
}

.column-sec ul.colum-list a {
    transition: 0.3s ease-in-out;
}

@media (any-hover:hover) {
    .column-sec ul.colum-list a:hover {
        opacity: 0.75;
    }
}

.column-sec ul.colum-list img {
    margin-bottom: 9.5px;
    aspect-ratio: 390 / 225;
    object-fit: cover;
    border-radius: 5px;
}

.column-sec ul.colum-list img.noimg {
    border: solid 1px var(--deco-color);
}

.column-sec ul.colum-list time {
    font-family: "Barlow";
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: #c3c3c3;
}

.column-sec ul.colum-list h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--main-color);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 5.5px;
    margin-bottom: 5px;
}

.column-sec ul.colum-list .tag-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.column-sec ul.colum-list .tag-list li a {
    font-size: 12px;
    font-weight: 700;
    color: #c3c3c3;
}

@media (any-hover:hover) {
    .column-sec ul.colum-list .tag-list li a:hover {
        color: var(--main-color);
    }
}

.column-sec .btn1 {
    margin: 60px auto 0;
}

/*tb*/
@media screen and (max-width:899px) {
    .column-sec ul.colum-list {
        gap: 30px 35px;
        grid-template-columns: repeat(2, 1fr);
    }
}

/*sp*/
@media screen and (max-width:599px) {
	.column-sec.has-bg{
		padding: 50px 0;
	}

	
    .column-sec .column-bg1 {
        width: 55%;
        min-width: auto;
    }

    .column-sec .column-bg2 {
        width: 48%;
        min-width: auto;
    }

    .column-sec ul.colum-list {
        gap: 20px 20px;
    }

    .column-sec ul.colum-list h3 {
        font-size: 14px;
    }
}

/*=====================================
*company-sec
=======================================*/
.company-sec {
    padding: 90px 0;
}

.company-sec .table-area {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 15px;
}

.company-sec .table-area {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.company-sec .table-area>* {
    padding: calc((11 / 16) * 1.0em) 1.0em;
    border-top: 1px solid #a0c997;
}

.company-sec .table-area>*:nth-last-of-type(2) {
    border-bottom: 1px solid #a0c997;
}

.company-sec .table-area>*:last-of-type {
    border-bottom: 1px solid #a0c997;
}

/*sp*/
@media screen and (max-width:599px) {
    .company-sec {
        padding: 45px 0;
    }

    .company-sec .table-area {
        grid-template-columns: repeat(7, 1fr);
        font-size: 14px;
    }

    .company-sec .table-area .hd-text {
        grid-column: 1 / 4;
    }

    .company-sec .table-area .cont-text {
        grid-column: 4 / 8;
    }
}

/*=====================================
*
*single
*
=======================================*/
/*
#single .contents >  .hd-area{
	position:relative;
	overflow:hidden;
	z-index:1;
}


@media screen and (min-width:1920px){
	#single .contents >  .hd-area{
		max-width:1920px;
		margin:auto;
	}
}

#single .hd-area h1 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding-top: calc((136 / 32) * 1.0em);
    padding-bottom: calc((136 / 32) * 1.0em);
	text-shadow: 0px 0px 4px rgba(255, 255, 255, 1.0);
}

#single .hd-area img {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    object-fit: cover;
	z-index:-1;
}

@media screen and (max-width:899px){
   #single .contents >  .hd-area::after {
      content: "";
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255,255,255,0.6);
  }
	
   #single .hd-area h1{
	   z-index:2;
	   font-size: 21px;
	   color:#333;
	   padding-top: calc((45 / 21) * 1.0em);
       padding-bottom: calc((45 / 21) * 1.0em);
	}
	
   #single .hd-area img {
      width: 100%;
      -ms-filter: blur(6px);
      filter: blur(3px);
  }
}
*/

#single .single-wrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top:50px;
}

#single .left{
	width:calc((100% - (312/ 1260) * 100%) - 45px);	
}

#single .left .single-cont .single-head h1{
	font-size:28px;
	font-weight:700;
	margin-bottom:0.5em;
}

#single .left .single-cont .single-head .head-info{
	display:flex;
	gap:5px;
	flex-wrap:wrap;
	font-size:12px;
	margin-bottom:20px;
}

#single .left .single-cont .single-head .head-info data{
	min-width:fit-content;
}

#single .left .single-cont .single-head .head-info .tag-list ul{
	display:flex;
	gap:5px;
	flex-wrap:wrap;
}

#single .left .single-cont .single-head .head-info .tag-list ul li a{
	color:#555;
}

#single .left .single-head  + .text{
	font-size:16px;
	line-height:2.0;
	letter-spacing:0.05em;
	margin-top:60px;
	margin-bottom:30px;
}

/*tb*/
@media screen and (max-width:899px){
	#single .left{
		width:100%;
	}
}

/*sp*/
@media screen and (max-width:599px){
	#single .left .single-cont .single-head h1 {
		font-size:20px;
	}
}


/*目次*/
div#toc_container {
    background: #fff;
    border: 1px solid #45B8A6;
    width: 100%;
	padding: 15px 20px;
}

div#toc_container a{
	font-size:14px;
	color:inherit;
}

#single .left .single-cont .inner div#toc_container p{
	margin-top:0;
}

#single .left .single-cont .inner div#toc_container {
    margin-top: 30px;
}

#single .left .single-cont .inner div#toc_container ul{
	margin-top:30px;
}

#single .left .single-cont .inner div#toc_container ul li{
	padding-left:0;
}

#single .left .single-cont .inner div#toc_container ul li::before{
	content:none;
}

#single .left .single-cont .inner div#toc_container ul li :is(ul,ol) {    
    margin-top: 0;
    padding-left: 0;
}
#single .left .single-cont .inner div#toc_container li :is(ul,ol) li{
	list-style:none;
}


#single .left .single-cont .inner div#toc_container li :is(ul,ol) li::before{
	content:none;
}

/*記事の内容*/
#single .left .single-cont .inner h2{
	font-size:24px;
	margin-top:60px;
}

#single .left .single-cont .inner h3{
	font-size:20px;
	margin-top:30px;
}

#single .left .single-cont .inner h4{
	font-size:16px;
	margin-top:30px;
}

#single .left .single-cont .inner :is(h2,h3,h4){
	font-weight:700;
	line-height:2.0;
	letter-spacing:0.03em;
}

#single .left .single-cont .inner :is(p,li){
	font-size:16px;
	line-height:2.0;
	letter-spacing:0.03em;
}

#single .left .single-cont .inner p{
	margin-top:30px;
}

#single .left .single-cont .inner p > a{
	cursor:pointer;
	transition:0.3s ease-in-out;
}

#single .left .single-cont .inner :is(ul,ol){
	margin-top:30px;
}

#single .left .single-cont .inner ol {
	position:relative;
	padding-left: calc(1.0em + 4px);
	list-style: decimal;
}

#single .left .single-cont .inner ol li {
    list-style: decimal;1
}

#single .left .single-cont .inner ul li{
	position:relative;
	padding-left:1.0em;
}

#single .left .single-cont .inner ul li::before{
	content:"・";
	position:absolute;
	left:0;
}

#single .left .single-cont .inner :is(ul,ol) li :is(ul,ol) {    
    margin-top: 0;
    padding-left: 1.5em;
    list-style-type: revert;
}

#single .left .single-cont .inner :is(ul,ol) li :is(ul,ol) li{
	padding-left: 0;
	list-style-type: revert;
}

#single .left .single-cont .inner :is(ul,ol) li :is(ul,ol) li::before{
	content:none;
}

#single .single-wrapper figure{
	margin-top:30px;
}

#single .left .single-cont .inner .single-btn{
	width:fit-content;
	margin:15px auto;
}

#single .left .single-cont .inner .single-btn a {
	padding-left: 9px;
	padding-right: 9px;
	font-size: 16px;
	color:#fff;
	border-radius: 3px;
	transition: 0.3s ease-in-out;
}

#single .left .single-cont .inner .single-btn1 a {
	border: 1px solid #FCB900;
	background-color: #FCB900;
}

#single .left .single-cont .inner .single-btn1 a:hover{
	background-color:#fff;
	color:#FCB900;
}

#single .left .single-cont .inner .single-btn2 a {
	border: 1px solid #00D084;
	background-color: #00D084;
}

#single .left .single-cont .inner .single-btn2 a:hover{
	background-color:#fff;
	color:#00D084;
}

#single .left .single-cont .inner .single-btn3 a {
	border: 1px solid #2EBF49;
	background-color: #2EBF49;
}

#single .left .single-cont .inner .single-btn3 a:hover{
	background-color:#fff;
	color:#2EBF49;
}

/*sp*/
@media screen and (max-width:599px){
	#single .left .single-cont .inner :is(p,li){
		font-size:14px;
	}
	
	#single .left .single-cont .inner h2{
		font-size:22px;
	}

	#single .left .single-cont .inner h3{
		font-size:18px;
	}

	#single .left .single-cont .inner h4{
		font-size:14px;
}
	
	#single .left .single-cont .inner td{
		font-size:14px;
	}
}
	
/*記事の下部*/
#single .left .pagenation .tag-list ul{
	display:flex;
	gap:5px;
	flex-wrap:wrap;
}

#single .left .pagenation .tag-list ul li{
	padding:5px 8px;
	background-color:#efefef;
	border-radius:3px;
}

#single .left .pagenation .tag-list ul li a{
	color:#555;
}

#single .left .pagenation{
	margin:100px auto;
}

#single .left .pagenation .page_pn ol{
	position:relative;
	display:flex;align-content;
	margin-top:15px;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

#single .left .pagenation .page_pn ol::before{
	content:"";
	position:absolute;
	transform:translate(-50%,-50%);
	top:50%;
	left:50%;
	width:1px;
	height:calc(100% - 50px);
	background-color:#ccc;
}

#single .left .pagenation .page_pn ol li{
	position:relative;
	width:50%;
}

#single .left .pagenation .page_pn ol li a{
	display:block;
	padding:25px 25px;
	font-size:14px;
	line-height:2.0;
	color:#555;
}

#single .left .pagenation .page_pn ol li.prev a::after{
	content:"\f104";
	position:absolute;
	transform:translatey(-50%);
	top:50%;
	left:0;
	font: var(--fa-font-solid);
	font-size:12px;
}

#single .left .pagenation .page_pn ol li.next a::after{
	content:"\f105";
	position:absolute;
	transform:translatey(-50%);
	top:50%;
	right:0;
	font: var(--fa-font-solid);
	font-size:12px;
}

#single .left  .connection{
	margin-bottom:75px;
}

#single .left  .connection h2{
	font-size:24px;
	font-weight:700;
	margin-bottom:15px;
}

#single .left  .connection ul{
	display:grid;
	gap:20px;
	grid-template-columns:repeat(3,1fr);
}

#single .left  .connection ul li h3 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.03em;
    color: var(--main-color);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 5.5px;
    margin-bottom: 5px;
	transition:0.3s ease-in-out;
}

#single .left  .connection ul li .img-area{
	overflow:hidden;
}

#single .left  .connection ul li img {
    margin-bottom: 5px;
    aspect-ratio: 390 / 225;
    object-fit: cover;
    border-radius: 5px;
	transition:0.3s ease-in-out;
}

#single .left  .connection ul li img.noimg{
	border:solid 1px var(--main-color);
}

#single .left  .connection ul li:hover h3{
	opacity:0.75;
}

#single .left  .connection ul li:hover img{
	transform:scale(1.1);
}


/*sp*/
@media screen and (max-width:599px){
	#single .left .pagenation .page_pn ol{
		flex-wrap:wrap;	
	}
	
	#single .left .pagenation .page_pn ol::before{
		width:100%;
		height:1px;
	}
	
	#single .left .pagenation .page_pn ol li{
		width:100%;
	}
	
	#single .left  .connection h2{
		font-size:22px;
	}
	
	#single .left  .connection ul{
		grid-template-columns:repeat(1,1fr);
	}	
}
/*=====================================
*
*sidenav
*
=======================================*/
.sidenav{
	width:calc((312/ 1260) * 100%);
	margin-bottom:75px;
}

.sidenav .search_area form {
	display: flex;
	justify-content:space-between;
	gap: 7px;	
}

.sidenav .search_area form input{
    width: calc((230 / 312) * 100%);
	border:#ccc solid 1px;
}

.sidenav .search_area form button{
	width: calc((100% - (230 / 312) * 100%) - 7px);
	font-family: "ZenKaku Gothic NEW";
	font-size:0.9em;
	letter-spacing:0.05em;
	height: 30px;
	padding: 0 10px;
	border-radius:2px;
	border:#ccc solid 1px;
}

.sidenav h2{
	font-size:18px;
	font-weight:700;
	letter-spacing:0.05em;
	margin-top:30px;
	margin-bottom:5px;
	color:var(--main-color);
}

.sidenav ul li{
	border-top:1px solid #ccc;
}

.sidenav ul li:last-of-type{
	border-bottom:1px solid #ccc;
}

.sidenav ul li a{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	font-size:14px;
	color:#555;
	padding:10px 5px;
	transition:ease-in-out 0.3s;
}

.sidenav ul li a:hover{
	opacity:0.75;
}

.sidenav ul li .img-area{
	width:30%;
}
.sidenav ul li .img-area img{
	border-radius: 5px;
}

.sidenav ul li .img-area img.noimg{
	border:solid 1px var(--main-color);
}

.sidenav ul li .text-area{
	width:calc(70% - 10px);
}

.sidenav ul li .text-area h3{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/*tb*/
@media screen and (max-width:1024px){
	.sidenav .search_area form button {
		font-size: 16px;
		height:45px;
	}
}

@media screen and (max-width:899px){
	.sidenav{
		width:100%;
	}
}

/*sp*/
@media screen and (max-width:599px){
	.sidenav .cate-list ul li {
		padding: 15px 5px;
	}
	
	.sidenav .column-list ul li {
		padding: 25px 5px;
	}
	
	.sidenav ul li a :is(.img-area,.text-area){
		width:100%;
	}
}
/*=====================================
*
*page
*
=======================================*/
#page .contents >  .hd-area{
	position:relative;
	overflow:hidden;
	z-index:1;
}

@media screen and (min-width:1920px){
	#page .contents >  .hd-area{
		max-width:1920px;
		margin:auto;
	}
}

#page .hd-area h1 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding-top: calc((136 / 32) * 1.0em);
    padding-bottom: calc((136 / 32) * 1.0em);
	text-shadow: 0px 0px 4px rgba(255, 255, 255, 1.0);
}

#page .hd-area img {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    object-fit: cover;
	z-index:-1;
}

@media screen and (max-width:899px){
   #page .contents >  .hd-area::after {
      content: "";
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255,255,255,0.6);
  }
	
   #page .hd-area h1{
	   z-index:2;
	   font-size: 21px;
	   color:#333;
	   padding-top: calc((45 / 21) * 1.0em);
       padding-bottom: calc((45 / 21) * 1.0em);
	}
	
   #page .hd-area img {
      width: 100%;
      -ms-filter: blur(6px);
      filter: blur(3px);
  }
}


#page .page-cont{
	padding-top:80px;
}

/*固定ページリード文*/
p.under-readText{
	font-size:18px;
	font-weight:500;
	letter-spacing:0.05em;
	line-height:2.0;
}

/*リスト*/
#page .page-cont :is(ul,ol){
	margin-top:10px;
}

#page .page-cont ol {
	position:relative;
	padding-left: calc(1.0em + 4px);
	list-style: decimal;
}

#page .page-cont ol li {
    list-style: decimal;1
}

#page .page-cont ul li{
	position:relative;
	padding-left:1.0em;
}

#page .page-cont ul li::before{
	content:"・";
	position:absolute;
	left:0;
}

#page .page-cont :is(ul,ol) li :is(ul,ol) {    
    margin-top: 0;
    padding-left: 1.5em;
    list-style-type: revert;
}

#page .page-cont :is(ul,ol) li :is(ul,ol) li{
	padding-left: 0;
	list-style-type: revert;
}

#page .page-cont :is(ul,ol) li :is(ul,ol) li::before{
	content:none;
}

/*about部分のコンテンツ*/
#page .page-cont .about-contens{
	margin-top:30px;
	padding: 39px calc((45 / 1260 ) * 100%) 45px;
	border-radius:12px;
	background-color:var(--sub-color);
}

#page .page-cont .about-contens .cont + .cont{
	margin-top:30px;
}

#page .page-cont .about-contens h3{
	font-size:18px;
	font-weight:700;
	letter-spacing:0.05em;
	line-height:calc(30 / 18);
	color:#3fa643;
	margin-bottom:25px;
}

#page .page-cont .about-contens h3 span{
	font-size:calc((14 / 18) * 1.0em);
	font-weight:bold;
}

#page .page-cont .about-contens h4{
	display:flex;
	gap:9px;
	align-items:center;
	font-size:18px;
	font-weight:700;
	letter-spacing:0.05em;
	margin-bottom:6.5px;
}

#page .page-cont .about-contens h4::after{
	content:"";
	display:block;
	width:65px;
	height:2px;
	background-color:#3fa643;
}

#page .page-cont .about-contens .text-box{
	font-size:18px;
	font-weight:700;
	letter-spacing:0.05em;
	line-height:calc(27 /18);
	padding:calc((15 / 18) * 1.0em) 15px;
	border-radius:8px;
	background-color:#fff;
}

#page .page-cont .about-contens ul.text-box {
	line-height:calc(27 / 18);
}

#page .page-cont .about-contens .text-box li {
	width:fit-content;
}

/*tb*/
@media screen and (max-width:599px){
	p.under-readText{
	  font-size: 16px;
	}
	
	#page .page-cont .about-contens{
		padding: 25px;
		border-radius: 10px;
	}
	
	#page .page-cont .about-contens h3{
		font-size: 16px;
		margin-bottom: 20px;
	}
	
	#page .page-cont .about-contens h4{
		font-size: 16px;
		gap: 9px;
	}
	
	#page .page-cont .about-contens .text-box{
		font-size:14px;
		border-radius: 6px;
	}
}

/*画像とテキスト横並び*/
#page .page-cont .textImg-flex{
	display:flex;
	justify-content:space-between;
}

#page .page-cont .textImg-flex.reverse{
	flex-direction: row-reverse;
}

#page .page-cont .textImg-flex .text-area{
	width:calc((751 / 1260) * 100%);
}

#page .page-cont .textImg-flex .text-area p{
	font-size:16px;
	line-height:2.0;
	letter-spacing:0.05em;
}

#page .page-cont .textImg-flex .text-area p a{
	color:var(--main-color);
	text-decoration:underline;
}

#page .page-cont .textImg-flex .text-area p.annotation{
	font-size:12px!important;
}

#page .page-cont .textImg-flex .img-area{
	width:calc((468 / 1260) * 100%);
}

#page .page-cont .textImg-flex .img-area img{
	width:100%;
	max-width:calc((373 / 468) * 100%);
}

#page .page-cont .textImg-flex .img-area figure:nth-of-type(1) {
	text-align:end;
	overflow:hidden;
}

#page .page-cont .textImg-flex .img-area figure:nth-of-type(1) img{
	border-radius :30px 30px 30px 0;
}

#page .page-cont .textImg-flex .img-area figure:nth-of-type(2) {
	margin-top:-40px;
	overflow:hidden;
}

#page .page-cont .textImg-flex .img-area figure:nth-of-type(2) img{
    border-radius:30px 0 30px 30px;	
}

/*tb*/
@media screen and (max-width:1024px){
  #page .page-cont .textImg-flex{
	display:block;
   }
	
  #page .page-cont .textImg-flex .text-area{
	  width:100%;
  }
	
  #page .page-cont .textImg-flex .img-area{
	width:80%;
	margin-top:25px;
  }
	
  #page .page-cont .textImg-flex .img-area > *{
	display:flex;
	gap:20px;
  }
	
   #page .page-cont .textImg-flex .img-area figure{
	   width:calc(50% - 10px)!important;
   }

   #page .page-cont .textImg-flex .img-area figure img{
	   max-width:initial;
	   height:100%;
	   object-fit:cover;
	   border-radius:7.5px!important;
  }

  #page .page-cont .textImg-flex .img-area figure:nth-of-type(2) {
	margin-top:0;
   }
}

/*tb*/
@media screen and (max-width:599px){
  #page .page-cont .textImg-flex .img-area{
	  width:100%;
  }	
}

/*img-single*/
#page .page-cont .textImg-flex.img-single + .textImg-flex.img-single{
	margin-top:40px;
}

#page .page-cont .textImg-flex.img-single .text-area{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	width: calc((640 / 1260) * 100%);
}

#page .page-cont .textImg-flex.img-single .text-area .btn1{
	margin-top:20px;
}

#page .page-cont .textImg-flex.img-single .text-area h3{
    font-size: 22px;
    font-weight: 700;
    color: var(--main-color);
    margin-bottom: 20px;
}

#page .page-cont .textImg-flex.img-single.service .text-area h3{
	font-size: clamp(18px,1.15vw,22px);
}

#page .page-cont .textImg-flex.img-single .text-area p{
    font-size: 18px;
    line-height: 2.0;
    letter-spacing: 0.05em;	
}

#page .page-cont .textImg-flex.img-single.service .text-area p{
	font-size: clamp(14px,0.94vw,18px);
}

#page .page-cont .textImg-flex.img-single .text-area p.deco-text{
	position:absolute;
	z-index:-1;
	right:0;
	bottom:15px;
	font-family:'Barlow';
	font-weight:700;
	font-size:52px;
	letter-spacing:0.05em;
	line-height:1.0;
	color:var(--deco-color);
	opacity:0.75;
}

#page .page-cont .textImg-flex.img-single .text-area .btn1 a{
	transform: scale(0.8);
	transform-origin: top left;
}

#page .page-cont .textImg-flex.img-single .img-area {
    width: calc((540 / 1260) * 100%);
}

#page .page-cont .textImg-flex.img-single .img-area img{
	width:100%;
	max-width: initial;
}

#page .page-cont .textImg-flex.img-single .img-area figure:nth-of-type(1) {
	text-align:initial;
}

#page .page-cont .textImg-flex.img-single .img-area figure:nth-of-type(1) img{
	border: solid 1px var(--main-color);
}

/*tb*/
@media screen and (max-width:1024px) {
  #page .page-cont .textImg-flex.img-single .text-area {
     width: 100%;
  }
	
  #page .page-cont .textImg-flex.img-single .text-area p.deco-text{
	bottom:0;
  }
	
  #page .page-cont .textImg-flex.img-single .img-area {
     width: 100%;
  }
	
  #page .page-cont .textImg-flex.img-single .img-area > * {
    display: block;
   }
	
  #page .page-cont .textImg-flex.img-single .img-area figure {
    width: 100%!important;
    max-width: 600px;
    margin: auto;
  }
}

/*sp*/
@media screen and (max-width:599px) {
  #page .page-cont .textImg-flex.img-single .text-area h3{
    font-size: 18px;
    margin-bottom: 15px;
  }	
	
  #page .page-cont .textImg-flex.img-single .text-area p {
    font-size: 15px;
  }
}

/*画像とテキスト横並び ポイント*/
#page .page-cont .textImg-point{
    position: relative;
    padding-left: calc((100vw - 1260px) / 2);
    z-index: 1;
}

@media screen and (min-width:1920px) {
    #page .page-cont .textImg-point{
		max-width: 1590px;
        margin: auto;
        padding-left: 0;
    }
}


@media screen and (max-width:1300px) {
    #page .page-cont .textImg-point{
        padding-left: 3%;
    }
}


#page .page-cont .textImg-point::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 100VW;
    height: 40px;
    background-color: #fff;
    z-index: -1;
    transform: translateX(-50%);
}

#page .page-cont .textImg-point .text-area{
    width: calc((830 / 1550) * 100%);
	padding-bottom:62px;
}

@media screen and (max-width:1300px) {
    #page .page-cont .textImg-point .text-area{
        width: calc((850 / 1550) * 100%);
    }
}

#page .page-cont .textImg-point .text-area .hd-area{
	position:relative;
	font-size: clamp(18px,1.3vw,25px);
	font-weight:700;
	margin-bottom:15px;
}

#page .page-cont .textImg-point .text-area .hd-area h2{
	color:var(--main-color);
}

#page .page-cont .textImg-point .text-area .hd-area p {
    position: absolute;
    z-index: -1;
    top: -133%;
    left: 0;
    font-family: 'Barlow';
    font-size: 2.0em;
    white-space: nowrap;
    line-height: 1.0;
    letter-spacing: 0.05em;
    color: #beddb6;
    opacity: 0.41;
}

#page .page-cont .textImg-point .text-area p{
	font-size: clamp(14px,0.94vw,18px);
	line-height:2.0;
	letter-spacing:0.01em;
}

#page .page-cont .textImg-point .text-area ul{
	font-size: clamp(14px,0.94vw,18px);
	line-height:2.0;
	letter-spacing:0.01em;
}

#page .page-cont .textImg-point .img-area{
	position: absolute;
	right: 40px;
    bottom: 0;
    width: calc((680 / 1920) * 100%);
    height: fit-content;
}

#page .page-cont .textImg-point .img-area img{
	width:100%;
}

/*tb*/
@media screen and (max-width:1024px){
   #page .page-cont .textImg-point{
	   padding-bottom:40px;
  }
	
  #page .page-cont .textImg-point .text-area {
    width: 100%;
	padding-right:3%;
	padding-bottom: 20px;
  }	
	
#page .page-cont .textImg-point .img-area {
    position: static;
    width: 97%;
	margin-left:auto;
  }
	
   #page .page-cont .textImg-point::after { 
    content: none;
	}
	
  #page .page-cont .textImg-point .text-area .hd-area p {
    z-index: -1;
    top: -168%;
    white-space: initial;
  }
}

/*sp*/
@media screen and (max-width:600px){
  #page .page-cont .textImg-point .text-area .hd-area p {
    top: -180%;
    font-size: 1.25em;
  }	
}

/*特徴*/
#page .page-cont .feature-grid > *{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:40px calc((60 / 1260) * 100%);
	margin-top:30px;
}

#page .page-cont .feature-grid .feature-cont {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    position: relative;
    padding: 50px calc((25 / 600) * 100%) 70px;
    border-radius: 12px;
    background-color: var(--sub-color);
}

#page .page-cont .feature-grid .feature-cont > *{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;	
  gap: 0;
}

#page .page-cont .feature-grid .feature-cont h3{
	font-size:clamp(16px,1.04vw,20px);
	font-weight:700;
	color:#3fa643;
	letter-spacing:0.05em;
	line-height:2.0;
	text-align:center;
	margin-bottom:20px;
}

@media screen and (min-width:600px){
	#page .page-cont .feature-grid .feature-cont h3{
		font-size:20px;
	}
}

#page .page-cont .feature-grid .feature-cont p.text-box{
	font-size:16px;
	line-height:2.0;
	padding:calc((16 / 20) * 1.0em);
	margin-bottom:30px;
	border-radius:8px;
	background-color:#fff;
}

#page .page-cont .feature-grid .feature-cont ul.text-box{
   font-size:clamp(12px,0.83vw,16px);
   line-height:2.0;
   padding:calc((16 / 20) * 1.0em);
   margin-top:0;
   margin-bottom:30px;
   border-radius:8px;
   background-color:#fff;
}

@media screen and (min-width:600px){
  #page .page-cont .transfer-contents .feature-grid .feature-cont ul.text-box{
	font-size:16px;
  }
}

#page .page-cont .feature-grid .feature-cont .img-area{
   width: fit-content;
   margin:0 auto;
}

#page .page-cont .feature-grid .feature-cont .img-area img{
	aspect-ratio: 208 / 139;
    object-fit: cover;
	border-radius: 8px;
}

#page .page-cont .feature-grid .feature-cont .img-area p.img-text{
	font-size:clamp(10px,0.73vw,14px);
	font-weight:700;
	margin-top:calc((6.5 / 14) * 1.0em);
}

#page .page-cont .feature-grid .feature-cont .deco-text{
	position:absolute;
	bottom:calc((20 / 40) * 1.0em);
	right:calc((30 / 40) * 1.0em);
	line-height:1.0;
	font-family:'Barlow';
	font-weight:700;
	font-size:clamp(22px,2.08vw,40px);
	letter-spacing:0.08em;
	color:#beddb6;
	opacity:0.51;
}

#page .page-cont .feature-grid .feature-cont p.text-box a {
    display: flex;
    width: fit-content;
    align-items:center;
	gap:5px;
	color: var(--main-color);
    font-weight: 700;
    color: var(--main-color);
	margin-top:calc((4 / 16) * 1.0em);
	margin-left:auto;
	transition:0.3s ease-in-out;
}

#page .page-cont .feature-grid .feature-cont p.text-box a::after{
	content:"";
	display:inline-block;
	width:calc((5.5 / 16) * 1.0em);
	height:calc((11 / 16) * 1.0em);
	background-color:var(--main-color);
	clip-path: polygon(0 0,100% 50%, 0 100%);
}

@media (any-hover:hover){
	#page .page-cont .feature-grid .feature-cont p.text-box a:hover{
		opacity:0.75;
	}
}

#page .page-cont .feature-grid .feature-cont .img-area.track{
	width: 100%;
}

#page .page-cont .feature-grid .feature-cont .img-area.track form {
    position: relative;
    max-width: 100%;
    width: 100%;
}

#page .page-cont .feature-grid .feature-cont .img-area.track span {
    font-size: 20px;
}

#page .page-cont .feature-grid .feature-cont .img-area.track form input {
    height: 50px;
    font-size: 20px;
}

#page .page-cont .feature-grid .feature-cont .img-area.track form button i {
    font-size: 17px;
    color: #555;
}

/*tb*/
@media screen and (max-width:1024px){
	#page .page-cont .feature-grid .feature-cont{
		padding: 30px calc((25 / 600) * 100%) 55px;
		border-radius: 8px;
	}
	
	#page .page-cont .feature-grid .feature-cont .deco-text {
      font-size: 29px;
  }
}

/*sp*/
@media screen and (max-width:599px){
	#page .page-cont .feature-grid > *{
	  grid-template-columns: repeat(1,1fr);
	  gap:20px;
    }
	
  #page .page-cont .feature-grid .feature-cont .img-area.track span {
    font-size: 12px;
  }
	
  #page .page-cont .feature-grid .feature-cont .img-area.track form input {
    height: 30px;
    font-size: 16px;
  }
	 
  #page .page-cont .feature-grid .feature-cont .img-area.track form button i {
	  font-size: 16px;
    }
}

/*お客様の声*/
#page .voice-sec .contents-area > *{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:50px calc((40 / 1260) * 100%);
}

#page .voice-sec .contents-area > * .voice-cont > *{
	display:flex;
	align-items:center;
	justify-content:space-between;
}

#page .voice-sec .contents-area > * .voice-cont > * figure{
	width:calc((170 / 610) * 100%);
}

#page .voice-sec .contents-area > * .voice-cont > * .text-area{
	width:calc((415 / 610) * 100%);
}

#page .voice-sec .contents-area > * .voice-cont > * .text-area h3{
	position:relative;
	font-size:clamp(14px,0.83vw,16px);
	font-weight:700;
	letter-spacing:0.03em;
	color:#3fa643;
	margin-bottom:calc((24.5 / 16) * 1.0em);
}

#page .voice-sec .contents-area > * .voice-cont > * .text-area h3::after{
	content:"";
	position:absolute;
	bottom:calc((13 / 16) * -1.0em);
	left:0;
	width:calc((45 / 16) * 1.0em);
	height:calc((3 / 16) * 1.0em);
	border-radius:5px;
	background-color:#fdd947;
}

#page .voice-sec .contents-area > * .voice-cont > * .text-area p.name{
	font-size:clamp(12px,0.73vw,14px);
	font-weight:700;
	color:#555;
	letter-spacing:0.03em;
	margin-bottom:calc((6.5 / 14) * 1.0em);
}

#page .voice-sec .contents-area > * .voice-cont > * .text-area p{
	font-size:clamp(14px,0.83vw,16px);
}

/*tb*/
@media screen and (max-width:1024px){
  #page .voice-sec .contents-area > *{
	gap:20px;
  }
	
   #page .voice-sec .contents-area > * .voice-cont{
	   padding:20px 10px;
	   border-radius:4.5px;
	   border:solid 1px var(--main-color);
   }
	
  #page .voice-sec .contents-area > * .voice-cont > *{
	 display: block;
  }	
	
   #page .voice-sec .contents-area > * .voice-cont > * figure {
     width: auto;
     text-align: center;
	   margin-bottom:25px;
  }
	

  #page .voice-sec .contents-area > * .voice-cont > * .text-area{
	width:100%;
  }
	
  #page .voice-sec .contents-area > * .voice-cont > * .text-area h3{
	 text-align:center;
  }
	
   #page .voice-sec .contents-area > * .voice-cont > * .text-area h3::after{
	  transform:translateX(-50%);
	  left:50%;
  }
	
	#page .voice-sec .contents-area > * .voice-cont > * .text-area p.name{
		text-align:center;
	}
}

/*sp*/
@media screen and (max-width:599px){
  #page .voice-sec .contents-area > *{
	grid-template-columns:repeat(1,1fr);
  }
	
   #page .voice-sec .contents-area > * .voice-cont{
	   padding:25px 10px;
   }
}

/*流れ*/
#page .flow-sec .flow-img {
    border: solid 2px var(--main-color);
    margin: 0 0 30px;
    padding: 50px;
    border-radius: 8px;
    width: fit-content;
}

#page .flow-sec .flow-img figure{
	max-width: 800px;
	border-radius: 8px;
}

#page .flow-sec .flow-img img{
	border-radius: 8px;
}

#page .flow-sec .flow-cont .flowCont-hd{
	font-size:clamp(16px,1.04vw,20px);
	font-weight:700;
	letter-spacing:0.03em;
	margin-bottom:30px;
	padding:calc((8 / 20) * 1.0em) 8px;
	border-left:6px solid #3fa643;
	background-color:#e9ffea;
}

#page .flow-sec .flow-cont .flowCont-hd > *{
    display:flex;
    align-items:center;
	gap:8px;
}

#page .flow-sec .flow-cont .flowCont-hd p{
	color:#3fa643;
}
#page .flow-sec .flow-cont .img-text{
	padding:0 calc((20 / 1260) * 100%);
}

#page .flow-sec .flow-cont .img-text > *{
	display:flex;
	justify-content:space-between;
}

#page .flow-sec .flow-cont .img-text figure{
	width:calc((366 / 1260) * 100%);
}

#page .flow-sec .flow-cont .img-text p{
	width:calc((865 / 1260) * 100%);
	font-size: clamp(14px,0.94vw,18px);
	letter-spacing:0.05em;
}

#page .flow-sec .flow-cont .img-text p a{
	color:var(--main-color);
	text-decoration:underline;
	transition:ease-in-out 0.3s;
}

#page .flow-sec .flow-cont .img-text p a:hover{
	opacity:0.75;
}

#page .flow-sec .flow-cont + .flow-cont{
	margin-top:45px;
}

/*tb*/
@media screen and (max-width:899px){
  #page .flow-sec .flow-cont .img-text > *{
	display:block;
  }
	
  #page .flow-sec .flow-cont .img-text figure{
	 width:100%;
	 max-width:366px;
	 margin:auto;
	  text-align: center;
   }
	
  #page .flow-sec .flow-cont .img-text p{
	  width:100%;
	  font-size:14px;
	  margin-top:20px;
  }
}

/*sp*/
@media screen and (max-width:599px){
	#page .flow-sec .flow-img {
		padding: 15px;
	}
}

/*流れ 画像なし*/
#page .flow-sec.noimg .flow-cont .flowCont-hd{
	position:relative;
	padding: calc((20 / 20) * 1.0em) 8px!important;
}

#page .flow-sec.noimg .flow-cont:not(:last-of-type) .flowCont-hd::after {
    content: "";
    position: absolute;
    transform: translatex(-50%);
    bottom: -32px;
    left: 50%;
    width: 30px;
    height: 16px;
    background-color: var(--main-color);
    clip-path: polygon(0 0 , 100% 0 , 50% 100%);
}

/*よくあるご質問*/
#page .faq-sec .faq-cont + .faq-cont{
	margin-top:20px;
}

#page .faq-sec .faq-cont .question {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    padding: 15px 60px 15px 15px;
    background-color: #3fa643;
	cursor:pointer;
}

#page .faq-sec .faq-cont .question span{
	display:block;
	min-width:fit-content;
	font-size:calc((20 / 16) * 1.0em);
	line-height:1.0;
}

#page .faq-sec .faq-cont .question .question-btn{
	position:absolute;
	transform:translateY(-50%);
	top:50%;
	right:30px;
	font-size:14px;
	cursor:pointer;	
}

#page .faq-sec .faq-cont .answer {
    position: relative;
    display: none;
}

#page .faq-sec .faq-cont .answer {
	border:solid 1px var(--main-color);
}

#page .faq-sec.has-bg .faq-cont .answer {
	border:0;
}

#page .faq-sec .faq-cont .answer .wrapper {
	display: flex;
	align-items: baseline;
    gap: 4px;
    font-size: 16px;
    font-weight: 700;
	line-height:calc(28 /16);
    padding: 15px;
    background:#fff;
}

#page .faq-sec .faq-cont .answer .wrapper.has-btn {
	flex-wrap:wrap;
	gap:15px;
	padding-top:0;
}

#page .faq-sec .faq-cont .answer .wrapper.has-btn .btn1 a{
	color:#fff;
}

@media (any-hover:hover){
	#page .faq-sec .faq-cont .answer .wrapper.has-btn .btn1 a:hover{
		color: var(--main-color);
	}
}

#page .faq-sec .faq-cont .answer span{
	display:block;
	min-width:fit-content;
	font-size:calc((20 / 16) * 1.0em);
	color:#3fa643;
	line-height:1.0;
}

#page .faq-sec .faq-cont .answer a{
	color:var(--main-color);
	transition:0.3s ease-in-out;
}

#page .faq-sec .faq-cont .answer a:hover{
	opacity:0.75;
}

/*tb*/
@media screen and (max-width:900px){
  #page .faq-sec .faq-cont .question {
    font-size: 14px;
    padding: 15px 30px 15px 15px;
  }	
	
  #page .faq-sec .faq-cont .question .question-btn {
    right: 14px;
  }
	
  #page .faq-sec .faq-cont .answer .wrapper {
    font-size: 14px;
  }
}

/*固定ページのコラム*/
#page .page-cont .colum-list{
	margin-top: 0;
}

#page .page-cont .colum-list li{
	padding-left: 0;
}

#page .page-cont .colum-list li::before{
	content:none;
}

#page .page-cont .colum-list li :is(ul,ol){
	padding-left: 0;
}

#page .page-cont .colum-list li :is(ul,ol) li{
	list-style-type: none;
}

/*アンカーリンク用のメニュー*/
#page .page-cont .side-menu{
	position:fixed;
	z-index:9990;
	right:0;
	top:90px;
	transition:0.3s;
}

#page .page-cont .side-menu .btn{
	position:absolute;
	top:0;
	left:-36px;
	cursor:pointer;
}

#page .page-cont .side-menu .btn .triangle{
	position:relative;
	display:block;
	width:36px;
	height:36px;
	background-color:#579e46;
	border-radius:5px 0 0 5px;
}

#page .page-cont .side-menu .btn .triangle::after{
	content:"";
	position:absolute;
	transform:translate(-50%,-50%);
	left:50%;
	top:50%;
	height:calc((16 / 36) * 100%);
	width:calc((10 / 36) * 100%);
	clip-path:polygon(0 50%,100% 0,100% 100%);
	background-color:#fff;
}

#page .page-cont .side-menu .btn.active .triangle::after{
	clip-path:polygon(0 0,100% 50%,0 100%);
}

#page .page-cont .side-menu .btn span:is(.open,.close){
	position:absolute;
	display:block;
	width:100%;
	font-size:12px;
	color:#579e46;
	letter-spacing:0.05em;
	line-height:1.0;
	text-align:center;
}

#page .page-cont .side-menu .btn span.close{
	display:none
}

#page .page-cont .side-menu .btn.active span.close{
	display:block;
}

#page .page-cont .side-menu .btn.active span.open{
	display:none
}

#page .page-cont .side-menu .menu-cont {
	display: none;
    padding: 30px 15px;
    border: #579e46 1px solid;
    border-right: 0;
    border-bottom-left-radius: 15px;
    background-color: #fff;
    max-height: calc(90vh  - 75px);
    overflow: auto;
}

#page .page-cont .side-menu .menu-cont.active{
	display:block;
}

#page .page-cont .side-menu .menu-cont ul{
	margin-top:0;
}

#page .page-cont .side-menu li{
	font-size:clamp(14px,00.83vw,16px);
	font-weight:700;
	padding-left: 0;
}

#page .page-cont .side-menu li::before{
	content:none;
}

#page .page-cont .side-menu .menu-cont > ul > li > a{
	display:block;
	color:#579e46;
	padding:calc((5.5 / 16) * 1.0em) 5px;
}

#page .page-cont .side-menu .menu-cont > ul > li + li{
	
}

#page .page-cont .side-menu li ul{
	padding-left:0.5em;
}

#page .page-cont .side-menu li ul li {
	position:relative;
    font-size: calc((14 / 16) * 1.0em);
    list-style-type: none;
    padding: calc((6.5 / 14) * 1.0em) 10px;
    border-top: 2px #f1f1f1 dotted;
}

#page .page-cont .side-menu li ul li::after{
	content:"-";
	position:absolute;
	top: calc((5 / 16) * 1.0em);
	left:0;
	color:#8dcc7e;
}

#page .page-cont .side-menu li ul li:last-of-type{
	border-bottom: 2px #f1f1f1 dotted;
}

#page .page-cont .side-menu li ul li a{
	position:relative;
	color:#8dcc7e;
}

/*tb*/
@media screen and (max-width:899px){
	#page .page-cont .side-menu{
		top:80px;
		right:0;
	}
	
	#page .page-cont .side-menu .menu-cont{
		max-height: calc(90vh  - 130px);
	}
}

/*リード文(枠線)*/
#page .page-cont .about-readtext{
	font-size:16px;
	font-weight:700;
	line-height:2.0;
	letter-spacing:0.05em;
	margin-top:0;
	padding:15px;
	border:solid 1px var(--main-color);
	border-radius:8px;
}

/*地図とテキスト*/
#page .page-cont  .map-text {
    display: flex;
    align-items: center;
    gap: 25px;
}

#page .page-cont .map-text .about-readtext{
	width: calc((100% - ((512 / 1260) * 100%)) - 25px);
}

#page .page-cont  .map-text .about-readtext li{
	display:flex;
	color:var(--main-color);
}

#page .page-cont  .map-text .about-readtext li strong{
	min-width:fit-content;
}

#page .page-cont .map-text figure{
    width: calc((512 / 1260) * 100%);
}

/*tb*/
@media screen and (max-width:899px){
  #page .page-cont  .map-text {
	 flex-wrap:wrap; 
     gap: 25px;
  }	

  #page .page-cont .map-text .about-readtext{
	width: 100%;
  }
	
	#page .page-cont .map-text figure{
        width: 100%;
		max-width:512px;
		margin:auto;
    }
}

/*リスク対策*/
#page .page-cont .countermeasure-contarea{
	margin-top:30px;
}

#page .page-cont .countermeasure-contarea > *{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px 3%;
}

#page .page-cont .countermeasure-contarea .countermeasure-cont{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap:0;
}

#page .page-cont .countermeasure-contarea .countermeasure-cont > *{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap:0;
}

#page .page-cont .countermeasure-contarea .countermeasure-cont:last-of-type{
	grid-column: 1 / 3;
}

#page .page-cont .countermeasure-contarea .countermeasure-cont h3{
	font-size:18px;
	font-weight:700;
	color:var(--main-color);
}

#page .page-cont .countermeasure-contarea .countermeasure-cont ul {
    padding: 20px 18px;
	border-radius:8px;
    background-color: var(--sub-color);
}

#page .page-cont .countermeasure-contarea .countermeasure-cont ul li {
    font-weight: 700;
    letter-spacing: 0.03em;
    padding-left: calc(1.0em + 8px);
}

#page .page-cont .countermeasure-contarea .countermeasure-cont ul li::before {
    position: absolute;
    top: 3px;
    left: 0;
    content: '\f058';
    font: var(--fa-font-solid);
    font-size: 18px;
    color: var(--main-color);
}

#page .page-cont .countermeasure-contarea .countermeasure-cont ul li + li {
    margin-top: 9px;
}

/*sp*/
@media screen and (max-width:599px){
  #page .page-cont .countermeasure-contarea > *{
	display:block;
  }	
	
	#page .page-cont .countermeasure-contarea .countermeasure-cont + .countermeasure-cont{
		margin-top:20px;
	}
	
  #page .page-cont .countermeasure-contarea .countermeasure-cont h3{
	font-size:16px;
  }
}

/*セクションのヘッダー*/
#page .page-cont .storageService-sec .sec-header{
	position:relative;
	background-color:var(--sub-color);
	z-index:1;
}

#page .page-cont .storageService-sec .sec-header::before{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:20%;
	background:#fff;
}

#page .page-cont .storageService-sec .sec-header .secHeader-cont{
	display:flex;
	gap:35px;
}

#page .page-cont .storageService-sec .sec-header .secHeader-cont figure{
	width:calc(45% - 20px);
}

#page .page-cont .storageService-sec .sec-header .secHeader-cont p {
    width: calc(55% - 15px);
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 2.0;
    margin-top: 20px;
    padding-bottom: 25px;
}

/*tb*/
@media screen and (max-width:899px){
   #page .page-cont .storageService-sec .sec-header .secHeader-cont {
      flex-direction: column-reverse;
      flex-wrap: wrap;
	   gap:20px;
   }
	
	#page .page-cont .storageService-sec .sec-header .secHeader-cont figure {
      width: 100%;
      text-align: center;
    }
	
	#page .page-cont .storageService-sec .sec-header .secHeader-cont p {
	  width:100%;
      font-size: 16px;
      margin-top: 0;
      padding-bottom: 0;
    }	
}

/*比較*/
#page .page-cont .comparison-area{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2%;
}

#page .page-cont .comparison-area .comparison{
	padding:25px 15px;
	border-radius:8px;
}

#page .page-cont .comparison-area .comparison-1{
	background-color:#f6f6f6;
}

#page .page-cont .comparison-area .comparison-2{
	background-color:var(--sub-color);
}

#page .page-cont .comparison-area .comparison .point-cont{
	padding:20px 15px;
	border-radius:5px;
	background-color:#fff;
}

#page .page-cont .comparison-area .comparison .point-cont p{
	font-size:20px;
	font-weight:700;
	letter-spacing:0.05em;
	color:var(--main-color);
}

#page .page-cont .comparison-area .comparison .point-cont ul{
	margin-top:0;
}

#page .page-cont .comparison-area .comparison .point-cont ul li{
	font-size:17px;
	font-weight:700;
	letter-spacing:0.05em;
}

#page .page-cont .comparison-area .comparison .point-cont ul li + li{
	margin-top:8px;
}

#page .page-cont .comparison-area .comparison-1 .point-cont ul li:not(:nth-of-type(n+3):nth-of-type(-n+4))::before {
	content: "△";
}

#page .page-cont .comparison-area .comparison-2 .point-cont ul li{
	padding-left:calc(1.0em + 10px);
}

#page .page-cont .comparison-area .comparison-2 .point-cont ul li::before {
    position: absolute;
    top: 4px;
    left: 0;
    content: '\f058';
    font: var(--fa-font-solid);
    font-size: 20px;
    color: var(--main-color);
}

#page .page-cont .comparison-area figure{
	text-align:center;
}

#page .page-cont .comparison-area h3{
	font-size:18px;
	font-weight:700;
	text-align:center;
	margin-top:30px;
	margin-bottom:8px;
}

#page .page-cont .comparison-area .comparison-2 h3{
	color:var(--main-color);
}

#page .page-cont .comparison-area p{
	text-align:center;
}

#page .page-cont .comparison-area ul{
	margin-top:15px;
    padding: 20px 15px;
    border-radius: 5px;
    background-color: #fff;
}

#page .page-cont .comparison-area ul li{
	font-size:16px;
	font-weight:700;
}

#page .page-cont .comparison-area .comparison-2 ul li{
	color:var(--main-color);
}

#page .page-cont .comparison-area ul li + li{
	margin-top:8px;
}

#page .page-cont .comparison-area .comparison{
	display: grid;
	grid-template-rows:subgrid;
	grid-row: span 5;
	gap:0;
}

#page .page-cont .comparison-area .comparison > *{
	display: grid;
	grid-template-rows:subgrid;
	grid-row: span 5;
	gap:0;
}

#page .page-cont .comparison-table{
	margin-top:35px;
}

#page .page-cont .comparison-table table tr td{
	font-size:clamp(14px,0.94vw,18px);
	letter-spacing:0.05em;
	padding:15px 13px;
	background:#fff;
}

#page .page-cont .comparison-table table tr:first-of-type td{
	font-weight:700;
	background-color:#f6f6f6;
}

#page .page-cont .comparison-table table tr td:not(:first-of-type) {
	text-align:center;
}

#page .page-cont .comparison-table table tr td:first-of-type{
	font-weight:700;
}

#page .page-cont .comparison-table table tr:first-of-type td:last-of-type{
	color:var(--main-color);
	background-color:var(--sub-color);
}

#page .page-cont .comparison-table table tr td:last-of-type{
	font-weight:700;
	color:var(--main-color);
}

#page .page-cont .comparison-table table tr td:last-of-type{
	width: 50%;
}

/*tb*/
@media screen and (max-width:899px){
  #page .page-cont .comparison-area{
	grid-template-columns:repeat(1,1fr);
	gap:25px;
  }
	
   #page .page-cont .comparison-table table{
	   width:150%;
   }
	
	#page .page-cont .comparison-table table tr td:first-of-type{
		position:sticky;
		left:0;
		border-left:0;
		border-right:0;
	}
	
	#page .page-cont .comparison-table table tr td:first-of-type::after{
		content:"";
		position:absolute;
		top:0;
		left:0;
		width:calc(100% - 1px);
		height:100%;
		border:1px solid #555;
		border-top:0;
		border-bottom:0;
	}
	
	#page .page-cont .comparison-table table tr td:nth-of-type(2){
		border-left:0;
	}	
	
	
	#page .page-cont .comparison-table table tr td{
		width:calc(62 / 3);
		font-size:12px;
		padding:8px;
	}

   #page .page-cont .comparison-table table tr td:last-of-type{
	 width: 38%;
   }
}

/*料金共通*/
#page .page-cont .price-sec .about-readtext {
    font-size: 16px;
    font-weight: 700;
    line-height: 2.0;
    letter-spacing: 0.05em;
    margin-top: 0;
    padding: 15px;
	background-color:#fff;
    border: solid 1px var(--main-color);
    border-radius: 8px;
}

#page .page-cont .price-sec .img-text > *{
	display:flex;
	justify-content:space-between;
}

#page .page-cont .price-sec .img-text p{
	width:calc((660 / 1260) * 100%);
	font-size:clamp(14px,0.94vw,18px);
	font-weight:700;
	line-height:2.0;
	letter-spacing:0.05em;
}

#page .page-cont .price-sec .img-text figure{
	width:calc((580 / 1260) * 100%);
}

#page .page-cont .price-sec .img-text figure img{
	border-radius: 0 20px 0 20px;    
}

/*tb*/
@media screen and (max-width:899px){
	#page .page-cont .price-sec .img-text > *{
		flex-wrap:wrap;
	}
	
	#page .page-cont .price-sec .img-text p{
		width:100%;
	}
	
	#page .page-cont .price-sec .img-text figure{
		width:100%;
		margin-top:25px;
	}
}

#page .page-cont .price-sec .price-common {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 100px;
    width: 100%;
	padding: 20px 20px 20px;
    margin: auto;
    margin-top: 30px;
    border: 2px solid var(--main-color);
    border-radius: 8px;
}

#page .page-cont .price-sec .price-common .point-note{
	font-size:12px;
}

#page .page-cont .price-sec .price-common::before,
#page .page-cont .price-sec .price-common::after{
	content:"";
	position:absolute;
	transform:translate(-50%,-50%);
	left:50%;
	top: calc(50% - 8.5px);
	border-radius:10px;
	background-color:#8f8f8f;
}

#page .page-cont .price-sec .price-common::before{
	width:40px;
	height:5px;
}

#page .page-cont .price-sec .price-common::after{
	width:5px;
	height:40px;
}

#page .page-cont .price-sec .price-common .wrapper{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:10px;
	width:100%;
}

#page .page-cont .price-sec .price-hd{
	display:flex;
	align-items:center;
	font-size:28px;
	font-weight:700;
	color:#fff;
	padding:0.4em 0.65em;
	border-radius:4px;
	background-color:var(--main-color);
}

#page .page-cont .price-sec .price{
	font-size:32px;
	font-weight:700;	
	padding:0.4em 0.65em;
	border:var(--main-color) solid 2px;
	border-radius:4px;
	background-color:#fff;
}

#page .page-cont .price-sec .price span {
    position: relative;
    bottom: 3px;
    display: inline-block;
    margin-left: 5px;
    font-size: 0.55em;
	opacity:0.75;
}

#page .page-cont .price-sec .price-plan{
	position:relative;
	padding-top:100px;
}

#page .page-cont .price-sec .price-plan::before, 
#page .page-cont .price-sec .price-plan::after {
    content: "";
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    border-radius: 10px;
    background-color: #8f8f8f;
}

#page .page-cont .price-sec .price-plan::before{
	top: 47.5px;
	width:40px;
	height:5px;
}

#page .page-cont .price-sec .price-plan::after{
	top:30px;
	width:5px;
	height:40px;
}

#page .page-cont .price-sec .price-plan .point-note {
	font-size: clamp(14px,0.94vw,18px);
	margin:0 auto 15px;
}

/*tb*/
@media screen and (max-width:1024px){
	#page .page-cont .price-sec .price-common::after {
      width: 4px;
      height: 35px;
    }
	
    #page .page-cont .price-sec .price-common::before {
      width: 35px;
      height: 4px;
    }
	
	#page .page-cont .price-sec .price-hd{
		font-size: 24px;
	}
	
   #page .page-cont .price-sec .price {
    font-size: 28px;
  }
	
  #page .page-cont .price-sec .price-common{
	  grid-template-columns: repeat(1,1fr);
	  gap: 55px;
	  padding: 30px 20px;
  }
	
	#page .page-cont .price-sec .price-common::before, #page .page-cont .price-sec .price-common::after{
		top: calc(50% + 5px);
	}
	
	#page .page-cont .price-sec .price-plan::before, 
	#page .page-cont .price-sec .price-plan::after {
		left: 50%;
	}
	
	#page .page-cont .price-sec .price-plan::before{
		top: 45px;
		width:35px;
		height:4px;
	}

	#page .page-cont .price-sec .price-plan::after{
		top:30px;
		width:4px;
		height:35px;
	}
}

/*sp*/
@media screen and (max-width:599px){
   #page .page-cont .price-sec .price-hd {
    font-size: 20px;
   }
	
  #page .page-cont .price-sec .price {
    font-size: 24px;
   }
}

/*料金1*/
#page .page-cont .price-sec.price-1{
	background-color:#FFE7E4;
}

#page .page-cont .price-sec.price-1 .under-hd1 p{
	color:#ff9888!important;
}

#page .page-cont .price-sec.price-1 .under-hd1 h2{
	color:#ff9888;
}

#page .page-cont .price-sec.price-1 .under-hd1 h2::after{
	background-color:#ff9888;
}

#page .page-cont .price-sec.price-1 .about-readtext {
	border: solid 1px #ff9888;
}

#page .page-cont .price-sec.price-1 .price-hd{
	background-color:#ff9888;
}

#page .page-cont .price-sec.price-1 .price-common {
	border-color:#ff9888;
}

#page .page-cont .price-sec.price-1 .price{
	color:#ff9888;
	border:#ff9888 solid 2px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper{
	position:relative;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	align-items:center;
	gap:80px;
	width:100%;
	margin:auto;
	margin-top:30px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .deco-text{
	position:absolute;
	transform:translate(-50%,-50%);
	top:50%;
	left:50%;
	font-family:'Barlow';
	font-weight:700;
	font-size:32px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .wrapper{
	display:grid;
	grid-template-columns:auto 1fr;
	gap:10px;
	width:100%;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month {
    border: #ff9888 solid 2px;
    border-radius: 8px;
    background: #fff;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month p{
	font-weight:700;
	font-size:32px;
	letter-spacing:0.05em;
	text-align:center;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month .month-hd {
    font-weight: 700;
    background-color: #ff9888;
    color: #fff;
	padding:10px 5px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month p.month-price {
	margin: 20px 10px 0;
	color: #ff9888;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month p.month-price span {
    position: relative;
    bottom: 3px;
    display: inline-block;
    margin-left: 5px;
    font-size: 0.55em;
    opacity: 0.75;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month ul {
    width: fit-content;
    margin: auto;
	padding-bottom:45px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .month ul li {
    position: relative;
    padding-left: 1.0em;
    font-size: 16px;
	margin-top:5px;
}

#page .page-cont .price-sec.price-1 .price_plan-wrapper .wrapper + .wrapper{
	margin-top:15px;
}

/*料金2*/
#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper {
	display:grid;	
	grid-template-columns:repeat(3,1fr);
	gap:3%;
	width:80%;
	margin:30px auto 0;
}

#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper + .price_plan-wrapper{
	margin-top:15px;
}

#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper .price-hd{
	justify-content:center;
}

#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper .price-hd span {
    position: relative;
    bottom: -6px;
    display: inline-block;
    margin-left: 5px;
    font-size: 0.55em;
}

#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper .price{
	text-align:center;
	font-size:28px;
}

/*料金3*/
#page .page-cont .price-sec.price-3{
	background-color:#e1ebff;
}

#page .page-cont .price-sec.price-3 .under-hd1 p{
	color:#4b85f0!important;
}

#page .page-cont .price-sec.price-3 .under-hd1 h2{
	color:#4b85f0;
}

#page .page-cont .price-sec.price-3 .under-hd1 h2::after{
	background-color:#4b85f0;
}

#page .page-cont .price-sec.price-3 .price-common{
	border: 2px solid #4b85f0;
}
#page .page-cont .price-sec.price-3 .price-hd{
	background-color: #4b85f0;
}

#page .page-cont .price-sec.price-3 .price{
	border: 2px solid #4b85f0;
}

#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper {
	display:grid;	
	grid-template-columns:repeat(2,1fr);
	gap:3%;
	width:60%;
	margin:30px auto 0;
}

#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper + .price_plan-wrapper{
	margin-top:15px;
}

#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper .price-hd{
	justify-content:center;
}

#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper .price-hd span {
    position: relative;
    bottom: -6px;
    display: inline-block;
    margin-left: 5px;
    font-size: 0.55em;
}

#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper .price{
	text-align:center;
	font-size:28px;
}

/*tb*/
@media screen and (max-width:1024px){
	#page .page-cont .price-sec.price-1 .price_plan-wrapper {
		grid-template-columns: repeat(1,1fr);
		gap:10px;
		margin-top:15px;
	}
	
	#page .page-cont .price-sec.price-1 .price_plan-wrapper .month .month-hd{
		font-size: 28px;
	}
	
    #page .page-cont .price-sec.price-1 .price_plan-wrapper .month p {
		font-size: 28px;
   }
	
	#page .page-cont .price-sec.price-1 .price_plan-wrapper .deco-text {
		position: static;
		transform: translate(0);
		font-size: 32px;
		text-align: center;
		line-height: 1.0;
		margin-top: -5px;
	}
	
	#page .page-cont .price-sec.price-1 .price_plan-wrapper .month .month-hd {
		font-size: 24px;
		padding: 10px 5px;
    }
	
	#page .page-cont .price-sec.price-1 .price_plan-wrapper .month p.month-price {
		margin: 11px 10px 0;
		font-size: 24px;
	}
	
	#page .page-cont .price-sec.price-1 .price_plan-wrapper .month ul {
		padding-bottom: 25px;
	}
	
	#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper {
		width:85%;
    }
}

/*sp*/
@media screen and (max-width:599px){
	#page .page-cont .price-sec .price-plan {
		padding-top: 60px;
	}
	
	#page .page-cont .price-sec .price-plan::before {
		top: 28px;
	}
	
	#page .page-cont .price-sec .price-plan::after {
		top: 13px;
	}
	
	#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper {
		width:100%;
		margin:15px auto 0;
    }
	
	#page .page-cont .price-sec.price-2 .price_plan-cont .price_plan-wrapper .price{
		font-size:20px;
	}
	
	#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper {
		width:100%;
		margin:15px auto 0;
    }
	
	#page .page-cont .price-sec.price-3 .price_plan-cont .price_plan-wrapper .price{
		font-size:20px;
	}
	
}

/*デバイスについて*/
#page .page-cont .device_about-sec .img-text > *{
	display:flex;
	justify-content:space-between;
}

#page .page-cont .device_about-sec .img-text p{
	width:calc((660 / 1260) * 100%);
	font-size:clamp(14px,0.94vw,18px);
	font-weight:700;
	line-height:2.0;
	letter-spacing:0.05em;
}

#page .page-cont .device_about-sec .img-text figure{
	width:calc((580 / 1260) * 100%);
}

#page .page-cont .device_about-sec .img-text figure img{
	border-radius: 0 20px 0 20px;
    border: solid 2px var(--main-color);
}

/*tb*/
@media screen and (max-width:899px){
	#page .page-cont .device_about-sec .img-text > *{
		flex-wrap:wrap;
	}
	
	#page .page-cont .device_about-sec .img-text p{
		width:100%;
	}
	
	#page .page-cont .device_about-sec .img-text figure{
		width:100%;
		margin-top:25px;
	}
}
/*=====================================
*
*archive
*
=======================================*/
#archive .contents >  .hd-area{
	position:relative;
	overflow:hidden;
	z-index:1;
}

@media screen and (min-width:1920px){
	#archive .contents >  .hd-area{
		max-width:1920px;
		margin:auto;
	}
}

#archive .hd-area h1 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.03em;
    padding-top: calc((136 / 32) * 1.0em);
    padding-bottom: calc((136 / 32) * 1.0em);
	text-shadow: 0px 0px 4px rgba(255, 255, 255, 1.0);
}

#archive .hd-area img {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100%;
    object-fit: cover;
	z-index:-1;
}

@media screen and (max-width:899px){
   #archive .contents >  .hd-area::after {
      content: "";
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255,255,255,0.6);
  }
	
   #archive .hd-area h1{
	   z-index:2;
	   font-size: 21px;
	   color:#333;
	   padding-top: calc((45 / 21) * 1.0em);
       padding-bottom: calc((45 / 21) * 1.0em);
	}
	
   #archive .hd-area img {
      width: 100%;
      -ms-filter: blur(6px);
      filter: blur(3px);
  }
}

#archive .archive-cont{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top:50px;
}

#archive .looplist{
	width:calc((100% - (312/ 1260) * 100%) - 45px);
	margin-bottom:100px;
}

#archive .looplist > h2{
	font-size:18px;
	font-weight:700;
	letter-spacing:0.05em;
	margin-bottom:5px;
	color:var(--main-color);
}

#archive .looplist .tag-list ul{
	display:flex;
	flex-wrap:wrap;
	gap:15px;
	margin-bottom:30px;
	padding:18px 15px;
	border:solid 1px var(--main-color);
	border-radius:3px;
	background-color:var(--sub-color);
}

#archive .looplist .tag-list ul{
	display:flex;
	flex-wrap:wrap;
}

#archive .looplist .tag-list ul li img{
	border:solid 1px var(--main-color);
}

#archive .looplist .tag-list ul li a{
	font-size:14px;
	color:var(--main-color);
	letter-spacing:0.05em;
	transition:0.3s ease-in-out;
}

#archive .looplist .tag-list ul li a:hover{
	opacity:0.75;
}

#archive .looplist > ol{
	display:flex;
	gap:25px;
	flex-wrap:wrap;
}

#archive .looplist > ol li{
	width: fit-content;
}

#archive .looplist > ol li img{
	border-radius:3px;
}

#archive .looplist > ol > li > a{
	display:flex;
	gap:20px;
}

#archive .looplist > ol li .text h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	font-size:clamp(16px,1.04vw,20px);
	font-weight:700;
    overflow: hidden;
	color:#555;
	margin-bottom:10px;
	padding: 0 0.25em 0.25em;
	border-bottom:2px var(--main-color) solid;
}

#archive .looplist > ol li .text p{
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
	font-size:15px;
	letter-spacing:0.05em;
	color:#555;
}

#archive .looplist > ol li .text time{
	display:flex;
	align-items:center;
	gap:3px;
	font-size:14px;
	color:#555;
	margin:10px auto 5px;
}

#archive .looplist > ol li .text time i{
	font-size:14px;
	margin-top: 1px;
}

#archive .looplist > ol li .image{
	width:32%;
}

#archive .looplist > ol li img.noimg{
	border:1px solid var(--main-color);
}

#archive .looplist > ol li .text{
	width:calc(68% - 20px);
}

#archive .looplist > ol li .text .taglist {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

#archive .looplist > ol li .text .taglist li a {
    font-size: 14px;
    font-weight: 700;
    color: var(--main-color);
}

#archive .pagination {
	margin:45px auto 0;
}

#archive .pagination ul{
	display:flex;
	flex-wrap: wrap;
	justify-content:center;
	align-items:center;
	gap:25px;
}

#archive .pagination ul li{
	font-size:18px;
	font-weight:700;
}

#archive .pagination ul li a{
	color:#555;
}

#archive .pagination ul li .current{
	display:flex;
	align-items:center;
	justify-content:center;
	width:35px;
	height:35px;
	color:#fff;
	background-color:var(--main-color);
}
/*tb*/
@media screen and (max-width:899px){
	#archive .looplist{
		width:100%;
	}
}

/*sp*/
@media screen and (max-width:599px){
	#single .left .single-cont .single-head h1 {
		font-size:20px;
	}
	
	#archive .looplist .tag-list ul{
		gap:12px 15px;;
	}
	
	#archive .looplist > ol li .text h3{
		font-size: 14px;
	}
	
	#archive .looplist > ol li .text p {
		font-size: 13px;
	}
	
	#archive .looplist > ol li .text .taglist li a {
		font-size: 12px;
	}
	
}

/*=====================================
*
*breadcrumb
*
=======================================*/
.breadcrumb {
	margin:15px auto 0;
}

.breadcrumb ul{
	display:flex;
	flex-wrap:wrap;
}

.breadcrumb ul li{
	font-size:14px;
	font-weight:700;
	letter-spacing:0.05em;
}

.breadcrumb ul li:not(:last-of-type)::after{
  content:'\f105';
  font: var(--fa-font-solid);
  padding:0 5px;
}

.breadcrumb ul li:last-of-type{
	font-weight:700;
}

.breadcrumb ul li:last-of-type a{
	color:var(--main-color);
}

.breadcrumb ul li a{
	color:#555;
}

/*tb*/
@media screen and (max-width:899px){
   .breadcrumb {
      margin: 10px auto 0;
   }
	
	.breadcrumb ul li{
	  font-size:12px;
	}
}

/*お問い合わせ*/
.about-readtext.contact span{
	color:#dd4545;
}


.contact-area{
	margin-top:50px;
	margin-bottom:80px;
	padding:50px;
	background-color:var(--sub-color);
	border-radius:10px;
}

.contact-area .inner{
	margin:auto;
	max-width:880px;
}

.contact-area .contact-table .contact-cont{
	display:grid;
	gap:30px 25px;
	grid-template-columns:auto 1fr;
}

.contact-area .contact-table .contact-cont span.required{
	color:#dd4545;
}

.contact-area .contact-table .contact-cont .contact-hd{
	font-size:16px;
	font-weight:700;
	letter-spacing:0.05em;
}

.contact-area .contact-table .contact-cont .contact-hd + * > *{
	width:100%;
}

.contact-area .contact-table .contact-cont :is(input,textarea,select){
	font-family: "ZenKaku Gothic NEW";
	font-size:16px;
	font-weight:500;
	color:#555;
	letter-spacing:0.05em;
	line-height:2.0;
	padding:0.25em 0.5em;
}

.contact-area .contact-table .contact-cont textarea {
    resize: none;
	width:100%;
    height: 150px;
}

.contact-area .contact-table .contact-cont select{
	height:44px;
}

.contact-area .contact-table .contact-cont .check{
	display:flex;
	flex-wrap:wrap;
}

.contact-area .contact-table .contact-cont .check span + span {
	margin-left:0;
}

.contact-area .contact-table .contact-cont .check label{
  cursor:pointer;
}

.contact-area .contact-table .contact-cont .check label input + span{
	font-family: "ZenKaku Gothic NEW";
	font-size:16px;
	font-weight:500;
	color:#555;
	letter-spacing:0.05em;
}

.contact-area .contact-table .contact-cont .text-area{
	font-size:14px;
	font-weight:500;
	letter-spacing:0.05em;
}

.contact-area .contact-table .contact-cont .text-area ul{
	margin:0.25em 0!important;
}

.contact-area .contact-table .privacy-area{
	font-size:16px;
	letter-spacing:0.05em;
	text-align:center;
	margin-top:30px;
}

.contact-area .contact-table .privacy-check{
	margin-top:10px;
}

.contact-area .contact-table .privacy-check a{
	text-decoration:underline;
	color:var(--main-color);
}

.contact-area .contact-table .privacy-check label input + span{
	font-family: "ZenKaku Gothic NEW";
	font-size:16px;
	font-weight:500;
	color:#555;
	letter-spacing:0.05em;
}

.contact-area .contact-table .privacy-check label{
  cursor:pointer;
}


.contact-area .contact-table .contact-btn {
    margin-top: 30px;
    text-align: center;
}

.contact-area .contact-table .contact-btn .submit-btn {
    width: 200px;
    height: 50px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    background-color: var(--main-color);
    border: 1px solid var(
    --main-color);
    border-radius: 50px;
	cursor:pointer;
}

.h-captcha {
    width: fit-content;
    margin: 20px auto 0;
}

/*tb*/
@media screen and (max-width:899px){
  .contact-area .contact-table .contact-cont{
	  gap:10px 15px;
	  grid-template-columns:1fr;
  }	
	
	.contact-area .contact-table .contact-cont .contact-hd:not(:first-of-type){ 
		margin-top:25px;
	}
	
}

/*sp*/
@media screen and (max-width:599px){
	.contact-area{
		padding:50px 20px;
	}
	.contact-area .contact-table .contact-cont{
		gap:5px 15px;
	}
	.contact-area .contact-table .contact-cont .contact-hd{
		font-size:14px;
	}
	
	.contact-area .contact-table .contact-cont :is(input,textarea,select){
		font-size:14px;
	}
	
	.contact-area .contact-table .privacy-area{
		font-size:14px;
	}

	
	.contact-area .contact-table .privacy-check label input + span{
		font-size:14px;
	}
	
	.contact-area .contact-table .contact-cont select{
		height:39px;
	}
}
.thanks-cont{
	padding:calc(10vh - 80px) 0 10vh;
}

.thanks-cont p{
	font-size:16px;
	line-height:1.8;
	letter-spacing:0.05em;
	text-align:center;
}

.thanks-cont .btn1{
	margin:40px auto 0;
}

/*sp*/
@media screen and (max-width:599px){
	.thanks-cont p{
		text-align:start;
	}	
}
/*=====================================
*
*404
*
=======================================*/
#page-404 {
    text-align: center;
    margin: 15vh auto;
}

#page-404 .wrapper {
    font-size: 38px;
    margin-bottom: 25px;
}

#page-404 .wrapper p{
	font-weight:bold;
	color:var(--mainblue);
	letter-spacing:0.1em;
}

#page-404 .wrapper p + p{
	line-height:1.0;
}

#page-404 > p {
	font-size:20px;
	font-weight:500;
	letter-spacing:0.05em;
}

#page-404 .btn1{
	margin:auto;
	margin-top:30px;
}

/*sp*/
@media screen and (max-width:599px){
  #page-404 .wrapper {
    font-size: 30px;
  }	
	
  #page-404 > p {
	font-size:16px;
  }
}

/*=====================================
*
*footer
*
=======================================*/
footer {
    background-color: #f6f6f6;
}

footer .contents-area {
    display: flex;
    justify-content: space-between;
    padding: 35px 0 75px;
}

footer .info-area .logo {
    max-width: 248px;
}

footer .info-area .info-text {
    margin-top: 15px;
}

footer .info-area .info-text p {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.5;
}

footer .info-area #track{
	margin-top: 20px;
}

footer .info-area #track span{
	font-size:13px;
	font-weight:700;
	letter-spacing:0.03em;
}

footer .info-area #track form{
	position:relative;
	max-width: 240px;
}

footer .info-area #track input{
	width:100%;
	padding: 5.5px 25px 5.5px 8px;
	border-radius:3px;
	border:solid 1px #6d6d6d;
	background-color: transparent;
}

footer .info-area #track input[type="text"]:focus {
	outline:none;
}

footer .info-area #track button {
    position: absolute;
	transform:translatey(-50%);
	top:50%;
    right: 10px;
    border: none;
    background-color: transparent;
	cursor:pointer;
}

footer .info-area #track button i{
	font-size: 14px;
	color: #555;
}

footer .menu-area {
    display: flex;
    gap: 20px;
}

footer .menu-area .cont {
    display: inline-block;
}

footer .menu-area .cont>ul>li+li {
    margin-top: 10px;
}

footer .menu-area ul li a {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
    font-weight: 500;
    transition: 0.3s ease-in-out;
}

@media (any-hover:hover) {
    footer .menu-area ul li a:hover {
        opacity: 0.75;
    }
}

footer .menu-area .sns-icn {
    margin-top: 35px;
}

footer .menu-area .sns-icn ul {
    display: flex;
    align-items: center;
    gap: 4px;
}

footer .copyright {
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.03em;
    padding: 11.5px 0;
    background: #fff;
}

@media screen and (max-width:1300px) {
    footer .contents-area {
        padding: 35px 3% 75px;
    }

    footer .info-area .info-text p {
        font-size: 13px;
    }

    footer .info-area .logo {
        max-width: 200px;
    }
}

@media screen and (max-width:1200px) {
    footer .contents-area {
        padding: 35px 1% 75px;
    }

    footer .info-area .info-text p {
        font-size: 11px;
    }

    footer .menu-area ul li a {
        font-size: 12px;
    }
}

/*tb*/
@media screen and (max-width:1024px) {
    footer .contents-area {
        padding: 35px 0 55px;
    }
	
	footer .info-area{
		padding:0 3%;
	}

    footer .info-area .logo {
        max-width: initial;
    }

    footer .contents-area {
        display: block;
    }

    footer .contents-area .info-area {
        margin-bottom: 25px;
    }

    footer .contents-area .info-area .logo-area .logo {
        max-width: 300px;
    }

    footer .contents-area .menu-area {
        display: block;
    }

    footer .menu-area .cont {
        display: block;
		padding:0 3%;
    }
	
	footer .menu-area .cont:not(:last-of-type){
		padding-bottom:12.5px;
		border-bottom:1px solid #ddd;
	}

    footer .menu-area .cont  + .cont{
        padding-top: 12.5px;
    }
	
	footer .menu-area .cont>ul>li+li::before{
		content:"-";
	}

    footer .menu-area ul li a {
        font-size: 14px;
    }

    footer .menu-area .sns-icn ul {
        gap: 9px;
    }
}

@media screen and (max-width:899px) {
    footer .copyright {
        margin-bottom: 50px;
    }
}
/*=====================================
*
*sidenav
*
=======================================*/