@charset "utf-8";
/******************************
    common
******************************/

* {
  margin: 0;
}

.view--pc { display: block !important; }
.view--sp { display: none !important; }
.view_1000{ display: none; }
 	@media screen and (max-width: 1000px) {
        .view_1000{ display: block; }
    }
    @media screen and (max-width: 768px) {
        .view--pc { display: none !important; }
        .view--sp { display: block !important; }
        .view_1000{ display: none; }
    }

.mgr_16 {
	margin-right: 16px;
	display: inherit;
}
@media screen and (max-width: 768px) {
        .mgr_16 {
			margin-right: 0;
		}
    }
   

/*
    .view--header_sp{
        display:none;
    }
*/
    @media screen and (max-width: 1024px) {
		/*
        .view--header_pc{
            display: none;
        }
		*/
        .view--header_sp{
            display:block;
        }
    }

html{
    font-size:62.5%;
}
body{
    color:#333333;
	background-color: #FFFFFF;
    font-family:"Noto Sans JP","Hiragino Sans","ヒラギノ角ゴシック Std","Hiragino Kaku Gothic Std","Helvetica Neue", Arial, Meiryo, sans-serif;
    position: relative;
    overflow-x: hidden;
}

img {
	-webkit-backface-visibility: hidden;
	width: 100%;
}

    @media(min-width: 768px){
        a[href^="tel:"]{
            pointer-events: none;
        }
    }

h2{
    /* margin: -5.714vw auto 0;
    padding-top: 5.714vw; */
    /* margin: -80px auto 0;
    padding-top: 80px; */
    margin: -90px auto 0;
    padding-top: 90px;
}
    @media screen and (max-width: 768px) {
        h2{
            margin: -14.323vw auto 0;
            padding-top: 14.323vw;
        }  
    }

/* h2:before {
  display: block;
  height: 160px;
  margin-top: -160px;
  content: "";
}
    @media(max-width: 768px){
        h2:before {
            height: 25vw;
  			margin-top: -25vw;
        }
    } */

/******************************
    header
******************************/
header{
    width:100%;
	height:80px;
    position: fixed;
    z-index: 10;
}
    @media screen and (max-width: 768px) {
        header{
            position: fixed;
            height:12vw;
        }
    }

header .logo{
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 254px;
}
    @media screen and (max-width: 768px) {
        header .logo{
			left: 5.208vw;
			width: 41.797vw;
        }
    }


header .js-sp_menu_btn{
    position: absolute;
    right:43px;
    z-index: 5;
    width:100%;
    max-width:24px;
    font-size:2.6rem;
    cursor: pointer;
}
    @media screen and (max-width: 768px) {
        header .js-sp_menu_btn{
            right:7.552vw;
            font-size: 3.385vw;
        }
    }

.menu__button{
    position: relative;
    width:24px;
    height:24px;
	margin-top: 28px;
}
    @media screen and (max-width: 768px) {
        .menu__button{
            max-width: 4.817vw;
            margin-right: 1.563vw;
			margin-top: 4.296vw;
        }
    }

header .js-sp_menu_btn .menu__button span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #000;
    border-radius: 3px;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 4px)/2);
    transition: .5s;
}
    @media screen and (max-width: 768px) {
        header .js-sp_menu_btn .menu__button span {
            width: 4.687vw;
            height: 0.26vw;
        }
    }
/* .menu__lineMiddle {} */
.menu__lineTop { transform: translateY(-8px); }
    @media screen and (max-width: 768px) {
        .menu__lineTop {
            width: 4.687vw;
            height: 0.26vw;
        }
    }

.menu__lineBottom { transform: translateY(8px); }
    @media screen and (max-width: 768px) {
        .menu__lineBottom {
            width: 4.687vw;
            height: 0.26vw;
        }
    }
.menu--isOpen .menu__lineTop { 
			transform: rotate(45deg); 
			background-color: #000!important;
			}
.menu--isOpen .menu__lineMiddle { opacity: 0; }
.menu--isOpen .menu__lineBottom { 
			transform: rotate(-45deg); 
			background-color: #000!important;
			}



/******************** sp menu contents ********************/
#js-sp_menu_sec {
	display: none;
}

.sp-nav_sec {
    position: fixed;
    top:0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color:#fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
	
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform .1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: -webkit-transform .1s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: transform .1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform .1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform .1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform .1s cubic-bezier(0.215, 0.61, 0.355, 1);
	
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	-ms-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
	opacity: 0;
}
.open .sp-nav_sec {
	
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
	opacity: 1;
	
}

header .sp-nav_sec .sp-nav{
    width:95%;
    max-width:980px;
    margin:0 auto;
    color:#fff;
    font-size:2.4rem;
	margin-top: 150px;
}
    @media screen and (-ms-high-contrast: none) { /* ie only */
        header .sp-nav_sec .sp-nav{
            margin:110px auto 0;
        }
    }
    @media screen and (max-width: 950px) {
        header .sp-nav_sec .sp-nav{
            font-size:1.8rem;
        }
    }
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav{
            width: 89.58%; 
            font-size: 4.167vw;
			margin-top: 19.53vw;
        }
    }
    @media screen and (max-width: 768px) and (-ms-high-contrast: none) { /* ie only */
        header .sp-nav_sec .sp-nav{
            margin:110px auto 0;
        }
    }

.nav_flexbox {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .nav_flexbox{
			display: block;
			width: 95%;
			margin: 0 auto;
        }
    }

.nav_flexitem {
	width: 46.9%;
}
    @media screen and (max-width: 768px) {
        .nav_flexitem{
			width: 100%;
        }
    }
    @media screen and (max-width: 768px) {
        .nav_flexitem:nth-of-type(1){
			/* margin-bottom:3.906vw; */
            margin-bottom:6.5vw;
        }
    }

    .nav_flexitem a{
        color: #1AA81A;
        font-weight: bold;
    }
header .sp-nav_sec .sp-nav ul li{
    position: relative;
}
header .sp-nav_sec .sp-nav ul li:not(:last-of-type){
    margin-bottom:50px;
}
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav ul li:not(:last-of-type){
            /* margin-bottom:3.906vw; */
            margin-bottom:6.5vw;
        }
    }

header .sp-nav_sec .sp-nav ul li::after{
    content:"";
    display: inline-block;
    position: absolute;
    top:0;
    right: 0;
    width:11px;
    height:19px;
    background-image: url(../img/sp-menu-arrow.webp?1);
    background-size:11px 19px;
    background-repeat: no-repeat;
	margin-top: 5px;
}
    @media screen and (max-width: 950px) {
        header .sp-nav_sec .sp-nav ul li::after{
            margin-top: 0;
        }
    }
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav ul li::after{
            width:1.823vw;
            height:3.125vw;
            background-size:100%;
			margin-top: 1vw;
        } 
    }

header .sp-nav_sec .sp-nab-img{
    width: 89.58%; 
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nab-img{
			position: absolute;
			bottom: 5.208vw;
			left: 5.208vw;
        } 
    }

header .sp-nav_sec .sp-nab-img p:nth-of-type(2) {
	margin-top: 1.822vw;
}

/******************************
    kv
******************************/

.kv.kv_202309{
    padding-top:0;
}
    /* @media screen and (max-width: 1200px) {
        .kv.kv_202309{
            padding-top:25px;
        }
    } */
    @media screen and (max-width: 768px) {
        .kv.kv_202309{
            padding-top: 12vw;
        }
    }

.kv img{
    width:100%;
}

/* 202304 addcss */
.kv_202304{
    position: relative;
}
.kv_202304 .inbtn_202304{
    position: absolute;
    bottom:27.214vw;
    left:15%;
    width: 34.5%;
    max-width: 482px;
    background: #4D99BB;
    box-shadow: 0 4px 0 0 rgba(37,77,95,1);
    border-radius: 10px;
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}

.kv_202304 .inbtn_202304.inbtn_add202309{
    bottom:16vw;
    text-align: center;
}
    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304.inbtn_add202309{
            border-radius: 0.977vw;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304{
            width: 89.583vw;
            max-width: 688px;
            bottom:49vw;
            left: 0;
            right: 0;
            margin: 0 auto;
            border-radius: 2.083vw;
            box-shadow: 0 1.302vw 0 0 rgba(37,77,95,1);
        }
        
        .kv_202304 .inbtn_202304.inbtn_add202309{
            bottom: 45vw;
            border-radius: 2.083vw;
        }

    }

.kv_202304 .inbtn_202304.inbtn_add202401{
    position: absolute;
    bottom:17vw;
    left:15%;
    width: 43.9%;
    max-width: 615px;
    background: #4D99BB;
    box-shadow: 0 4px 0 0 rgba(37,77,95,1);
    border-radius: 10px;
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202401{
            width: 89.583vw;
            max-width: 688px;
            bottom:43.62vw;
            left: 0;
            right: 0;
            margin: 0 auto;
            border-radius: 2.083vw;
            box-shadow: 0 1.302vw 0 0 rgba(37,77,95,1);
        }
    }
       

.kv_202304 .inbtn_202304::before{
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 0.2s;
    animation: free_btn 3.5s ease-in-out infinite;
}

.kv_202304 .inbtn_202304:hover{
    box-shadow: none;
    transform: translateY(4px);
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304:hover{
            transform: translateY(0px);
        }
    }

.kv_202304 .inbtn_202304 a{
    display: block;
    width: 100%;
    height: 100%;
    padding: 14px 4% 7px;
}

    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304 a{
            padding:1vw 1.429vw 0.5vw;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304 a{
            padding: 4.688vw 3.906vw 3.516vw;
        }
    }

.kv_202304 .inbtn_202304 a img{
    max-width: 443px;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304 a img{
            max-width: 627px;
        }
    }

.kv_202304 .inbtn_202304.inbtn_add202401 a{
    padding: 1.571vw 2.143vw 1.571vw 2.857vw;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202401 a{
            padding: 4.557vw 3.906vw 4.557vw 5.208vw ;
        }  
    }

.kv_202304 .inbtn_202304.inbtn_add202401 a img{
    max-width: 545px;
}
@media screen and (max-width: 768px) {
    .kv_202304 .inbtn_202304.inbtn_add202401 a img{
        max-width: 618px;
    }
}


/* 202309 addcss */
.kvin-cptitle{
    position: absolute;
    bottom:19.214vw;
    left:15vw;
    width: 28%;
    max-width: 387px;
}
    @media screen and (max-width: 768px) {
        .kvin-cptitle{
            bottom:41.667vw;
            left:5.208vw;
            width: 55%;
            max-width: 379px;
        }
    }


/* 202410 addcss */
.kv_btn_wrap{
    position: absolute;
    top: 34.8vw;
    left: 14.7vw;
    width: 41.2%;
    /* max-width: 577px; */
}
@media screen and (max-width: 1200px) {
    .kv_btn_wrap{
        top: calc(34.4vw + 25px);
    }
}
@media screen and (max-width: 768px) {
    .kv_btn_wrap{
        width: 89.583vw;
        max-width: 688px;
        top: 117.188vw;
        left: 0;
        right: 0;
        margin: auto;
    }
}
.kv_btn_wrap2503{
    top: 33.5vw;
}
@media screen and (max-width: 1200px) {
    .kv_btn_wrap2503{
        top: calc(33.6vw + 25px);
    }
}
@media screen and (max-width: 768px) {
    .kv_btn_wrap2503{
        top: 114vw;
    }
}
.kv_202304 .inbtn_202304.inbtn_add202410{
    position: relative;
    top: 0;
    bottom: unset;
    left: 0;
    width: 100%;
    max-width: unset;
    background: #4D99BB;
    box-shadow: 0 5px 0 0 #254D5F;
    border-radius: 10px;
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}
.kv_202304 .inbtn_202304.inbtn_add202410:hover{
    box-shadow: none;
}
    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304.inbtn_add202410{
            box-shadow:0 0.357vw 0 0 #254D5F;
            border-radius: 0.714vw;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202410{
            border-radius: 2.083vw;
            box-shadow: 0 1.302vw 0 0 #254D5F;
        }
    }
.kv_202304 .inbtn_202304.inbtn_add202410 a{
    padding: 1.55% 2.25% 1% 3%;
}
    
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202410 a{
            padding: 2.214vw 3.776vw 1.432vw 3.906vw;
        }  
    }

.kv_202304 .inbtn_202304.inbtn_add202410 a img{
    max-width: 100%;
}
@media screen and (max-width: 768px) {
    .kv_202304 .inbtn_202304.inbtn_add202410 a img{
        max-width: 100%;
    }
}
.kv_202304 .senior_anchor{
    position: relative;
    top: 0;
    bottom: unset;
    left: 0;
    width: 100%;
    max-width: unset;
    margin-top: 3.5%;
    background: #B4473C;
    box-shadow:0 5px 0 0 #5C241F;
}
.kv_202304 .senior_anchor a{
    padding: 2.08% 3.12% 1.39% 2.77%;
}
.kv_202304 .senior_anchor a img{
    max-width: 100%;
}
@media screen and (max-width: 1024px) {
    .kv_202304 .senior_anchor{
        box-shadow:0 0.357vw 0 0 #5C241F;
        border-radius: 0.714vw;
    }
}
@media screen and (max-width: 768px) {
    .kv_202304 .senior_anchor{
        box-shadow:0 5px 0 0 #5C241F;
        border-radius: 2.083vw;
        width: 89.583vw;
        height: auto;
        left: 0;
        box-shadow: 0 1.302vw 0 0 #5C241F;
    }
    .kv_202304 .senior_anchor a{
        padding:1.563vw 3.451vw 0.391vw 4.036vw;
    }
    .kv_202304 .senior_anchor a img{
        max-width: 632px;
    }
}

/******************** kv bottom area 202304～ START********************/
.kv-bottom_area{
    position: absolute;
    left: 0;
    right: 0;
    top:78%;
    width: 80%;
    max-width: 980px;
    margin: 0 auto;
    z-index: 1;
}

    @media screen and (max-width: 768px) {
        .kv-bottom_area{
            width: 89.58%;
            max-width: 688px;
            top: unset;
            bottom: -47.5vw;
        }

        .kv-bottom_area.kv-bottom_area_mm202401{
            bottom: -47.526vw;
        }
    }
/******************** kv bottom area 202304～ END********************/

/******************************
    store info 202304 cssadd
******************************/
.statement{
    width: 95%;
    max-width: 980px;
    margin: 74px auto 0;
}

    @media screen and (max-width: 768px) {
        .statement{
            width: 89.5833%;
            max-width: 688px;
            margin: 79.818vw auto 0;
        }
        .statement.statement_202309{
            width: 100%;
            max-width: unset;
            margin: 10vw auto 0;
        }
    }

.statement h2{
    width: 81%;
    max-width: 794px;
    margin-bottom: 30px;
}
    @media screen and (max-width: 768px) {
        .statement h2{
            width: 81.12vw;
            max-width: 623px;
            margin-bottom: 2.474vw;
        }
    }

.statement .s-title1,
.statement .s-title2{
    width: 90%;
    max-width: 768px;
    margin: 0 auto;
    line-height: 1.7;
    text-align: center;

}
    @media screen and (max-width: 768px) {
        .statement .s-title1,
        .statement .s-title2{
            width: 100%;
            max-width: 688px;
        } 
    }

.statement .s-title1{
    margin-top: 30px;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
    .statement .s-title1{
        margin-top: 5.208vw;
        font-size: 3.63vw;
        margin-bottom: 8.312vw;
    }
}

.statement .s-title2{
    margin: 0 auto;
    max-width: 382px;
}
    @media screen and (max-width: 768px) {
        .statement .s-title2{
            width: 100%;
            max-width: unset;
        } 
    }

.statement .s-title2 span{
    display: inline-block;
    position: relative;
}
.statement .s-title2 span::after{
    content:"";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 14px;
    background-color: rgba(241,135,5,.35);
    z-index: -1;
}
    @media screen and (max-width: 768px) {
        .statement .s-title2 span::after{
            bottom: 0.651vw;
            height: 2.604vw;
        }  
    }

.statement_top{
    position: relative;
}
.statement_bottom{
    position: relative;
    text-align: center;
}
.statement_model01{
    position: absolute;
    width: 100px;
    top: 10%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
    @media screen and (max-width: 768px) {
        .statement_model01{
            top: unset;
            bottom: 10%;
            right: 0;
            width: 14.545vw;
        }  
    }
.statement_model02{
    position: absolute;
    width: 100px;
    left: -2%;
    bottom: -130px;
}
    @media screen and (max-width: 768px) {
       .statement_model02{
            width: 20.7vw;
            left: 2%;
            bottom: -27vw;
            /* bottom: 49vw; */
        } 
    }

.statement ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
}
    @media screen and (max-width: 768px) {
        .statement ul{
            margin-top: 6.771vw;
        }  
    }

.statement ul li{
    width: 31.2245%;
    max-width: 306px;
    border-radius: 22px;
    overflow: hidden;
}
    @media screen and (max-width: 768px) {
        .statement ul li{
            width: 47.6744%;
            max-width: 328px;
            border-radius: 2.865vw;
        }
    }

.statement ul li img{
    transition:1s all;
}
.statement ul li img:hover{
    transform:scale(1.2,1.2);
    transition:0.5s all;
}
    @media screen and (max-width: 768px) {
        .statement ul li img{
            transition: none !important;
        }
        .statement ul li img:hover{
            transform: none !important;
            transition: none !important;
        }  
    }


.statement ul li:nth-of-type(n+4){
    margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .statement ul li:nth-of-type(n+4){
            margin-top: 0;
        }
        .statement ul li:nth-of-type(n+3){
            margin-top: 4.167vw;
        }
    }

.statement ul li img{
    width: 100%;
}

.statement .camera360{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-top: 80px;
    border-radius: 10px;
    overflow: hidden;
    z-index: 1;
}
    @media screen and (max-width: 768px) {
        .statement .camera360{
            margin-top:7.813vw;
            border-radius: 1.302vw;
        }
    }

.statement .camera360 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.store-info{
    width: 96%;
    max-width: 880px;
    margin: 120px auto 0;
}
@media screen and (max-width: 768px) {
    .store-info{
        width: 89.5833%;
        max-width: 688px;
        /* margin: 16vw auto 0; */
        margin: 40vw auto 0;
    }
}

.store-info .s-title1,
.store-info .s-title2{
    width: 100%;
    max-width: unset;
    margin: 0 auto;
    line-height: 1.7;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title1,
        .store-info .s-title2{
            width: 100%;
            max-width: 688px;
        } 
    }

.store-info .s-title1{
    font-size: 28px;
    font-weight: bold;
    color: #1AA81A;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title1{
            font-size: 5.72vw;
        } 
    }

.store-info .s-title1 span{
    display: inline-block;
    position: relative;
}

.store-info .s-title2{
    font-size: 18px;
    font-weight: 400;
    text-align: left;
    margin: 30px auto 40px;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title2{
            margin: 4vw auto 5.208vw;
            font-size: 3.63vw;
        }
    }

.store-info .store-img{
    margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
    .store-info .store-img{
        margin: 0 auto 12px;
    }
}
.store-info .store-img img{
    border-radius: 25px;
}
@media screen and (max-width: 768px) {
    .store-info .store-img img{
        border-radius: 10px;
    }
}

.store-info ul{
    display: flex;
    justify-content: space-between;
}
.store-info ul li{
    width: 31.2245%;
    max-width: 306px;
    height: 20vw;
    max-height: 180px;
    background: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    border-radius: 25px;
    line-height: 1.5;
}
@media screen and (max-width: 768px) {
    .store-info ul li{
        height: 17vw;
        font-size: 2.7vw;
        border-radius: 10px;
    }
}

/******************************
    footer area
******************************/
footer{
    width:100%;
    padding:120px 0 60px;
    background: #f3f3f3;
    color:#ffffff;
}
    @media screen and (max-width: 768px) {
        footer{
            padding:7.813vw 0 34vw;
        }
    }

.in_footer_area {
	width: 95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_footer_area{
            width: 86.6%;
			max-width: 688px;
        }
    }

footer .f_logo{
    width:100%;
    max-width:346px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        footer .f_logo{
            width: 68.89%;
        }
    }

.f_shop_name {
	font-size: 1.8rem;
    font-weight: 500;
	color: #472619;
	text-align: center;
	margin-top: 14px;
}
    @media screen and (max-width: 768px) {
        .f_shop_name{
            font-size: 4.166vw;
			line-height: 1.4;
			margin-top: 5.208vw;
        }
    }

.business_hours {
	font-size: 1.8rem;
    font-weight: bold;
	color:#333;
	text-align: center;
	line-height: 1.6;
    margin-top: 50px;
}
    @media screen and (max-width: 768px) {
        .business_hours{
            font-size: 4.166vw;
            /* margin-top: 4.557vw; */
            margin-top: 5.208vw;
        }
    }
    .business_hours_heading{
        font-size: 18px;
        font-weight: 500;
        display: block !important;
        text-align: center;
    }
    .business_hours_time{
        font-size: 18px;
        font-weight: 500;
        display: block !important;
        text-align: center;
    }
.business_hours p:first-of-type{
    display: flex;
    width: 100%;
    max-width: 480px;
    justify-content: space-between;
    margin: auto;
}
    @media screen and (max-width: 768px) {
        .business_hours p:first-of-type{
            display: block;
            text-align: center;
        }
    }
.business_hours p:first-of-type span{
    display: block;
    font-weight: bold;
}

.business_hours p:nth-of-type(2){
    font-size: 1.6rem;
    margin-top: 5px;
    font-weight: 600;
}
@media screen and (max-width: 768px) {
    .business_hours p:nth-of-type(2){
        font-size: 3.125vw;
        margin-top: 1.302vw;
    }
}
.business_hours p:nth-of-type(3){
    margin: 8px auto 16px;
    font-size: 12px;
}
.business_hours p:nth-of-type(3) span{
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .business_hours p:nth-of-type(3){
        margin: 2.13vw auto 2.13vw;
        font-size: 3.2vw;
    }
}
.business_hours p .br1000{
    display: none;
}
@media screen and (max-width: 1000px) {
    .business_hours p .br1000{
        display: block;
    }
}
.f_tel {
    color:#1AA81A;
    font-size: 2rem;
    font-weight: 400;
    line-height: 3.2rem;
    text-align: center;
	margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .f_tel {
			display: block;
			width:100%;
			max-width:453px;
			/* padding:7px 0 4px; */
			font-size: 4.166vw;
            max-width: 100%;
            padding:2.734vw 0 2.995vw;
            border-radius:2.604vw;
            margin-top: 7.813vw;
        }
    }

.f_tel span.telbox {
	font-size: 4.4rem;
	font-weight: 600;;
	margin-left: 20px;
    line-height: 6.5rem;
}
    @media screen and (max-width: 768px) {
        .f_tel span.telbox{
			font-size: 9.375vw;
            letter-spacing: 1px;
            margin-left: 0;
            line-height: 11.328vw;
        }
    }

.f_tel span.telinfo{
    position: relative;
    bottom: 7px;
    font-weight: 500;
}
    @media screen and (max-width: 768px) {
        .f_tel span.telinfo{
            position:sticky;
        }
    }

.f_tel_note{
    color: #333;
    font-size: 1.2rem;
    margin: 13px auto 33px;
    text-align: center;
}
    
    @media screen and (max-width: 768px) {
        .f_tel_note{
            font-size: 3.125vw;
            line-height: 1.5;
        }
    }

.f_tel_note span{
    font-weight: bold;
}
.f_tel_hours {
	color: #333;
	font-size: 1.8rem;
	text-align: center;
	margin-top:10px;
}
    @media screen and (max-width: 768px) {
        .f_tel_hours{
			font-size: 4.166vw;
			margin-top: 2.604vw;
			line-height: 1.5;
        }
        .f_tel_note span{
            font-size: 3.2vw;
        }
    }

.f_tel_hours span {
	font-size: 1.4rem;
	margin-left:12px;
}
    @media screen and (max-width: 768px) {
        .f_tel_hours span{
			font-size: 3.125vw;
			margin-left: 0;
        }
    }

    .f_tel a{
        position: relative;
    }
    .f_tel a::before{
        position: absolute;
        content: "";
        background-image: url(../img/tel_icon.webp);
        background-size: cover;
        background-repeat: no-repeat;
        width: 20px;
        height: 27px;
        left: -23px;
        top: -5px;
    }

footer .f_mail a{
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
    max-width:475px;
    padding:27px 60px;
    color:#ffffff;
    font-size: 2rem;
    font-weight: bold;
    background-color:#1AA81A;
    border-radius: 50px;
	margin: 40px auto 0;
}
    @media screen and (max-width: 768px) {
        footer .f_mail a{
            max-width: 100%;
            font-size:3.73vw;
            padding:3.9vw 0;
            border-radius:10vw;
            margin: 7.813vw auto 0;
            border:solid 0.521vw #1AA81A;
        }
    }
footer .f_mail a:hover{
    opacity: 0.8;
}
footer .f_mail a::before{
    display: block;
    content:"";
    width:35px;
    height:27px;
    background-image: url(../img/mail_icon.webp);
    background-size:35px 27px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right:20px;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area .f_mail a::before{
            width:9.896vw;
            height:7.813vw;
            background-size: 9.896vw 7.813vw;
            margin-right:4.557vw;
        }
    }

footer .in_f_area .f_mail a:hover{
    opacity: 0.7;
}
footer .f_nav{
    display:flex;
    justify-content: space-between;
    width:100%;
    max-width:337px;
    margin:40px auto 30px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.6rem;
	color: #333;
}
    @media screen and (max-width: 768px) {
        footer .f_nav{
            max-width:636px;
            font-size:3.125vw;
            line-height:5.208vw;
            margin:10.417vw auto 7.813vw;
        }
    }

footer .f_nav li{
    text-decoration: underline;
    font-size: 16px;
}
    @media screen and (max-width: 768px) {
        footer .f_nav li{
        font-size: 3.73vw;
        }
    }
footer .copyright{
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.6rem;
    text-align: center;
	color: #333;
}
    @media screen and (max-width: 768px) {
        footer .copyright{
            font-size:2.865vw;
            line-height:4.557vw;
        }
    }

#bnrFix{
    display: block;
    width: 179px;
    z-index: 8;
    right:20px !important;
}
@media screen and (max-width: 768px) {
    #bnrFix{
        width: 36.4vw;
    }
}

#bnrFix a{
    position: relative;
    bottom: 80px;
}
@media screen and (max-width: 768px) {
    #bnrFix a{
        position: relative;
        bottom: 14.7vw;
    }  
}

#bnrFix #bnrFix-trig{
    display: block;
    width: 29px;
    position: absolute;
    top: -92px;
    left: -12px;
    z-index: 10;
}
@media screen and (max-width: 768px) {
    #bnrFix #bnrFix-trig{
        width: 5.98vw;
        top: -17vw;
        left: -2.3vw; 
    }
}

#bnrFix.is-close{
    display: none!important;
}
@media screen and (max-width: 768px) {
    #bnrFix.is-hidden{
        opacity: 0;
        visibility: hidden;
    }
}

#pageTop {
    /* position: fixed; */
    max-width: 70px;
    width:100%;
    max-height: 70px;
    height: 100%;
    right:20px !important;
	z-index: 9;
	mix-blend-mode: multiply;
}
#pageTop img{
    width:100%;
}
    @media screen and (max-width: 768px) {
        #pageTop{
            width:13.02vw;
            height:13.02vw;
        }
    }


#fixed-nav{
    position: fixed;
    right: 4.5%;
    bottom: 68px;
    width:100%;
    max-width: 370px;
    z-index: 9;
    opacity: 1;
    transition: all 0.5s 0s ease;
}
    @media screen and (max-width: 768px) {
        #fixed-nav{
            bottom:0;
            right: unset;
            max-width: 100%;
        }
        #fixed-nav > div{
            width: 84.4%;
            margin: 0 auto;
        }
    }

#fixed-nav a:hover{
    opacity: 0.8;
}
    @media screen and (max-width: 768px) {
        #fixed-nav a:hover{
            opacity: 1;
        }
    }

#fixed-nav img{
    width:100%;
}


#fixed-nav.js-fixed{
    /* display: none; */
    /* opacity: 0; */
}
@media screen and (max-width: 768px) {
    #fixed-nav.js-fixed{
        opacity: 1;
    }
}

/* 無料体験レッスンエリア */

.free_lesson {
    padding: 120px 0 45px;
}
@media screen and (max-width: 768px) {
    .free_lesson {
        padding: 15.625vw 0 3vw;
    }
}
.free_lesson .free_lesson_contents{
    margin-top: 60px;
}
@media screen and (max-width: 768px) {
    .free_lesson .free_lesson_contents{
        width: 87.24vw;
        margin: 7.813vw auto 0;
    }
}




/* 2024年10月追加 ここまで */


/******************************
    cp_bottom_btn_area
******************************/

.cp_bottom_btn_area {
	width: 95%;
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	/* margin-top: 40px; */
    margin-top: 50px;
}
    @media screen and (max-width: 1000px) {
        .cp_bottom_btn_area {
            margin-top: 5vw;
        }
    }
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area{
            width: 89.583vw;
			max-width: 688px;
			display: block;
			/* margin-top: 5.2vw; */
            margin-top: 7.813vw;
        }
    }

.cp_bottom_btn_area p {
	width: 47.4%;
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area p{
            width: 100%;
        }
    }

    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area .lesson_btn  {
            margin-top: 1.822vw;
        }
    }

/******************** cp_bottom_btn_area_0324 ********************/

.cp_bottom_btn_area_0324 {
	display: block;
}

.cp_bottom_btn_area_0324 p {
	width: 48.46%;
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area_0324 p  {
            width: 100%;
        }
    }

.cp_bottom_btn_area_anchor {
	width:48.46%;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /* margin:20px auto 0; */
    margin:30px auto 0;
}
    @media screen and (max-width: 1000px) {
        .cp_bottom_btn_area_anchor  {
            margin:3vw auto 0;
        }
    }
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area_anchor  {
            width: 100%;
            margin:5.208vw auto 0;
        }
    }

.cp_bottom_btn_area_anchor p{
    width:47.57%;
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area_anchor p {
            width: 47.81%;
        }
    }

.cp_bottom_btn_area_anchor p a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
    height:40px;
    margin: 0 auto;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 6px;
    font-size:1.4rem;
    font-weight:600;
	padding: 10px 20px;
    /* line-height:3.6rem; */
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area_anchor p a{
            height: 10.417vw;
			border-radius: 1.302vw;
			font-size:3.906vw;
			padding: 2.343vw 3.906vw;
        }
    }

.cp_bottom_btn_area_anchor p a::after{
    display: inline-block;
    content:"";
    width:12px;
    height:7px;
	background-size: 12px 7px;
    background-image:url(../img/btn_arrow.webp);
    background-repeat: no-repeat;
    position: absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
}
@media screen and (max-width: 768px) {
    .cp_bottom_btn_area_anchor p a::after{
        width: 2.865vw;
        height: 1.693vw;
        background-size: 100%;
        top: 1vw;
    }
}

/******************** cp_bottom_btn_area_0324 end********************/

.cp_bottom_btn_area_flex{
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 1024px) {
    .cp_bottom_btn_area_flex{
        display: block;
    }
}

/******************************
    big news area
******************************/

.big_news_area {
	width: 100%;
    padding: 100px 0 150px;
    background-color: #EFEFEF;
}
    @media screen and (max-width: 1400px) {
        .big_news_area {
            padding: 7.143vw 0 10.714vw;
        } 
    }
    @media screen and (max-width: 768px) {
        .big_news_area {
			padding: 13.021vw 0 15.62vw;
        }
    }

.in_big_news_area {
	width:95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_big_news_area {
			width: 89.6%;
			max-width: 688px;
        }
    }

.in_big_news_area h2 {
	width: 35.71%;
	/* margin: 0 auto; */
}
    @media screen and (max-width: 768px) {
        .in_big_news_area h2 {
			width: 45.6%;
			max-width: 350px;
        }
    }

.big_news_area_copy {
    /* color: #F18705; */
    color:#25B421;
	text-align: center;
	margin-top: 30px;
	font-size: 20px;
}
    @media screen and (max-width: 768px) {
        .big_news_area_copy {
			margin-top: 3.645vw;
			font-size: 4.167vw;
			line-height: 1.625;
        }
    }

.big_news_area_flexbox {
	width: 95%;
	max-width: 980px;
	display: flex;
	justify-content: space-between;
	margin: 40px auto 0;
}
    @media screen and (max-width: 768px) {
        .big_news_area_flexbox {
			display: block;
			width: 100%;
			margin-top: 5.208vw;
        }
    }

.pro_image {
	width: 50%;
}
    @media screen and (max-width: 768px) {
        .pro_image {
			width: 100%;
        }
    }

.pro_image img{
	border-top-left-radius: 22px;
	border-bottom-left-radius: 22px; 
}
    @media screen and (max-width: 768px) {
        .pro_image img{
			border-top-left-radius: 0;
			border-bottom-left-radius: 0; 
        }
    }

.pro_info_area {
	width: 50%;
    /* background: #F18705; */
    background-color: #25B421;
	color: #FFFFFF;
	text-align: center;
	border-top-right-radius: 22px;
	border-bottom-right-radius: 22px; 
}
    @media screen and (max-width: 768px) {
        .pro_info_area {
			width: 100%;
            /* background: #ffffff; */
            background-color: #EFEFEF;
			border-top-right-radius: 0;
			border-bottom-right-radius: 0; 
        }
    }


.pro_info_area div {
	padding-top: 16.73%;
}
    @media screen and (max-width: 768px) {
        .pro_info_area div {
			padding-top: 3.9vw;
        }
    }

.pro_info {
	font-size: 1.6rem;
}
    @media screen and (max-width: 768px) {
        .pro_info {
			color: #333;
			font-size: 3.645vw;
			line-height: 1.428;
			text-align: center;
			margin-top: 3.906vw;
        }
    }

.pro_name {
	font-size: 3rem;
	margin-top: 6px;
}
    @media screen and (max-width: 768px) {
        .pro_name {
			font-size: 6.25vw;
            /* color: #F18705; */
            color:#25B421;
			text-align: center;
			margin-top: 1.8vw;
        }
    }

.pro_name span {
	font-size: 1.4rem;
	vertical-align: middle;
	margin-left: 10px;
}
    @media screen and (max-width: 768px) {
        .pro_name span {
			font-size: 3.125vw;
			text-align: center;
			margin-left: 1.822vw;
        }
    }

.pro_birthdate {
	font-size: 1.6rem;
	margin-top: 6px;
}
    @media screen and (max-width: 768px) {
        .pro_birthdate {
			color: #333;
			font-size: 3.645vw;
			text-align: center;
			margin-top: 1.8vw;
        }
    }

.pro_chance {
    /* width: 80.61%; */
    width: 73.88%;
	margin: 50px auto 0;
}
    @media screen and (max-width: 768px) {
        .pro_chance {
            /* width: 90.55%; */
            width: 77.33%;
			margin-top: 6.51vw;
        }
    }

.pro_chance_text {
	font-size: 1.8rem;
	line-height: 1.777;
	text-align: center;
	margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .pro_chance_text {
			font-size: 4.427vw;
			line-height: 1.76;
			margin-top: 3.9vw;
			text-align: left;
        }
    }

    .pro_chance_text_br{
        display: none;
    }
    @media screen and (max-width: 1020px) {
        .pro_chance_text_br{
            display: block;
        }
    }
    @media screen and (max-width: 768px) {
        .pro_chance_text_br{
            display: none;
        }
    }

.big_news_area .entry_btn {
	width: 48.46%;
	margin: 40px auto 0;
}
    @media screen and (max-width: 768px) {
        .big_news_area .entry_btn {
			width: 100%;
			margin-top: 6.51vw;
        }
    }

.big_news_area .entry_btn:hover {
	opacity: 0.7;
}


/******************************
    media_information_area
******************************/

.media_information_area {
	width:100%;
    /* padding:140px 0; */
    padding: 150px 0 0;
    background-color: #EFEFEF;
}
    @media screen and (max-width: 1400px) {
        .media_information_area {
            padding: 10.714vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .media_information_area {
                /* padding:11.7vw 0; */
                padding:15.625vw 0 0;
        }
    }

.in_media_information_area {
	width:95%;
    max-width:1050px;
    margin:0 auto;
}
    @media screen and (max-width: 768px) {
        .in_media_information_area {
    		width: 89.5833%;
    		max-width: 688px;
        }
    }

.media_information_area h2 {
	/* margin:0 auto 40px; */
	width: 30.91%;
}
    @media screen and (max-width: 768px) {
        .media_information_area h2 {
			width: 44.04%;
    		margin-bottom:5vw;
        }
    }

    @media screen and (max-width: 768px) {
        .media_information_area h2 img{
    			width:100%;
        }
    }

.media_information_area .media_information_box {
	width:100%;
}

.media_information_area .media_information_box:not(:first-child) {
	margin-top: 40px;
}
	@media screen and (max-width: 768px) {
        .media_information_area .media_information_box:not(:first-child) {
                /* margin-top: 5.208vw; */
                margin-top: 10.417vw;
        }
    }

.media_information_area .media_information_box2 {
	width:100%;
	display: flex;
	justify-content: space-between;
	max-width: 766px;
	margin: 0 auto;
}

.media_information_area .media_information_box2 .media_information_item:nth-of-type(1) {
	width:15.6%;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item:nth-of-type(1) {
				width:31.97%;
				padding-top: 0;
        }
    }

.media_information_area .media_information_box2 .media_information_item:nth-of-type(2) {
	width:78.3%;
	position: relative;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item:nth-of-type(2) {
                /* width:57.55%; */
                width:58.55%;
        }
    }

.media_information_item_center {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}
    @media screen and (max-width: 768px) {
        .media_information_item_center {
            top: 0;
            transform: translateY(0%);
        }
    }

.media_information_area .media_information_box2 .media_information_item img {
	width:100%;
}

.media_information_area .media_information_date_pc {
	font-size: 1.6rem;
	color:#333;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_date_pc {
				width:100%;
    			font-size: 3.1vw;
        }
    }

.media_information_area .media_information_title {
	font-size: 1.8rem;
	line-height: 1.7;
	color:#333;
	margin-top: 12px;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_title {
    		font-size: 4.1vw;
			margin-top: 1.302vw;
        }
    }

.media_information_area .media_information_title span {
    /* color:#F18705; */
    color:#25B421;
}

.media_information_area .media_information_link {
	display: block;
}

.media_information_area .media_information_link:hover {
	opacity :0.7;
}

.media_information_area .media_information_box2 .media_information_item .media_pic {
	width: 100%;
}

/******************** accordion ********************/

.accordion_box {
  position: relative; }

.acc_hidden {
  display: none; }

.acc_hidden.is-show {
	margin-top: 30px;
}

.acc_btn {
  height: 130px;
  cursor: pointer;
  text-align: center;
  font-size: 2rem;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 100%;
  background-color: #462619;}
  @media screen and (max-width: 768px) {
    .acc_btn {
      height: 16vw;
	  bottom: -3.9vw;
      font-size: 4.1vw;} }

.acc_btn:after {
  content: "もっと見る";
  /* ラベルの文字 */
  letter-spacing: .05em;
  line-height: 2.5rem;
  position: absolute;
  bottom: 90px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  color: #FAFAFA;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  width: 600px;
  text-decoration:underline;}
  @media screen and (max-width: 768px) {
    .acc_btn:after {
      width: 93%;
      padding: 3.7vw 0;
      bottom: 4vw; } }

.acc_btn:before {
  content: "";
  font-weight: 700;
  position: absolute;
  display: inline-block;
  background-image: url("../img/arrow_white.webp");
  background-size: contain;
  background-repeat: no-repeat;
  bottom: 90px;
  left: calc(50% + 200px);
  -webkit-transform: translate(-140px, 0);
  transform: translate(-140px, 0);
  z-index: 1;
  width: 36px;
  height: 22px; }
  @media screen and (max-width: 768px) {
    .acc_btn:before {
	  left: calc(50% + 250px);
      width: 3.7vw;
      height: 3.5vw;
      bottom: 7vw; } }
  @media screen and (max-width: 420px) {
    .acc_btn:before {
	  left: calc(50% + 190px);
      width: 3.7vw;
      height: 3.5vw;
      bottom: 8vw; } }

.accordion_box .accordion_container {
  /* overflow: hidden; */
  -webkit-transition: all 0.1s;
  -moz-transition: all 0.1s;
  -ms-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s; }

.acc_btn.is-show {
  bottom: -60px; }
  @media screen and (max-width: 768px) {
    .acc_btn.is-show {
      bottom: -8vw; } }

@media screen and (max-width: 768px) {
  .acc_btn.is-show:nth-of-type(4) {
    bottom: -12vw; } }

.acc_btn.is-show:after {
  content: "閉じる";}

.acc_btn.is-show:before {
  content: "";
  transform: rotate(180deg);
  left: calc(50% + 40px);}
  @media screen and (max-width: 768px) {
    .acc_btn.is-show:before {
      	left: calc(50% + 60px);
		bottom: 8.5vw; } }
  @media screen and (max-width: 420px) {
    .acc_btn.is-show:before {
	  left: calc(50% + 40px);
      bottom: 9.5vw; } }

.accordion_box input:checked ~ .accordion_container {
  height: auto;
  padding-bottom: 80px;
  /* 閉じるボタンのbottomからの位置 */
  -webkit-transition: all 0.1s;
  -moz-transition: all 0.1s;
  -ms-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s; }




/******************************
    open comment area
******************************/
.open_comment_area{
    width:100%;
    padding:35px 0 0;
}
    @media screen and (max-width: 1400px) {
        .open_comment_area{
            width:100%;
            padding:2.5vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .open_comment_area{
            padding:12.24vw 0 0;
        }
    }

.open_comment_area h2{
    width: 100%;
    max-width: 206px;
}
    @media screen and (max-width: 768px) {
        .open_comment_area h2{
            width: 28.34%;
        }  
    }

.in_open_comment_area{
    width:95%;
    max-width:980px;
    margin:0 auto;
}
    @media screen and (max-width: 768px) {
        .in_open_comment_area{
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_open_comment_area h2 {
	width: 73.87%;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_open_comment_area h2 {
            width: 100%;
			max-width: 688px;
        }
    }

.open_comment_area_copy {
	color: #25B421;
	font-size: 2.8rem;
	line-height: 1.785;
	font-weight: 600;
	text-align: center;
	margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .open_comment_area_copy{
            font-size: 5.729vw;
			line-height: 1.5;
			margin-top: 5.729vw;
        }
    }

.open_comment_area_copy span{
	border-bottom: 14px solid #FFEB00;
}
    @media screen and (max-width: 768px) {
        .open_comment_area_copy span{
			border-bottom:0;
			background: linear-gradient(transparent 60%, #FFEB00 30%);
        }
    }

.shop_image {
	width: 95%;
	max-width: 768px;
	margin: 60px auto 0;
}
    @media screen and (max-width: 768px) {
        .shop_image{
			width:100%; 
			margin-top: 5.208vw;
        }
    }

.shop_image img {
	width: 100%;
	border-radius: 22px;
}
    @media screen and (max-width: 768px) {
        .shop_image img{
			border-radius: 0;
        }
    }

.in_open_comment_area .o_info{
	width: 78.36%;
	max-width: 768px;
	font-size: 1.8rem;
    line-height: 1.777;
	margin: 30px auto 0;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .in_open_comment_area .o_info{
			width: 100%;
            font-size:4.427vw;
            line-height: 1.764;
			margin-top: 5.208vw;
        }
    }

/******************** open_comment_area_0324 ********************/

/******************** slider ********************/
/*
.open_comment_area .open_comment .slider {
	position: relative;
	margin:0 auto 60px;
	width:100%;
	max-width: 688px;
	cursor: pointer;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .slider {
            margin:0 auto 30px;
        }
    }

.open_comment_area .open_comment .slider .slide-item {
	width: 100%;
	margin: 0 auto;
}

.open_comment_area .open_comment .slider .slide-item img {
	width:100%;
}

.open_comment_area .open_comment .slider .prev-arrow img,
.open_comment_area .open_comment .slider .next-arrow img{
    width: 60px;
    height:60px;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .slider .prev-arrow img,
		.open_comment_area .open_comment .slider .next-arrow img{
            width: 7.8vw;
    		height:7.8vw;
        }
    }

.open_comment_area .open_comment .slider .prev-arrow{
    position: absolute;
    left:10px;
    bottom: 47px;
    z-index: 4;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .slider .prev-arrow{
            left:1.3vw;
    		bottom:6.2vw;
        }
    }

.open_comment_area .open_comment .slider .next-arrow{
    position: absolute;
    right:10px;
    bottom: 47px;
    z-index: 4;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .slider .next-arrow{
            right:1.3vw;
    		bottom:6.2vw;
        }
    }


/******************** video_area ********************/
/*
.video_area {
	width: 688px;
	margin: 0 auto;
	margin-top: 90px;
}
    @media screen and (max-width: 768px) {
        .video_area {
            width:89.5833%;
            max-width: 688px;
			margin-top: 11.7vw;
        }
    }

.video_area video {
	max-width: 688px;
	width: 100%;
}

*/

/******************** store_manager ********************/

.store_manager {
	margin-top: 50px;
}
    @media screen and (max-width: 768px) {
        .store_manager{
            margin-top: 7.813vw;
        }
    }

.store_manager h3 {
	font-size: 2.4rem;
	font-weight: 600;
	color: #4D99BB;
	text-align: center;
}
   @media screen and (max-width: 768px) {
        .store_manager h3 {
            font-size: 4.948vw;
        }
    }

.store_manager .store_manager_flexbox {
	display: flex;
	justify-content: space-between;
    align-items: center;
	width: 100%;
	margin-top: 40px;
}
   @media screen and (max-width: 768px) {
        .store_manager .store_manager_flexbox {
            display: block;
			margin-top: 2.864vw;
        }
    }
.store_manager .store_manager_flexbox_top {
	margin-bottom: 60px;
}
    @media screen and (max-width: 768px) {
        .store_manager .store_manager_flexbox_top {
            margin-bottom: 6.51vw;
        }
    }
.sm_mb{
    margin-bottom: 50px;
}
    @media screen and (max-width: 768px) {
        .sm_mb{
            margin-bottom: 6.51vw;
        }
    }

.store_manager_info {
	width: 36.8%;
}
   @media screen and (max-width: 768px) {
        .store_manager_info {
			width: 100%;
            margin-top: 2.864vw;
        }
    }

.manager_image {
}
   @media screen and (max-width: 768px) {
        .manager_image {
			width: 100%;
            margin-top: 3.906vw;
        }
    }
.manager_image_kuwabara {
    width: 51%;
    max-width: 183px;
    margin: auto;
}
@media screen and (max-width: 768px) {
        .manager_image_kuwabara {
            width: 100%;
            max-width: 42.969vw;;
            margin-top: 3.906vw;
        }
    }

.manager_name {
	font-size: 2.4rem;
	text-align: center;
    margin-top: 20px;
    display: flex;
    /* align-items: center; */
    justify-content: center;
}
   @media screen and (max-width: 768px) {
        .manager_name {
            font-size:6.25vw;
			margin-top: 0;
        }
    }
.manager_name_onuma{
    margin-top: 9px;
}
@media screen and (max-width: 768px) {
    .manager_name_onuma {
        font-size:6.25vw;
        margin-top: 0;
    }
}


@media screen and (max-width: 768px) {
    .manager_name_kuwabara {
        margin-top: 2.604vw;
    }
}
.store_manager_info .manager_name_kana {
	font-size: 1.2rem;
    /* vertical-align: middle; */
    margin-left: 10px;
    margin-top: 9px;
}
   @media screen and (max-width: 768px) {
        .store_manager_info .manager_name_kana {
            font-size:3.125vw;
			margin-left: 2.604vw;
            margin-top:2.344vw;
        }
    }

.birthdate {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 4px;
}
   @media screen and (max-width: 768px) {
        .birthdate  {
            font-size:3.645vw;
			margin-top: 2.6vw;
        }
    }

.label{
    width: 224px;
    margin: 9px auto 0;
    padding: 4px 0 5px;
    border-radius: 8px;
    background-color: #4D99BB;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .label{
            max-width: 430px;
            width: 62.5%;
            margin: 2.995vw auto 0;
            font-size: 3.646vw;
            border-radius: 1.302vw;
        }
    }

.store_manager_profile {
	width:60.2%;
}
   @media screen and (max-width: 768px) {
        .store_manager_profile  {
			width: 100%;
            margin: 3.906vw auto;
        }
    }

 .profile_title {
	width: 159px;
}
   @media screen and (max-width: 768px) {
         .profile_title {
            width: 39.82%;
        }
    }

.profile_title_add {
    width: 64px;
}
    @media screen and (max-width: 768px) {
            .profile_title_add {
            width: 16.56%;
        }
    }
.profile_title_wrap {
    display: flex;
    align-items: center;
}
    .profile_title_sub {
    color: #4D99BB;
    font-size: 1.4rem;
    margin-left: 11px;
}


.store_manager_profile dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	line-height: 1.714;
	width:100%;
	margin-top: 10px;
}
    @media screen and (max-width: 1000px) {
        .store_manager_profile dl:not(:first-of-type){
            margin-top: 0;
        }
    }
   @media screen and (max-width: 768px) {
        .store_manager_profile dl  {
            font-size:3.906vw;
			margin-top: 1.302vw;
        }
    }

.store_manager_profile .profile-list{
    display: flex;
    align-items: flex-start;
}
    @media screen and (max-width: 1000px) {
        .store_manager_profile .profile-list{
            display: block;
        } 
    }

.store_manager_profile dt {
	width: 4%;
}
   @media screen and (max-width: 768px) {
        .store_manager_profile dt {
            width: 7%;
        }
    }

.store_manager_profile dd {
	width:94%;
}
   @media screen and (max-width: 768px) {
        .store_manager_profile dd {
            width: 93%;
        }
    }

.store_manager_profile dd .textg {
    color:#4D99BB;
    font-weight: bold;
}
.store_manager_profile dd .bold_bl {
    font-weight: bold;
}

 .message_title {
	width:81px;
	margin-top: 10px;
}
   @media screen and (max-width: 768px) {
        .message_title {
            width: 20.78%;
        }
    }

.message_text {
	font-size: 1.4rem;
	line-height: 1.714;
	margin-top: 10px;
}
   @media screen and (max-width: 768px) {
        .message_text {
            font-size: 3.906vw;
			line-height: 1.6;
			margin-top: 1.302vw;
        }
    }

.staff_introduction {
	background-color: #EFEFEF;
	width: 95%;
	max-width: 768px;
	margin: 60px auto 0;
	padding: 30px 44px;
	border-radius: 22px;
}
   @media screen and (max-width: 768px) {
        .staff_introduction {
			width: 100%;
			border-radius: 4.557vw;
            font-size: 3.906vw;
			line-height: 1.6;
			margin-top: 6.51vw;
			padding:  3.906vw 5.208vw 5.208vw;
        }
    }

.staff_introduction_title {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	color: #4D99BB;
}
   @media screen and (max-width: 768px) {
        .staff_introduction_title {
			font-size: 4.687vw;
			margin-bottom: 2.604vw;
        }
    }

.staff_introduction_text {
	font-size: 1.4rem;
	line-height: 1.714;
	margin-top: 10px;
}
   @media screen and (max-width: 768px) {
        .staff_introduction_text {
            font-size: 3.906vw;
        }
    }



/******************************
    charm area
******************************/
.charm_area{
    width:100%;
    padding:100px 0 150px;
}
    @media screen and (max-width: 1400px) {
        .charm_area{
            padding:7.143vw 0 10.714vw;
        }
    }
    @media screen and (max-width: 768px) {
        .charm_area{
            padding:13.021vw 0 15.625vw;
        }
    }

.charm_area.add2401_mt{
    width:100%;
    padding:94px 0 150px;
}
   
    @media screen and (max-width: 768px) {
        .charm_area.add2401_mt{
            padding:18.75vw 0 13.021vw;
        }
    }
.charm_area.add2404_mt{
    width:100%;
    padding:94px 0 30px;
}
   
    @media screen and (max-width: 768px) {
        .charm_area.add2404_mt{
            padding:18.75vw 0 13.021vw;
        }
    }

.in_charm_area {
	width:95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_charm_area{
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_charm_area h2 {
	width:100%;
	max-width: 240px;
	/* margin: 0 auto; */
}
    @media screen and (max-width: 768px) {
        .in_charm_area h2 {
			width: 34.88%;
        }
    }

.in_charm_area .charm_info{
    width:100%;
    margin:40px auto 0;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.777;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .charm_info{
            max-width:688px;
            margin-top: 5.468vw;
            font-size: 4.427vw;
            line-height: 1.764;
			text-align: left;
        }
    }

.in_charm_area .charm_info span{
    font-weight: 600;
	color: #25B421;
}

.charm_area_copy {
	width: 100%;
	max-width: 257px;
	margin: 42px auto 0;
}
    @media screen and (max-width: 768px) {
        .charm_area_copy {
            width: 62.5%;
            max-width: 430px;
			margin: 7.812vw auto 0;
        }
    }

.charm_area_copy:not(:first-child) {
	margin: 60px auto 0;
}
    @media screen and (max-width: 768px) {
        .charm_area_copy:not(:first-child) {
			margin: 7.812vw auto 0;
        }
    }

.charm_area_copy3 {
    max-width: 232px;
}
@media screen and (max-width: 768px) {
    .charm_area_copy3 {
        width: 55.82%;
        max-width: 384px;
    }
}

.pont_area_flexbox {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .pont_area_flexbox {
            display: block;
			margin-top: 5.589vw;
        }
    }

.pont_area_flexbox .point_area:nth-of-type(2) {
}
    @media screen and (max-width: 768px) {
        .pont_area_flexbox .point_area:nth-of-type(2) {
			margin-top: 8.593vw;
        }
    }

.point_area {
	width: 47.65%;
	display: flex;
    flex-direction: column;
}
    @media screen and (max-width: 768px) {
        .point_area {
            width: 100%;
        }
    }

.point_img {
	width: 120px; 
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .point_img {
            width: 24.7%;
        }
    }

.point_copy{
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.545;
	text-align: center;
	margin-top: 10px;
}
    @media screen and (max-width: 768px) {
        .point_copy{
            /* font-size:5.1vw; */
            font-size:4.687vw;
            line-height:1.61;
			margin-top: 2.604vw;
        }
    }

.point_pic{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 1.75;
}
    @media screen and (max-width: 768px) {
        .point_pic{
            margin-top: 3.9vw;;
            font-size: 3.9vw;
            line-height: 1.6;
        }
    }

.point_text {
	font-size: 1.6rem;
	line-height: 1.75;
	margin-top: 20px;
	flex-grow: 1;
}
    @media screen and (max-width: 768px) {
        .point_text {
            font-size: 3.906vw;
            margin-top: 3.906vw;
        }
    }

.point_text .font-b{
    font-weight: 600;
	color: #25B421;
}
.point_text .font-small{
    font-size:1.6rem;
}
    @media screen and (max-width: 768px) {
        .point_text .font-small{
            font-size:3.906vw;
            line-height: 6.641vw;
        }
    }

.point_area_btn{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top:60px;
}
    @media screen and (max-width: 768px) {
        .point_area_btn{
            margin-top:3.906vw;
        }
    }

.point_area_btn p{
    width:32%;
}

.point_area_btn p a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
    height:40px;
    margin: 0 auto;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 6px;
    font-size:1.4rem;
    font-weight:600;
	padding: 10px 15px;
    /* line-height:3.6rem; */
}
.point4_area_btn p a,
.point5_area_btn p a,
.point6_area_btn p a {
	width: 180px;
}

    @media screen and (max-width: 950px) {
        .point1_area_btn{
            justify-content: center;
        }
		.point1_area_btn p{
            width: 45%;
        }
		.point1_area_btn p:nth-of-type(2){
            margin-left: 10px;
        }
		.point1_area_btn p:nth-of-type(3){
            margin-top: 10px;
        }
		.point1_area_btn p a{
            max-width: 180px;
        }
    }
    @media screen and (max-width: 768px) {
        .point_area_btn p{
            /* width: 42.83vw; */
            width: 45.83vw;
        }
        .point1_area_btn p{
            width: 45%;
        }
		.point1_area_btn p:nth-of-type(2){
            margin-left: 3.9vw;
        }
        .point_area_btn p:nth-of-type(n + 3){
            margin-top:3.5vw;
        }
		.point_area_btn p a{
			width: 100%;
			max-width: none;
            justify-content: flex-start;
            height:auto;
            font-size:3.906vw;
            padding: 2vw 5.2vw 2vw;
        }
    }

.point_area_btn p a:hover{
    opacity: 0.7;
}
.point_area_btn p a::after{
    display: inline-block;
    content:"";
    width:12px;
    height:7px;
	background-size: 12px 7px;
    background-image:url(../img/btn_arrow.webp);
    background-repeat: no-repeat;
    position: absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .point_area_btn p a::after{
            width:4.297vw;
            height:2.474vw;
            background-size:4.297vw 2.474vw;
            /* right: 4.427vw; */
            right:2.427vw;
        }
    }


.point_area_btn p a.tab_icon::after{
    display: inline-block;
    content:"";
    width:13px;
    height:13px;
	background-size: 13px 13px;
    background-image:url(../img/tab_icon.webp);
    background-repeat: no-repeat;
    position: absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .point_area_btn p a.tab_icon::after{
            width: 4.948vw;
            height: 4.948vw;
            background-size: 4.948vw 4.948vw;
            /* right: 4.427vw; */
            right:2.427vw;
        }
    }


/* 202309 addcss */
.in_charm_area_202309 {
	width:95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309{
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_charm_area_202309 h2 {
	width:24.3%;
	max-width: 238px;
	/* margin: 0 auto; */
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 h2 {
			width: 34.88%;
        }
    }

.in_charm_area_202309 h2.add2401_width {
    width:24.69%;
    max-width: 242px;
    /* margin: 0 auto; */
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 h2.add2401_width {
            width: 35.17%;
        }
    }


.in_charm_area_202309 .charm_info{
    width:100%;
    margin:40px auto 0;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.777;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .charm_info{
            max-width:688px;
            margin-top: 5.468vw;
            font-size: 4.427vw;
            line-height: 1.764;
			text-align: left;
        }
    }

.in_charm_area_202309 .charm_info span{
    font-weight: 600;
	color: #4D99BB;
}

.charm_area_copy_202309 {
	width: 100%;
	max-width: 257px;
	margin: 42px auto 0;
}
    @media screen and (max-width: 768px) {
        .charm_area_copy_202309 {
            width: 62.5%;
            max-width: 430px;
			margin: 7.812vw auto 0;
        }
    }

.charm_area_copy_202309:not(:first-child) {
	margin: 60px auto 0;
}
    @media screen and (max-width: 768px) {
        .charm_area_copy_202309:not(:first-child) {
			margin: 7.812vw auto 0;
        }
    }

.in_charm_area_202309 .point_area_202309.mt40{
    margin-top:40px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309.mt40{
            margin-top:7.813vw;
        }
    }

.in_charm_area_202309 .point_area_202309{
    margin-top:50px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309{
            margin-top:7.813vw;
        }   
    }

.in_charm_area_202309 .point_area_202309 .point_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 .point_box{
            display: block;
        }
    }

.in_charm_area_202309 .point_area_202309 .point_box_text{
    width:47.66%;
    max-width:467px;
    margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 .point_box_text{
            width:100%;
            max-width: 688px;
            margin-top: 0;
        }
    }

.in_charm_area_202309 .point_area_202309 .point_box_text .point-img{
    width:105px;
    /* height:50px; */
}
.in_charm_area_202309 .point_area_202309 .point_box_text .point-img img{
    width:100%;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 .point_box_text .point-img{
            width:22vw;    
            max-width:160px;
            margin: 0 auto;
        }
    }

.in_charm_area_202309 .point_area_202309 .point_box_img{
    width:47.66%;
    max-width:467px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 .point_box_img{
            width:100%;
            max-width: 688px;
        }
    }

.in_charm_area_202309 .point_area_202309 .sp_step-img{
    width:100%;
}
.in_charm_area_202309 .point_area_202309 .point_box_img img,
.in_charm_area_202309 .point_area_202309 .sp_step-img img{
    width:100%;
}

.in_charm_area_202309 .point_area_202309 dl dt{
    font-size:2.2rem;
    font-weight: 600;
    line-height: 1.5;
    margin-top:10px;
    margin-bottom:20px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 dl dt{
            font-size:4.688vw;
            font-size: 4.557vw;
            line-height:1.6;
            margin-top:2.604vw;
            margin-bottom:3.906vw;
            text-align: center;
        }
    }

.in_charm_area_202309 .point_area_202309 dl dd{
    font-size:1.6rem;
    font-weight: 400;
    line-height: 1.75;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 dl dd{
            margin-top: 3.125vw;;
            font-size:3.906vw;
            line-height: 1.6;
        }
    }

.in_charm_area_202309 .point_area_202309 dl dd .font-b{
    font-weight: 600;
    color: #4D99BB;
}
.in_charm_area_202309 .point_area_202309 dl dd .font-small{
    font-size:1.8rem;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 dl dd .font-small{
            font-size:4.1vw;
            line-height: 6.641vw;
        }
    }
.in_charm_area_202309 .point_area_202309 dl dd.point_note{
    font-size:1.4rem;
    margin-top: 8px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 dl dd.point_note{
            font-size:3.125vw;
            margin-top: 1.042vw;
        }
    }

/* 202310 add */
    @media screen and (max-width: 768px) {
        .in_charm_area_202309 .point_area_202309 dl .step7_notes{
            font-size: 3.125vw;
            line-height: 1.5;
            display: inline-block;
            margin-top: 1vw;
        }
    }
/* 202310 add end*/

.point_area_btn_202309{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    /* width: 44.476%;
    max-width: 467px; */
    width: 467px;
    margin: 30px auto 0;
}
    @media screen and (max-width: 768px) {
        .point_area_btn_202309{
            width: 100%;
            margin:3.906vw auto 0;
        }
    }

.point_area_btn_202309 p{
    width:31%;
}
.point_area_btn_202309 p a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    width: 100%;
    height:40px;
    margin: 0 auto;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 6px;
    font-size:1.4rem;
    font-weight:600;
    padding: 10px 15px;
    color:#462619;
    /* line-height:3.6rem; */
}

.point_area_btn_only p a{
    width: 180px;
}

    @media screen and (max-width: 768px) {
        .point_area_btn_202309 p{
            width: 42.83vw;
        }
        .point_area_btn_202309 p:nth-of-type(n + 3){
            margin-top:3.5vw;
        }
        .point_area_btn_202309 p a{
            width: 100%;
            max-width: none;
            justify-content: flex-start;
            height:auto;
            font-size:3.906vw;
            padding: 2.604vw 3.906vw 2.604vw;
            border-radius: 1.302vw;
        }
    }

.point_area_btn_202309 p a:hover{
    opacity: 0.7;
}
.point_area_btn_202309 p a::after{
    display: inline-block;
    content:"";
    width:12px;
    height:7px;
    background-size: 12px 7px;
    background-image:url(../img/btn_arrow.webp);
    background-repeat: no-repeat;
    position: absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .point_area_btn_202309 p a::after{
            width:4.297vw;
            height:2.474vw;
            background-size:4.297vw 2.474vw;
            /* right: 4.427vw; */
            right:2.427vw;
        }
    }


.point_area_btn_202309 p a.tab_icon::after{
    display: inline-block;
    content:"";
    width:13px;
    height:13px;
    background-size: 13px 13px;
    background-image:url(../img/tab_icon.webp);
    background-repeat: no-repeat;
    position: absolute;
    right:15px;
    top:0;
    bottom:0;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .point_area_btn_202309 p a.tab_icon::after{
            width: 3.906vw;
            height: 3.906vw;
            background-size: 3.906vw 3.906vw;
            /* right: 4.427vw; */
            right:2.427vw;
        }
    }


/******************************
    problem-voice area
******************************/
.problem-voice_area{
    width:100%;
    padding:144px 0 150px;
}
    @media screen and (max-width: 1400px) {
        .problem-voice_area{
            padding:10.286vw 0 10.714vw;
        }  
    }
    @media screen and (max-width: 768px) {
        .problem-voice_area{
            padding:19.531vw 0;
        }
    }

.in_problem-voice_area {
	width: 95%;
	max-width: 980px;
	margin:0 auto; 
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area {
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_problem-voice_area h2:nth-of-type(1) {
	width: 52.55%;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area h2:nth-of-type(1) {
            width: 74.8%;
        }
    }

.in_problem-voice_area h2:nth-of-type(2) {
	width: 25.81%;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area h2:nth-of-type(2) {
            width: 36.77%;
        }
    }

.problem_area{
    width:100%;
    margin: 0 auto 144px;
}
    @media screen and (max-width: 1400px) {
        .problem_area{
            margin: 0 auto 10.286vw;
        }  
    }
    @media screen and (max-width: 768px) {
        .problem_area{
            margin: 0 auto 19.531vw;
        }  
    }

.voice_area{
    width:100%;
    margin: 40px auto 0;
}
    @media screen and (max-width: 768px) {
        .voice_area{
            margin: 6.51vw auto 0;
        }
    }

/******************** problem_box ********************/

.problem_box:first-of-type{
	display: flex;
	justify-content: flex-end;
    margin-top:40px;
}
    @media screen and (max-width: 768px) {
		.problem_box:first-of-type{
            margin-top:11.719vw;
        }
    }

.problem_box:nth-of-type(2){
	display: flex;
	justify-content: flex-start;
}
    @media screen and (max-width: 768px) {
        .problem_box:nth-of-type(2) {
            margin-top: 3.906vw;
        }
    }

/******************** voice_box ********************/

.voice_box:nth-of-type(1),
.voice_box:nth-of-type(2){
	display: flex;
	justify-content: flex-start;
}
    @media screen and (max-width: 768px) {
        .voice_box:nth-of-type(1),
		.voice_box:nth-of-type(2) {
            margin-top: 3.906vw;
        }
    }

.voice_box:nth-of-type(3),
.voice_box:nth-of-type(4){
	display: flex;
	justify-content: flex-end;
}
    @media screen and (max-width: 768px) {
		.voice_box:nth-of-type(3),
		.voice_box:nth-of-type(4){
			flex-flow: row-reverse;
            margin-top:11.719vw;
        }
    }

.voice_box:not(:first-child) {
	margin-top: 30px;
}

    @media screen and (max-width: 768px) {
		.voice_box_item1{
            width: 21.8%;
        }
    }
	@media screen and (max-width: 768px) {
		.voice_box_item2{
            width: 80%;
            display: flex;
            align-items: center;
        }
    }

.voice_box_title1 {
	color: #F18705;
	text-align: left;
	margin-top: 15px;
}
    @media screen and (max-width: 768px) {
        .voice_box_title1 {
            margin-top: 0;
        }
    }

.voice_box_title2 {
	color: #4D99BB;
	text-align: right;
	margin-top: 15px;
}
	@media screen and (max-width: 768px) {
		.voice_box_title2{
            text-align: left;
            margin-top: 0;
        }
    }

.voice_box_title1,
.voice_box_title2 {
	font-size: 2rem;
	font-weight: 600;
}
	@media screen and (max-width: 768px) {
		.voice_box_title1,
		.voice_box_title2{
            font-size: 4.166vw;
			margin-left: 4.166vw;
        }
    }

.voice_box_title1 span,
.voice_box_title2 span{
	color: #333;
	font-size: 1.4rem;
	font-weight: 400;
}
	@media screen and (max-width: 768px) {
		.voice_box_title1 span,
		.voice_box_title2 span{
            font-size: 3.125vw;
        }
    }

/******************** コメント部分 ********************/

.problem_box_text,
.problem_box_text2 {
    position: relative;
    width:100%;
    max-width:560px;
    border-radius: 20px;
    padding:30px 20px;
    font-size:2rem;
    font-weight:400;
    line-height:3.2rem;
}
    @media screen and (max-width: 768px) {
        .problem_box_text,
		.problem_box_text2{
            width:81.39%;
            font-size: 3.906vw;
            line-height:6.641vw;
            padding:3.906vw 2.604vw;
        }
    }

.voice_box_text,
.voice_box_text2 {
    position: relative;
    border-radius: 20px;
    padding:20px 30px;
    font-size:1.6rem;
    font-weight:400;
    line-height:1.75;
	margin-top: 35px;
	max-width: 768px;
}
    @media screen and (max-width: 768px) {
		.voice_box_text,
		.voice_box_text2{
            width:100%;
            font-size: 3.906vw;
            line-height:6.641vw;
            padding:5.208vw;
			margin-top: 3.906vw;
        }
    }

.problem_box_text{
    height:117px;
    background-color:#F8E3C9;
    margin-right:29px;
}
    @media screen and (max-width: 768px) {
        .problem_box_text{
            min-width: 117px;
            height: 100%;
        }
    }

.voice_box_text {
    background-color:#F8E3C9;
    margin-right:29px;
}

.problem_box_text2 {
    color:#000;
    height:auto;
    background-color:#EAF5FC;
    margin-left:29px;
}

.problem_box_text2 .problem_pic{
    display: inline-block;
    margin-bottom: 20px;
}
    @media screen and (max-width: 768px) {
        .problem_box_text2 .problem_pic{
            margin-bottom: 2.604vw;
        }
    }

.voice_box_text2 {
    color:#333;
    height:auto;
    background-color:#EAF5FC;
    margin-left:29px;
}
    @media screen and (max-width: 768px) {
        .voice_box_text2{
            margin-left:0;
        }
    }

.problem_box_text2 p.font-color em{
    font-style: normal;
    font-weight:600;
}
.problem_box_text2 p.font-color b{
    font-weight:normal;
}

/******************** 続きを見る＆閉じる部分 ********************/
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .more_link a,
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a{
    display: inline-block;
    width: 100%;
    text-align: center;
    color:#333333;
    font-size:2rem;
    font-weight: 400;
    line-height: 3.2rem;
    text-decoration: underline;
    margin-top:18px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .more_link a,
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a{
            font-size:4.167vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .more_link a::after,
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a::after{
    display:inline-block;
    content: "";
    width:16px;
    height:10px;
    background-image: url(../img/more_arrow.webp);
    background-repeat: no-repeat;
	background-size: 16px 10px;
    position: relative;
    top:-2px;
    left:13px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .more_link a::after,
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a::after{
            width:3.125vw;
            height:1.302vw;
            background-size: 3.125vw 1.302vw;
			top: -0.724vw;
            left:1.692vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a::after{
    transform: rotate(180deg);
    top:-2px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a::after{
            top: -0.724vw;
        }
    }

/******************** problem_box コメント吹き出し部分 ********************/

.problem_box_text::after,
.problem_box_text2::after{
    content:"";
    display: inline-block;
    position: absolute;
    top:35px;
    width: 0;
    height: 0;
}
    @media screen and (max-width: 768px) {
        .problem_box_text::after,
		.problem_box_text2::after{
            top:5.208vw;
        }
    }

.problem_box_text::after{
    right:-20px;
    border-left: 20px solid #F8E3C9;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.problem_box_text2::after{
    left:-20px;
    border-right: 20px solid #EAFCFA;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

/******************** voice_box コメント吹き出し部分 ********************/

.voice_box_text::after,
.voice_box_text2::after{
    content:"";
    display: inline-block;
    position: absolute;
    top:35px;
    width: 0;
    height: 0;
}

.voice_box_text::after{
    left: 50px;
    border: 15px solid transparent;
    border-bottom: 15px solid #F8E3C9;
    top: -30px;
}
    @media screen and (max-width: 768px) {
        .voice_box_text::after{
            left: 46%;
        }
    }
.voice_box_text2::after{
    right: 50px;
    border: 15px solid transparent;
    border-bottom: 15px solid #EAFCFA;
    top: -30px;
}
    @media screen and (max-width: 768px) {
        .voice_box_text2::after{
            left: 46%;
        }
    }

/******************** 写真＆名前部分 ********************/
.problem_box_img{
    width:90%;
    max-width:83px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.375;
}
    @media screen and (max-width: 768px) {
        .problem_box_img{
            width:14.534%;/* 見栄え調整 */
            font-size:2.865vw;
            line-height:4vw;
        }
    }

.voice_box_img{
    width:83px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.375;
}
    @media screen and (max-width: 768px) {
		.voice_box_img{
					width:14.534%;/* 見栄え調整 */
					font-size:2.865vw;
					line-height:4vw;
				}
			}

.voice_box_img1,
.voice_box_img2{
	margin-right: 15px;
}
    @media screen and (max-width: 768px) {
		.voice_box_img1,
		.voice_box_img2{
					width:100%;
				}
			}

.voice_box_img3,
.voice_box_img4{
	margin-left: 15px;
}
		@media screen and (max-width: 768px) {
		.voice_box_img3,
		.voice_box_img4{
			width:100%;
			margin-left: 0;
				}
			}

.problem_box_img img{
    width: 100%;
    margin-bottom: 12px;
}
    @media screen and (max-width: 768px) {
        .problem_box_img img{
            margin-bottom:1.953vw;
        }
    }

.problem_box_img span{
    display:block;
}
.problem_box_img span.font-small{
    /* font-size:1.8rem; */
    font-size:1.3rem;
}
    @media screen and (max-width: 768px) {
         .problem_box_img span.font-small{
            font-size:2vw;
            line-height: 2.5vw;
            margin-top:0.4vw;
        }
    }
    @media screen and (max-width: 530px) {
        .problem_box_img span.font-small{
            font-size:2.865vw;
            line-height: 4vw;
            margin-top:0.4vw;
        }
    }


/******************** お悩み部分 problem_list ********************/
.in_problem-voice_area .problem_area .problem_list{
    width:100%;
    max-width:768px;
    padding:30px;
    margin:30px auto 0;
    background-color:#F0F0F0;
    border-radius: 20px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list{
            padding: 4.427vw 4.947vw 5.208vw;
            margin-top: 5.208vw;
			border-radius: 2.604vw;
        }
    }

.in_problem-voice_area .problem_area .problem_list p{
    color:#4D99BB;
    font-size:2rem;
    font-weight:600;
    line-height: 1.5;
    text-align: center;
    margin-bottom:14px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list p{
            /* font-size: 4.687vw; */
            font-size: 4.5vw;
            line-height: 1.61;
        }
    }

.in_problem-voice_area .problem_area .problem_list ul {
	margin: 0 auto;
	width: 62%;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list ul{
            width: 100%;
        }
    }

.in_problem-voice_area .problem_area .problem_list ul li{
    font-size:1.6rem;
    font-weight:400;
    line-height: 1.5;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list ul li{
            font-size: 3.906vw;
            line-height: 1.6;
            text-indent: -3.906vw;
            padding-left: 3.906vw;
        }
    }

.in_problem-voice_area .problem_area .problem_list ul li:not(:last-of-type){
    margin-bottom:16px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list ul li:not(:last-of-type){
            margin-bottom:2.604vw;
        }
    }

.in_problem-voice_area .problem_area .problem_list ul li::before{
    content:"";
    display:inline-block;
    position: relative;
    top:3px;
    width:25px;
    height:22px;
    background-image: url(../img/check_icon.webp);
    background-size:25px 22px;
    background-repeat: no-repeat;
    margin-right:5px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list ul li::before{
            width:3.255vw;
            height:2.865vw;
            background-size: 3.255vw 2.865vw;
            margin-right: 0.651vw;
            position: relative;
            top: 0;
        } 
    }


/******************************
    price area
******************************/
.price_area{
    width:100%;
    padding:150px 0 0;
    /* background-color:#fff; */
    background-color: #EFEFEF;
}
    @media screen and (max-width: 1400px) {
        .price_area{
            padding:10.714vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .price_area{
            padding:15.625vw 0 0;
        }
    }

.price_selection{
    display: flex;
    /* width: 93.33%; */
    width: 100%;
    max-width: 980px;
    margin: 40px auto 80px;
}
    @media screen and (max-width: 768px) {
        .price_selection{
            display: block;
            width: 100%;
            max-width: 688px;
            margin: 5.859vw  auto 6.51vw;
        }
    }

.price_selection > div{
    width: 50%;
}
    @media screen and (max-width: 768px) {
        .price_selection > div{
            width: 100%;
        } 
    }

.price_selection > div img{
    width: 100%;
}

.in_price_area{
    width: 95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_price_area{
			width: 89.6%;
			max-width: 688px;
        }
    }

.in_price_area h2{
    width: 32%;
    max-width: 308px;
}
    @media screen and (max-width: 768px) {
        .in_price_area h2 {
			width: 44.33%;
        }
    }

.price_box{
    /* width:93.33%; */
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .price_box{
            width:100%;
            max-width: 688px;
        }
    }

.price_box .member_box{
    width: 100%;
    margin:-80px auto 0;
    padding-top:80px;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box{
            margin: -13.02vw auto 0;
            padding-top: 13.02vw;
        }
    }

.price_box .member_box:nth-of-type(n+2){
    /*margin-top: -2.857vw;*//*headerの高さとページ内リンク分の調整の数値 「header-実際の余白=40pxをマイナスで指定する」1400pxで計算*/
    margin-top: -1.786vw;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box:nth-of-type(n+2){
            margin-top: -6.51vw;/*「header高さ-実際の余白=50pxをマイナスで指定する」768pxで計算*/
        }
    }


/******************** 表上の吹き出し部分 ********************/
.price_box .member_box .member_desc{
    position: relative;
    width: 100%;
    height:auto;
    padding:30px 50px;
    border-radius: 22px;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box .member_desc{
            max-width:100%;
            padding:5.208vw 3.906vw 4.557vw;
            border-radius: 2.604vw;
        }
    }

.price_box .member_box .member_desc.lesson_desc{
    background: #4D99BB;
}
.price_box .member_box .member_desc.range_desc{
    background: #F18705;
}

.price_box .member_box .member_desc::after{
    content:"";
    display: inline-block;
    position: absolute;
    width: 0;
    height: 0;
    bottom:-20px;
    left:0;
    right:0;
    margin: 0 auto;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
}

.price_box .member_box .member_desc.lesson_desc::after {
    border-top: 20px solid #4D99BB;
}
.price_box .member_box .member_desc.range_desc::after {
    border-top: 20px solid #F18705;
}


.price_box .member_box .member_desc .member_title{
    color: #ffffff;
    font-size:2.4rem;
    font-weight: 700;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box .member_desc .member_title{
            font-size:5.208vw;
        }
    }

.price_box .member_box .member_desc .member_desc_flexbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box .member_desc .member_desc_flexbox{
            display: block;
            margin-top: 3.255vw;
        }
    }

.price_box .member_box .member_desc .member_desc_flexbox .member_info{
    width: 43.86%;
    color: #fff;
    font-size:1.8rem;
    font-weight:400;
    line-height:1.777;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box .member_desc .member_desc_flexbox .member_info{
            width: 100%;
            margin: 0 auto;
            font-size: 3.906vw;
            line-height:1.6;
            margin-bottom: 4.167vw;
        }
    }

.price_box .member_box .member_desc .member_desc_flexbox .member_privelege{
    width: 49.44%;
}
    @media screen and (max-width: 768px) {
        .price_box .member_box .member_desc .member_desc_flexbox .member_privelege{
            width: 100%;
        }
    }

.price_box .member_box .member_desc .member_desc_flexbox img{
    width:100%;
}


/******************** 料金表 ********************/
.price_box table{
    width:100%;
    margin-top:37px;
    background-color: #ffffff;
}
.price_box table .table_w1{
    width:41.02%;
    max-width:402px;
}
.price_box table .table_w2{
    width:32.35%;
    max-width:317px;
}
.price_box table .table_w3{
    width:26.63%;
    max-width:261px;
}

    @media screen and (max-width: 768px) {
        .price_box .add2401_table_scroll{
            overflow-y: scroll
        }
        .price_box .add2401_table_scroll table{
            width: 140%;
        }
    }

.price_box table .table_w1_2401,
.price_box table .table_w2_2401{
    width:30.6%;
    max-width:300px;
}
.price_box table .table_w3_2401,
.price_box table .table_w4_2401{
    width:19.4%;
    max-width:190px;
}
@media screen and (max-width: 768px) {
    .price_box table .table_w1_2401{
        width:30.1%;
        max-width:280px;
    }
    .price_box table .table_w2_2401{
        width:23.65%;
        max-width:220px;
    }
    .price_box table .table_w3_2401{
        width:19.89%;
        max-width:185px;
    }
    .price_box table .table_w4_2401{
        width:26.34%;
        max-width:245px;
    }
}

.price_box table .brview{
    display: none;
}
    @media screen and (max-width: 1000px) {
        .price_box table .brview{
            display: block;
        }
    }

.price_box table th,
.price_box table td{
    border: 1px #707070 solid;
    text-align: center;
    vertical-align: middle;
}

.price_box table th{
    color:#fafafa;
    font-size:1.6rem;
    font-weight:600;
    line-height: 2.9rem;
    background-color:#959595;
    padding:7px 0;
}
.price_box table .table_font1{
    font-size: 1.6rem;
    font-weight: 400;
    padding:10px 0;
}
    @media screen and (max-width: 768px) {
        .price_box table .table_font1{
            padding: 3.255vw;
        }
    }
.price_box table .table_font2{
    font-size: 1.6rem;
    font-weight: 400;
    padding:10px 0;
}
    @media screen and (max-width: 768px) {
        .price_box table .table_font2{
            padding: 3.255vw;
        }
    }
.price_box table .table_font3{
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 3rem;
    padding:10px 0;
}
    @media screen and (max-width: 768px) {
        .price_box table .table_font3{
            padding: 3.255vw;
        }
    }

    @media screen and (max-width: 768px) {
        .price_box table .table_font_padding{
            padding: 1.953vw 0;
        }        
    }

    @media screen and (max-width: 768px) {
        .price_box table th{
            font-size:4.167vw;
            line-height:5.469vw;
        }
        .price_box table .table_font1{
            font-size:4.167vw;
            line-height:5.469vw;
        }
        .price_box table .table_font2{
            font-size:4.167vw;
            /* line-height:5.469vw; */
            line-height: 4.2vw;
        }
        .price_box table .table_font3{
            font-size:4.167vw;
            /* line-height:5.469vw; */
            line-height: 4.2vw;
        }
        .price_box table .table_font2 span,
        .price_box table .table_font3 span{
            font-size:2.865vw;
        }
    }

/* 202410 add */
.price_box .table01_2410 .table_font1{
    padding: 11px 5px;
}
.price_box .table01_2410 .table_font1 span{
    font-size: 13px;
    display: inline-block;
    margin-top: 5px;
    font-weight: normal;
}
.price_box .table01_2410 .table_font1 .junior_span{
    font-size: 12px;
    line-height: 1.3;
}
.price_box .table01_2410 .table_font3 span{
    font-size: 13px;
}
@media screen and (max-width: 768px) {
    .price_box .table01_2410 .table_font1{
        padding: 4vw 0 3vw;
    }
    .price_box .table01_2410 .table_font1{
        line-height: 1;
    }
    .price_box .table01_2410 .table_font1 span{
        margin-top: 0;
        line-height: 2;
    }
    .price_box .table01_2410 .table_font1 span{
        font-size:2.865vw;
    }
    .price_box .table01_2410 .table_font1 .junior_span{
        font-size:2.865vw;
        margin-top: 1vw;
    }
    .price_box .table01_2410 .table_font3{
        padding: 4vw 0 3vw;
    }
    .price_box .table01_2410 .table_font3 span{
        font-size: 2.865vw;
    }
}

/* 202410 add end*/


/******************** 表下注釈 ********************/
.price_box .table_bottom_text{
    margin-top:10px;
    font-size:1.4rem;
    line-height: 1.714rem;    
}
    @media screen and (max-width: 768px) {
        .price_box .table_bottom_text{
            font-size:3.125vw;
            line-height:1.6;
        }
    }

.price_box .table_bottom_text p {
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.7;
}


/******************************
    2401 add business hours area
******************************/
.hours_area{
    width:100%;
    padding:145px 0 0;
    background-color: #EFEFEF;
}
    @media screen and (max-width: 1400px) {
        .hours_area{
            padding:10.357vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .hours_area{
            padding:18.88vw 0 0;
        }
    }

.hours_area h2 {
    width: 42%;
    max-width: 410px;
}
    @media screen and (max-width: 768px) {
        .hours_area h2 {
			width:60%;
        }
    }

.in_hours_area{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_hours_area{
            width: 89.6%;
            max-width: 688px;
        }
    }

.in_hours_area .hours_text1{
    font-size: 22px;
    font-weight: 400;
    margin-top: 45px;
    margin-bottom: 15px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_hours_area .hours_text1{
            font-size: 4.688vw;
            margin-top: 6.51vw;
            margin-bottom: 6.51vw;
            line-height: 1.6;
        }
    }

.in_hours_area .hours_text2{
    font-size: 22px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_hours_area .hours_text2{
            font-size: 4.688vw;
        }
    }

.in_hours_area .hours_text2 .closed{
    font-size: 16px;
    margin-left: 15px;
}
    @media screen and (max-width: 768px) {
        .in_hours_area .hours_text2 .closed{
            font-size: 3.125vw;
            margin-left: 0;
        } 
    }


/******************************
    join area
******************************/
.join_area{
    width:100%;
    padding:150px 0;
    background-color: #EFEFEF;
}
    @media screen and (max-width: 1400px) {
        .join_area{
            padding:10.714vw 0;
        }
    }
    @media screen and (max-width: 768px) {
        .join_area{
            padding:15.625vw 0;
        }
    }

.join_area h2 {
    width: 32%;
    max-width: 308px;
}
    @media screen and (max-width: 768px) {
        .join_area h2 {
			width:44.18%;
        }
    }

.in_join_area {
	width: 95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_join_area{
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_join_area .flow-list:first-of-type{
    margin-top:40px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list:first-of-type{
            margin-top:5.859vw;
        }
    }

.in_join_area .flow-list:nth-of-type(2){
    margin-top:30px;    
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list:nth-of-type(2){
            margin-top:3.906vw;
        }
    }

.in_join_area .flow-list .flow_title{
    width:100%;
    padding:40px 0;
    background-color:#4D99BB;
	border-radius: 22px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_title{
            padding: 5.859vw 0;
			border-radius: 2.083vw
        }
    }

.in_join_area .flow-list .flow_title.active{
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.in_join_area .flow-list .flow_title p{
    display: flex;
    justify-content: flex-start;
	color: #fff;
    align-items: center;
    width:541px;
    margin: 0 auto;
    font-size:3.2rem;
    font-weight: 600;
    position: relative;
    cursor: pointer;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_title p{
            font-size:6.25vw;
            line-height:9.375vw;
            margin-left: 9.375vw;
            width:74.87vw;
        }
    }

.in_join_area .flow-list .flow_title p span.fc{
    color:#fff;
}


.in_join_area .flow-list .f_web p::before{
    display: inline-block;
    content:"";
    width:51px;
    height:86px;
    background-repeat: no-repeat;
    background-size:100%;
    margin-right: 42px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .f_web p::before{
            margin-right:4.947vw;
            width:9.635vw;
            height:16.276vw;
        }
    }

.in_join_area .flow-list .f_store p::before{
    display: inline-block;
    content:"";
    width:66px;
    height:62px;
    background-repeat: no-repeat;
    background-size:100%;
    margin-right: 38px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .f_store p::before{
            margin-right:6.51vw;
            width:12.5vw;
            height:11.719vw;
        }
    }

.in_join_area .flow-list .f_web p::before{
    background-image: url(../img/phone_icon.webp?1);
}
.in_join_area .flow-list .f_store p::before{
    background-image: url(../img/store_icon.webp?1);
}

.in_join_area .flow-list .flow_title p::after{
    display: inline-block;
    content:"";
    width: 28px;
    height: 17px;
    background-size: contain;
    background-image: url(../img/flow_arrow.webp);
    background-repeat: no-repeat;
    position: absolute;
    top:0;
    bottom:0;
    right: 0;
    margin:auto;
    transform: rotate(0deg);
    transition: 0.5s;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_title p::after{
            width:4.947vw;
            height:2.864vw;
            background-size:4.947vw 2.864vw;
        }
    }

.in_join_area .flow-list .flow_title.active p::after{
    transform: rotate(-180deg);
    transition: 0.5s;
}

/******************** flow list margin-bottom 210420～　START********************/

    @media screen and (max-width: 768px) {
        .in_join_area .flow-list_210420 {
            margin-bottom:11.7vw;
        }
    }

/******************** flow list margin-bottom 210420～　END********************/


/******************** 各入会までの流れのSTEP部分 ********************/
.in_join_area .flow-list .flow_box{
    background-color:#fff;
	border: 4px solid #4D99BB;
	padding: 80px 0;
	border-bottom-right-radius: 22px;
    border-bottom-left-radius: 22px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box{
            padding:7.81vw 5.208vw;
			border-bottom-right-radius: 2.08vw;
    		border-bottom-left-radius: 2.08vw;
        }
    }

.step_box{
    display: flex;
    justify-content: space-between;
    width: 83.67%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .step_box{
			display: block;
			width: 100%;
        }
    }
.step_box_2404{
    width: 85%;
    margin: 0 auto;
    max-width: 820px;
}
    @media screen and (max-width: 768px) {
        .step_box_2404{
            width: 100%;
            max-width: unset;
        }
    }

.step_box:not(:first-child){
    margin-top: 60px;
}
    @media screen and (max-width: 768px) {
        .step_box:not(:first-child){
			margin-top: 7.812vw;
        }
    }

.flow_box .step_box:nth-child(even){
    flex-flow: row-reverse;
}

.step_item {
	width: 47.56%;
	position: relative;
}
    @media screen and (max-width: 768px) {
        .step_item{
			width: 100%;
        }
    }
.step_item_2404 {
    max-width: 390px;
}
    @media screen and (max-width: 768px) {
        .step_item_2404{
            max-width: unset;
        }
    }

.step_item_center {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:100%;
}
    @media screen and (max-width: 768px) {
        .step_item_center{
			position: initial;
			top: 0;
			transform: translateY(0);
        }
    }

.step_title {
	font-size: 2rem;
	line-height: 1.5;
	margin-top: 20px;
	font-weight: 600;
}
    @media screen and (max-width: 1000px) {
        .step_title{
			margin-top: 10px;
        }
    }
    @media screen and (max-width: 768px) {
        .step_title{
            font-size: 4.688vw;
        }
        .step_flow_img{
			margin-top: 3.906vw;
        }
    }

.step_text {
	font-size: 1.6rem;
	line-height: 1.75;
	margin-top: 10px;
}
	@media screen and (max-width: 1000px) {
        .step_lesson_copy{
			margin-top: 6px;
        }
    }
	@media screen and (max-width: 855px) {
        .step_text{
			font-size: 1.4rem;
        }
    }
    @media screen and (max-width: 768px) {
        .step_text{
			margin-top: 3.906vw;
			font-size: 3.906vw;
        }
    }

.step_lesson_copy {
	font-size: 1.4rem;
    font-weight: bold;
	line-height: 1.5;
	text-align: center;
	color:#4D99BB;
	margin-top: 15px;
}
	/* @media screen and (max-width: 1000px) {
        .step_lesson_copy{
			margin-top: 6px;
        }
    } */
	@media screen and (max-width: 855px) {
        .step_lesson_copy{
			font-size: 1.2rem;
        }
    }
    @media screen and (max-width: 768px) {
        .step_lesson_copy{
            margin-top: 3.906vw;
            font-size: 3.2vw;
        }
    }

.step_lesson_btn {
	width: 100%;
	margin-top: 12px;
}
    @media screen and (max-width: 768px) {
        .step_lesson_btn{
			margin-top: 2.604vw;
        }
    }


.step_img{
    width:100%;
    max-width:94px;
    margin-right: 20px;
}
    @media screen and (max-width: 768px) {
        .step_img{
            width:23.438vw;
            max-width: 180px;
        }
    }

/******************** join_necessaries ********************/

.join_necessaries {
	width: 83.67%;
	margin: 0 auto;
	background: #F0F0F0;
	border-radius: 20px;
	padding: 3.658% 4.878%;
	margin-top: 60px;
}
    @media screen and (max-width: 768px) {
        .join_necessaries{
            width:100%;
			border-radius: 2.604vw;
			padding: 5.208vw 3.906vw;
			margin-top: 7.812vw;
        }
    }

.jn_title {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .jn_title{
            font-size: 4.687vw;
            line-height: 1.6;
            margin-top: 0;
        }
    }

.jn_list {
	font-size: 1.6rem;
	line-height: 1.75;
	margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .jn_list {
            font-size: 3.906vw;
        }
    }

.jn_example {
	position: relative;	
	background: #646464;
	border-radius: 10px;
	color: #FAFAFA;
	padding: 2.8% 4.87%;
	margin-top: 32px;
}
    @media screen and (max-width: 768px) {
        .jn_example{
			border-radius: 1.302vw;
			color: #FAFAFA;
			padding: 3.906vw 2.604vw;
			margin-top: 5.208vw;
        }
    }

.jn_example::after {
	content:"";
    display: inline-block;
    position: absolute;
    width: 0;
    height: 0;
    top:-18px;
    left:46%;
	border-bottom: 20px solid #646464;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
}

.jn_example_title {
	font-size: 1.8rem;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .jn_example_title{
			font-size: 3.906vw;
        }
    }

.jn_example_subtitle {
	font-size: 1.6rem;
	text-align: center;
	margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .jn_example_subtitle{
			font-size: 3.125vw;
			margin-top: 1.562vw;
        }
    }

.jn_example_flexbox {
	display: flex;
	justify-content: space-between;
	margin-top: 10px;
}
    @media screen and (max-width: 768px) {
        .jn_example_flexbox{
            align-items: center;
			margin-top: 2.064vw;
        }
    }

.jn_example_flexitem {
    width: 32px;
	align-items: center;
}
@media screen and (max-width: 768px) {
    .jn_example_flexitem:nth-of-type(2) {
        width: 4.167vw;
    }
}

.jn_example_flexbox .jn_example_flexitem:nth-of-type(1),
.jn_example_flexbox .jn_example_flexitem:nth-of-type(3){
	width: 46.21%;
	background: #fafafa;
	max-width: 305px;
	border-radius: 10px;
	color: #333;
	font-size: 1.6rem;
	line-height: 1.6;
	padding:9px 0;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .jn_example_flexbox .jn_example_flexitem:nth-of-type(1),
		.jn_example_flexbox .jn_example_flexitem:nth-of-type(3){
			width: 45.18%;
			max-width: none;
			border-radius: 1.302vw;
			color: #333;
			font-size: 3.125vw;
			line-height: 1.5;
        }
    }

.jn_example_list {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 10px;
}
    @media screen and (max-width: 768px) {
        .jn_example_list{
			font-size: 3.125vw;
			line-height: 1.5;
			margin-top: 3.255vw;
        }
    }

.jn_example_annotation {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .jn_example_annotation{
			font-size: 3.125vw;
			line-height: 1.5;
			margin-top: 5.208vw;
        }
    }

.jn_annotation {
	font-size: 1.4rem;
	line-height: 1.7;
	margin-top: 10px;
}
    @media screen and (max-width: 768px) {
        .jn_annotation{
			font-size: 3.125vw;
			line-height: 1.5;
			margin-top: 2.604vw;
        }
    }

/******************** shop_join_necessaries ********************/
.shop_join_necessaries {
	width: 83.6%;
	margin: 90px auto 0;
	background: #F0F0F0;
	color: #333333;
	border-radius: 20px;
	padding: 30px 40px;
}
    @media screen and (max-width: 768px) {
        .shop_join_necessaries{
			width: 100%;
			margin: 7.81vw auto 0;
			border-radius: 2.604vw;
			padding: 5.208vw 3.906vw;
        }
    }

.sp_necessaries_title {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .sp_necessaries_title{
			font-size: 4.687vw;
        }
    }

.sp_necessaries_list {
	font-size: 1.6rem;
	line-height: 1.75;
	margin-top: 20px;
}
    @media screen and (max-width: 768px) {
        .sp_necessaries_list{
			font-size: 3.906vw;
			line-height: 1.63;
			margin-top: 3.906vw;
        }
        .sp_necessaries_list li{
            text-indent: -3.906vw;
            padding-left: 3.906vw;
        }
    }

.sp_necessaries_annotation {
	font-size: 1.4rem;
	margin-top: 20px;
	line-height: 1.5;
}
    @media screen and (max-width: 768px) {
        .sp_necessaries_annotation{
			font-size: 3vw;
			margin-top: 3.906;
        }
    }

/******************** 店頭入会までの流れ　ボタンcss ********************/

.step_box .sb_join_btn_box{
    width: 100%;
    margin:22px auto 0;
}
    @media screen and (max-width: 768px) {
        .sb_join_btn_box{
            margin:0 auto;
        }
    }

.step_box .sb_in_join_btn_box{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box{
            display: block;
        }
    }

.step_box .sb_in_join_btn_box p{
    width:48.72%;
    max-width: 190px;
}
    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box p{
            width: 100%;
            max-width: unset;
        }
    }

    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box .sb_join_tel_btn{
            margin-top: 2.604vw;
        }
    }

 .step_box .sb_in_join_btn_box p a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
}
    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box p a{
            height: 13.02vw;
			padding: 2.604vw 3.906vw;
            padding: 0;
            font-size: 3.906vw;
            line-height: 1.33;
            font-weight: 400;
            color: #fff;
            border-radius: 2.604vw;
            background-color: #4D99BB;
        }
    }
    @media screen and (-ms-high-contrast: none) { /* ie only */
        .step_box .sb_in_join_btn_box p.join_tel_btn a{
            padding: 13px 21px;
        }
    }
    @media screen and (-ms-high-contrast: none) and (max-width: 768px) {
        .step_box .sb_in_join_btn_box p.join_tel_btn a{
            padding:0;
        }
    }

.step_box .in_join_btn_box p a:hover{
    opacity: 0.7;
}



    @media screen and (max-width: 768px) {
         .step_box .sb_in_join_btn_box p.sb_join_mail_btn a::before{
			display: block;
            content: "";
			background-image: url(../img/mail_icon.webp);
			background-repeat: no-repeat;
			position: relative;
            left: 0;
            width: 8.333vw;
            height: 6.51vw;
            background-size: 8.333vw 6.51vw;
            margin-right: 2.604vw;
        }
    }


    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box p.sb_join_tel_btn a::before{
			display: block;
            content: "";
			background-image: url(../img/tel_icon.webp);
			background-repeat: no-repeat;
            position: relative;
			left: 0;
            width: 7.161vw;
            height: 7.943vw;
            background-size: 7.161vw 7.943vw;
            margin-right: 2.604vw;
        }
    }

.step_box .sb_in_join_btn_box p.sb_join_tel_btn a .telfont{
    position: relative;
    top:0;
    text-align: center;
    font-size:1.1rem;
    font-weight: 400;
    line-height: 1.2;
}
    @media screen and (max-width: 768px) {
        .step_box .sb_in_join_btn_box p.sb_join_tel_btn a .telfont{
            position: static;
            text-align: left;
            font-size: 3.906vw;
            line-height: 1.33;
        }
    }


.step_box .sb_in_join_btn_box p.sb_join_tel_btn a .telfont span{
    font-size:1.8rem;
    font-weight: 600;
}
.step_box .sb_in_join_btn_box p.sb_join_tel_btn a .telfont span.telnumb {
    font-size:1.6rem;
    font-weight: 600;
    display: block;
}
@media screen and (max-width: 900px) {
    .step_box .sb_in_join_btn_box p.sb_join_tel_btn a .telfont span.telnumb {
        font-size:1.3rem;
    }
 }

.step_box .sb_in_join_btn_box p.sb_join_mail_btn .btn_bottom_text,
.step_box .sb_in_join_btn_box p.sb_join_tel_btn .btn_bottom_text{
    display: inline-block;
    width: 100%;
    text-align: center;
    color:#333;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    margin-top:6px;
}
    @media screen and (max-width: 768px) {
       .step_box  .sb_in_join_btn_box p.sb_join_mail_btn .btn_bottom_text,
       .step_box .sb_in_join_btn_box p.sb_join_tel_btn .btn_bottom_text{
            font-size:3.125vw;
            line-height:4.688vw;
            margin-top:1.302vw;
        }
    }



/******************** WEB入会はこちら部分 ********************/
.in_join_area .web-join_box{
    width: 100%;
    margin-top:50px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box{
            margin-top:11.719vw;
        }
    }

.in_join_area .web-join_box::after{
    display:block;
    content: "";
    width:23px;
    height:30px;
    margin: 21px auto 0;
    background-image: url(../img/double_arrow.webp);
    background-size: 100%;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box::after{
            width:4.557vw;
            height:5.859vw;
            background-size:4.557vw 5.859vw;
            margin: 5.078vw auto 0;
        }
    }

.in_join_area .web-join_box p{
    display: flex;
    justify-content: center;
    width:100%;
    /* max-width:408px; */
    max-width: 415px;
    margin:0 auto;
    color:#333;
    font-size:2.8rem;
    font-weight: 600;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box p{
            font-size:6.25vw;
            max-width:488px;
        }
    }

.in_join_area .web-join_box p::before{
    display: inline-block;
    content:"";
    width:36px;
    height:35px;
    background-image: url(../img/join_icon.webp);
    background-size: 100%;
    background-repeat: no-repeat;
    margin-right: 16px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box p::before{
            width: 7.813vw;
            height: 7.682vw;
            background-size: 100%;
            margin-right:2.604vw;
        }
    }

.in_join_area .join_rules{
    margin:22px 0;
    color:#333;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules{
            margin:7.813vw 0 11.719vw;
        }
    }

.in_join_area .join_rules p a.notscroll{
    font-size:1.8rem;
    font-weight: 600;
    text-decoration: underline;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules p a.notscroll{
            font-size: 5.208vw;
        }
    }

.in_join_area .join_rules p.checkbtn{
    margin:30px 0;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules p.checkbtn{
            margin:7.813vw 0 6.51vw;
        }
    }

.in_join_area .join_rules p.check_text{
    font-size: 2rem;
    margin-bottom:30px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules p.check_text{
            text-align: left;
            font-size: 3.125vw;
            line-height: 1.5;
            margin-bottom: 7.813vw;
        }
    }


/******************** チェックボックス　同意する部分 ********************/
.join_rules .c_input{
    display: none;
}
.join_rules .c_parts{
    position: relative;
    padding-top: 5px;
    padding-left: 55px;
    font-size: 3rem;
    font-weight: 600;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_parts{
            font-size: 5.208vw;
            padding-top: 1.4vw;
            padding-left: 11.719vw;
        }
    }

.join_rules .c_parts::before{
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 43px;
    height: 43px;
    border: 4px solid #333;
    border-radius: 10px;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_parts::before{
            width: 9.115vw;
            height: 9.115vw;
            border: 0.521vw solid #333;
			border-radius: 1.302vw;
        }
    }

.join_rules .c_input:checked + .c_parts::after{
    content: "";
    display: block;
    position: absolute;
    top: 18px;
    left: 7px;
    width: 31px;
    height: 21px;
    background-image: url(../img/check.webp);
    background-size: 31px 21px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_input:checked + .c_parts::after{
            top: 4.3vw;
            left: 1.9vw;
            width: 5.599vw;
            height: 3.646vw;
            background-image: url(../img/check@2x.webp);
            background-size: 5.599vw 3.646vw;
        }  
    }


/******************** かんたんWEB入会ボタン ********************/
.in_join_area .join_rules #js-check_btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    padding:41px 16px 41px 35px;
    margin:0 auto;
    font-size:4.6rem;
    font-weight: 600;
	color: #fafafa;
    background-color:#5A3200;
    border-radius: 22px;
    position: relative;
    pointer-events:none;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules #js-check_btn a{
            font-size: 6.25vw;
            padding:6.25vw 0;
			border-radius: 2.604vw;
            width: 89.583vw;
        }
    }

.in_join_area .join_rules #js-check_btn.check-true a{
    pointer-events:auto; 
	background-color:#F18705;
}

.in_join_area .join_rules #js-check_btn a::after{
    display: inline-block;
    content: "";
    width:22px;
    height:39px;
    background-image: url(../img/join_web_arrow@2x.webp);
    background-size:22px 39px;
    background-repeat: no-repeat;
    margin-left:41px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules #js-check_btn a::after{
            margin-left:4.036vw;
            width:2.865vw;
            height:5.208vw;
            background-size:100%;
        }
    }


/******************** かんたんWEB入会ボタンの下テキスト部分 ********************/
.join_btn_box{
    width: 100%;
    margin:50px auto 0;
}
    @media screen and (max-width: 768px) {
        .join_btn_box{
            margin:0 auto;
        }
    }

.join_btn_box p.join_btn_box_text{
    color:#333;
    font-size:1.6rem;
    font-weight: 400;
    text-align: center;
    margin-bottom:30px;
}
    @media screen and (max-width: 768px) {
         .join_btn_box p.join_btn_box_text{
            font-size:4.167vw;
            line-height: 1.5;
            margin-bottom:3.385vw;
        }  
    }

/******************** かんたんWEB入会ボタンの下テキスト部分 0324********************/
.join_btn_box_0324{
    margin:60px auto 0;
}
    @media screen and (max-width: 768px) {
        .join_btn_box{
            margin:7.81vw auto 0;
        }
    }

    @media screen and (max-width: 768px) {
        .join_btn_box_0324 .in_join_btn_box{
            display: flex;
        }
        .join_btn_box_0324 .in_join_btn_box p{
            width: 47.82%;
            margin-top: 3.906vw;
        }
    }

/******************** メールボタン・お問い合わせボタン部分 ********************/
.in_join_btn_box{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box{
            display: block;
        }
    }

.in_join_btn_box p{
    width:48.6%;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box p{
            width: 100%;
            margin-top: 3.906vw;
        }
    }

 .in_join_btn_box p a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100px;
    padding: 19px 21px;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    background-color: #4D99BB;
    border-radius: 20px;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box p a{
            height: 17.057vw;
			padding: 2.994vw 3.906vw;
            padding: 0;
            font-size: 3.906vw;
            line-height: 1.33;
            border-radius: 2.604vw;
        }
    }
    @media screen and (-ms-high-contrast: none) { /* ie only */
        .in_join_btn_box p.join_tel_btn a{
            padding: 13px 21px;
        }
    }
    @media screen and (-ms-high-contrast: none) and (max-width: 768px) {
        .in_join_btn_box p.join_tel_btn a{
            padding:0;
        }
    }

.in_join_btn_box p a:hover{
    bopacity: 0.7;
}

.in_join_btn_box p.join_mail_btn a::before{
    display: block;
    content: "";
    width: 44px;
    height: 34px;
    background-image: url(../img/mail_icon.webp);
    background-size: 44px 34px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
         .in_join_btn_box p.join_mail_btn a::before{
            width: 8.333vw;
            height: 6.51vw;
            background-size: 8.333vw 6.51vw;
            margin-right: 2.604vw;
        }
    }

.in_join_btn_box p.join_tel_btn a::before{
    display: block;
    content: "";
    width: 34px;
    height: 39px;
    background-image: url(../img/tel_icon.webp);
    background-size: 34px 39px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box p.join_tel_btn a::before{
            width: 7.161vw;
            height: 7.943vw;
            background-size: 7.161vw 7.943vw;
            margin-right: 2.604vw;
        }
    }

.in_join_btn_box p.join_tel_btn a .telfont{
    position: relative;
    top:-3px;
    text-align: center;
    /* font-size:1.6rem; */
    font-size:2rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box p.join_tel_btn a .telfont{
            position: static;
            text-align: left;
            font-size: 3.906vw;
            line-height: 1.33;
        }
    }

.in_join_btn_box p.join_tel_btn a .telfont span{
    /* font-size:2.4rem; */
    font-size:3.2rem;
    font-weight: 600;
}

.in_join_btn_box p.join_mail_btn .btn_bottom_text,
.in_join_btn_box p.join_tel_btn .btn_bottom_text{
    display: inline-block;
    width: 100%;
    text-align: center;
    color:#333;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.6rem;
    margin-top:10px;
}
    @media screen and (max-width: 768px) {
        .in_join_btn_box p.join_mail_btn .btn_bottom_text,
        .in_join_btn_box p.join_tel_btn .btn_bottom_text{
            font-size:3.125vw;
            line-height:4.688vw;
            margin-top:1.953vw;
            white-space: nowrap;
        }
    }

.in_join_btn_box p.join_mail_btn .btn_bottom_text .br_1000,
.in_join_btn_box p.join_tel_btn .btn_bottom_text .br_1000{
    display: none;
}
@media screen and (max-width: 1000px) {
    .in_join_btn_box p.join_mail_btn .btn_bottom_text .br_1000,
    .in_join_btn_box p.join_tel_btn .btn_bottom_text .br_1000{
        display: block;
    }
}

/******************** レッスン体験バナー枠 ********************/
.in_join_area .join_lesson_area{
    width:100%;
    margin-top:40px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area{
            margin-top:7.81vw;
            padding:5.208vw 0 3.255vw;
        }
    }

.in_join_area .join_lesson_area .join_lesson_area_text{
    font-size: 2rem;
    font-weight: 600;
    margin-bottom:16px;
	color: #4D99BB;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area .join_lesson_area_text{
            font-size:3.506vw;
            margin-bottom:3.255vw;
        }
    }

.in_join_area .join_lesson_area .join_lesson_area_img{
    width: 100%;
    max-width: 475px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area .join_lesson_area_img{
            width: 94.622%;
            max-width:648px;
        }
    }

.in_join_area .join_lesson_area .join_lesson_area_img img{
    width: 100%;
}

/* .in_join_area .join_lesson_area .join_lesson_area_img:hover {
	opacity: 0.7;
} */

/******************** レッスン体験バナー枠 0324 ********************/
.in_join_area .join_lesson_area_0324{
    margin-top:60px;
	padding:0 0;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area_0324{
            margin-top:7.812vw;
            padding:0;
        }
    }


/******************** ポップアップ規約 ********************/
.rule_bg {
	width: 100%;
	background-color: rgba(51, 51, 51, .6);
	padding: 40px;
}
    @media screen and (max-width: 768px) {
        .rule_bg{
            padding: 5.208vw 0;
        }
    }

.rule_wrap {
	max-width: 1323px;
	margin: 0 auto;
	background: #fff;
}
    @media(max-width: 768px){
        .rule_wrap{
			width: 89.6%;
			max-width: 688px;
			background: #fff;
        }
    }

.rules_header {
	position: absolute;
    width: 93.4%;
    max-width: 1080px;
    padding: 0 50px;
    top: 80px;
    left: 0;
    margin: auto;
    right: 0;
}
    @media(max-width: 1400px){
        .rules_header {
            padding: 0 3.8%;
        }
    }
    @media(max-width: 768px){
        .rules_header {
            top: 5.859vw;
            width: 88%;
            max-width: 608px;
            padding: 0;
        }
    }

.join_rules .rules_link_text{
    color:#4D99BB;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    text-decoration: underline;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules_link_text{
            font-size: 4.167vw;
        }
    }

.join_rules .rules_link_text span{
    cursor: pointer;
}

.join_rules .rules-sec_style{
    margin: 0 auto;
    color:#333333;
    padding:60px 50px 80px;
    text-align: left;
    position: relative;
}
    @media screen and (max-width: 1400px) {
        .join_rules .rules-sec_style{
            padding:60px 3.8% 80px;
        }
    }
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style{
            padding:3.5vw 0 7.813vw;
        }
    }

.join_rules .rules-sec_style .rules_title1{
    text-align: center;
    font-size: 3.2rem;
    font-weight: 400;
    margin-bottom:60px;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_title1{
            font-size:5.208vw;
            margin-bottom: 7.813vw;
        }
    }

.join_rules .rules-sec_style .rules_title2{
    text-align: center;
    font-size: 3rem;
    font-weight: 600;
    margin:0 0 54px;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_title2{
            margin:0 0 9.115vw;
            font-size:5.208vw;
        }
    }

.join_rules .rules-sec_style .rules_box1,
.join_rules .rules-sec_style .rules_box2{
    width: 100%;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1,
        .join_rules .rules-sec_style .rules_box2{
            font-size:3.125vw;
            line-height:4.688vw;
        }
    }

.join_rules .rules-sec_style .rules_box1 dt,
.join_rules .rules-sec_style .rules_box2 dt{
    font-weight: normal;
}
.join_rules .rules-sec_style .rules_box1 dd,
.join_rules .rules-sec_style .rules_box2 dd{
    margin-bottom:37px;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1 dd,
        .join_rules .rules-sec_style .rules_box2 dd{
            margin-bottom:6.51vw;
        }
    }

.join_rules .rules-sec_style .rules_box1 dd table{
    width: 100%;
    border:solid 1px #707070;
	background: #FAFAFA;
    margin-top:8px;
	font-size: 1.6rem;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1 dd table{
            max-width: 100%;
			font-size: 3.125vw;
        }
    }

.join_rules .rules-sec_style .rules_box1 dd table th,
.join_rules .rules-sec_style .rules_box1 dd table td{
	width: 33%;
    border:solid 1px #707070;
    text-align: center;
	padding: 9px 0;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1 dd table th,
		.join_rules .rules-sec_style .rules_box1 dd table td{
            padding: 1.302vw 0;
        }
    }
.join_rules .rules-sec_style .rules_box1 dd table th{
    font-weight: normal;
}


.join_rules .rules-sec_style .rules_box2 a{
    color:#4D99BB;
    text-decoration: underline;
}
.join_rules .rules-sec_style .rules_contact{
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
    margin-bottom:110px;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_contact{
            font-size:3.125vw;
            line-height:4.688vw;
            margin-bottom:20.833vw;
        }  
    }

.join_rules .rules-sec_style .rules_contact a{
    color:#4D99BB;
    text-decoration: underline;
}

.join_rules .rules-sec_style .rules_store_name{
    width: 100%;
    max-width: 700px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
    margin:16px auto 0;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_store_name{
            font-size:3.125vw;
            line-height:4.688vw;
        }
    }

.f_close {
	font-size: 1.6rem;
	text-align: center;
	margin-top: 80px;
	text-decoration: underline;
    cursor: pointer;
}
    @media screen and (max-width: 768px) {
        .f_close {
            font-size:3.906vw;
			margin-top: 10.41vw;
        }
    }

.returnpage {
    width: 48px;
    height: 48px;
    position: sticky;
    top: 15px;
    left: 100%;
    z-index: 10000;
}
    
    @media(max-width: 768px){
        .returnpage {
            width: 8.7vw;
            height: 8.7vw;
            top:4vw;
            left: 83%;
        }
    }

.returnpage img{
    width:100%;
}
.closebtn_top{
    padding: 13px;
    background: #fff;
    border: 1px solid #333;
    border-radius: 28px;
    cursor: pointer;
}
@media(max-width: 768px){
        .closebtn_top {
            padding: 1.7vw;
            border-radius: 5vw;
            border: 0.4vw solid #333;
        }
    }


/******************************
    qa area
******************************/
.qa_area{
    width:100%;
    padding: 80px 0;
    background-color:#F3F3F3;
}
    @media screen and (max-width: 768px) {
        .qa_area{
            padding:14.9vw 0;
        }
    }

.in_qa_area{
    width:95%;
	max-width: 880px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_qa_area{
			width: 89.6%;
    		max-width: 688px;
        }
    }
.qa_area dl{
    width:100%;
    /* margin-top:90px; */
    margin-top: 40px;
}
    @media screen and (max-width: 768px) {
        .qa_area dl{
            /* margin-top:11.719vw; */
            margin-top: 5.208vw;
        }
    }

.qa_area dl .qa_box{
    padding:16px 0px 17px 24px;
    background-color: #fff;
}
    @media screen and (max-width: 768px) {
        .qa_area dl .qa_box{
            padding: 3.906vw 0 3.776vw 3.906vw;
        }
    }

.qa_area dl dt,
.qa_area dl dd{
    font-size:1.6rem;
    font-weight: 400;
    line-height: 1.777;
    padding-left: 4rem;
    text-indent: -1.6rem;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt,
        .qa_area dl dd{
            font-size:3.906vw;
            line-height:1.6;
            padding-left: 8.8vw;
            text-indent: -3.6vw;
            padding-right: 15%;
            font-weight: 500;
        }
        .qa_area dl dd{
            font-size:3.906vw;
            line-height:1.6;
            padding-left: 8.8vw;
            text-indent: -3.6vw;
            padding-right: 0;
        }
    }

.qa_area dl dt{
    position: relative;
    cursor:pointer ;
}
.qa_area dl dt.active{
    padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
    .qa_area dl dt.active{
        padding-bottom: 3.73vw;
    }
}
.qa_area dl dd{
    padding-top:16px;
	width: 95%;
    border-top: 1px dashed #D9D9D9;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dd{
            width: 96%;
            padding-top: 3.73vw;
        }
    }
.qa_area dl dt::before,
.qa_area dl dt::after{
  content: '';
  display: block;
  width: 16px;
  height: 1px;
  background-color: #333;
  position: absolute;
  right: 30px;
  top:45%;
  transform: translateY(-50%);
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt::before,
        .qa_area dl dt::after{
            width: 4.557vw;
            height: 0.521vw;
            right: 3.906vw;
            top: 50%;
        }
    }

.qa_area dl dt::after{
  background-color: #333;
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s;
}
.qa_area dl dt.active::after {
  transform: rotate(0);
  transition: 0.5s;
  top:35%;
  opacity: 0;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt.active::after {
            top:48%;
        }
    }

.qa_area dl dt span,
.qa_area dl dd span{
    display: inline-block;
    margin-right:17px;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 2.4rem;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt span,
        .qa_area dl dd span{
            font-size:6.4vw;
            line-height:6.641vw;
            margin-right:3.896vw;
            padding-bottom: 0;
            vertical-align: middle;
        }
    }

.qa_area dl dd span {
	color: #1AA81A;
    vertical-align: middle;
}

.qa_area .qa_btn{
    display: flex;
    justify-content: space-between;
    width:100%;
    margin:40px auto 0;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn{
            margin:11.719vw auto 0;
        }
    }

.qa_area .qa_btn p{
    width:48.46%;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p{
            width:48%;           
        }
    }

.qa_area .qa_btn p a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
	height: 100px;
    padding: 30px 88px;
    color: #fff;
    font-size: 2rem;
    font-weight: 400;
    background-color: #25B421;
    border-radius: 20px;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p a{
            height:17.057vw;
            max-height:131px;
            padding: 0;
            font-size:4.167vw;
            line-height:6.641vw;
            border-radius: 20px;
        }
    }
    @media screen and (-ms-high-contrast: none) { /* ie only */
        .qa_area .qa_btn p.qa_tel_btn a{
            padding: 13px 21px;
        }
    }
    @media screen and (-ms-high-contrast: none) and (max-width: 768px) {
        .qa_area .qa_btn p.qa_tel_btn a{
            padding:0;
        }
    }

.qa_area .qa_btn p a:hover{
    opacity: 0.7;
}
.qa_area .qa_btn p.qa_mail_btn a::before{
    display: block;
    content: "";
    width: 47px;
    height: 37px;
    background-image: url(../img/mail_icon.webp);
    background-size:44px 34px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p.qa_mail_btn a::before{
            width:8.333vw;
            height:6.51vw;
            background-size:8.333vw 6.51vw;
            margin-right:2.604vw;
        }
    }

.qa_area .qa_btn p.qa_tel_btn a::before{
    display: block;
    content: "";
    width: 37px;
    height: 41px;
    background-image: url(../img/tel_icon.webp);
    background-size:34px 39px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p.qa_tel_btn a::before{
            width:7.161vw;
            height:7.943vw;
            background-size:7.161vw 7.943vw;
            margin-right:2.604vw;
        }
    }

.qa_area .qa_btn p.qa_tel_btn a .telfont{
    position: relative;
    top:-3px;
    text-align: center;
    font-size:1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p.qa_tel_btn a .telfont{
            position: static;
            text-align: left;
            font-size: 4.167vw;
            line-height: 6.641vw;
        }
    }

.qa_area .qa_btn p.qa_tel_btn a .telfont span{
    font-size:2.4rem;
    font-weight: 600;
}

.qa_area .qa_btn p.qa_mail_btn .btn_bottom_text,
.qa_area .qa_btn p.qa_tel_btn .btn_bottom_text{
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
    margin-top:13px;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn p.qa_mail_btn .btn_bottom_text,
        .qa_area .qa_btn p.qa_tel_btn .btn_bottom_text{
            font-size:3.125vw;
            line-height:4.688vw;
            margin-top:3vw;
        }
    }

.qa_area .join_btn_box {
	margin-top: 50px;
}
    @media screen and (max-width: 768px) {
        .qa_area .join_btn_box{
            margin-top:5.208vw;
        }
    }


/******************************
    blog area
******************************/
.blog_area{
    width:100%;
}
    @media screen and (max-width: 1400px) {
        .blog_area{
            padding:10vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .blog_area{
            padding:14.9vw 0 0;
            position: relative;
            z-index: 5;
        }
    }

.in_blog_area{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_blog_area{
            width: 86.6%;
            max-width: 688px;
        }
    }

.blog_area .in_title{
    /* width: 95%; */
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .blog_area .in_title{
            width: 100%;
        }
    }

.blog_area .in_title h2{
    width: 15.31%;
}
    @media screen and (max-width: 768px) {
        .blog_area .in_title h2{
            width: 100%;
        }
    }

.blog_area .blog_box{
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 980px;
    margin: 40px auto 0;
    flex-wrap: wrap;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box{
            display: block;
            max-width: 688px;
            margin: 5.208vw  auto 0;
        }
    }

.blog_area .blog_box > div{
    width: 31.23%;
    max-width: 306px;
    min-height: 370px;
    border: 1px solid #D9D9D9;
    border-radius: 16px;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div{
            width: 100%;
            max-width: 688px;
            min-height: auto;
            border-radius: 5vw;
        }
    }

.blog_area .blog_box > div:nth-of-type(n+4){
    margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div:nth-of-type(n+4){
            margin-top: 0;
        }
        .blog_area .blog_box > div:not(:first-of-type){
            margin-top: 5.208vw;
        }
    }

.blog_area .blog_box > div a{
    display: block;
    width: 100%;
    height: 100%;
}
.blog_area .blog_box > div a:hover{
    opacity: 0.8;
}
.blog_area .blog_box > div img{
    width: 100%;
}

.blog_area .blog_box > div .blog_item{
    padding: 28px 20px;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div .blog_item{
            padding: 5.859vw 5.208vw 11vw;
        }
    }

.blog_area .blog_box > div .blog_item .b_date{
   font-size: 14px;
   font-weight: 400;
   margin-bottom: 20px;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div .blog_item .b_date{
            font-size: 3.646vw;
            margin-bottom: 3.255vw;
        }
    }

.blog_area .blog_box > div .blog_item .b_title{
    font-size: 16px;
    font-weight: 400;
    color: #3A384D;
    line-height: 1.8;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div .blog_item .b_title{
            font-size: 3.906vw;
            line-height: 1.6;
        }
    }

.blog_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.blog_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .blog_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
}
.blog_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
}
    .slider_blog-arrow{
        width: 10.6vw !important;
        position: absolute !important;
        top: 38% !important;
        cursor: pointer !important;
        z-index: 10 !important;
        background-color: unset !important;
        margin: 0 !important;
        border: none !important;
    }
    .slider_blog-arrow:hover{
        opacity: 0.8 !important;
    }
    .slider_blog-arrow.prev-arrow{
        left: -5.3vw !important;
    }
    .slider_blog-arrow.next-arrow{
        right: -5.3vw !important;
    }
}

@media screen and (max-width: 768px) {
  .lineup-slider-dots {
    position: absolute;
    list-style: none;
    text-align: center;
    max-width: 79.2vw;
    bottom: -11.3vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    margin: 0;
    width: 100%;
  }
  .lineup-slider-dots li {
    display: inline-block;
    margin: 0 0.7vw;
    line-height: 5.2vw;
  }
    .lineup-slider-dots li button {
        position: relative;
        text-indent: -9999px;
        font-size: 0;
        padding: 0 0.5vw;
    }
    .lineup-slider-dots li button::before {
        content: "";
        cursor: pointer;
        width: 2.13vw;
        height: 2.13vw;
        border-radius: 100%;
        background: #D9D9D9;
        display: block;
    }
}
.lineup-slider-dots li.slick-active button::before {
  background: #989898;
}


/******************************
    access area
******************************/
.access_area{
    width:100%;
    padding: 80px 0;
    text-align: center;
    background: #f3f3f3;
    margin: 80px auto;
}
    @media screen and (max-width: 1400px) {
        .access_area{
            padding:10.714vw 0 10.357vw;
        }
    }
    @media screen and (max-width: 768px) {
        .access_area{
            margin-top: 0;
            margin-bottom: 0;
            padding:14.9vw 0 14.9vw;
        }
    }

.access_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.access_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
}
.access_area .gmap{
    display: flex;
    max-width: 880px;
    justify-content: center;
    align-items: center;
    margin: 54px auto 0;
    gap: 3.5%;
    width: 96%;
}
    @media screen and (max-width: 768px) {
        .access_area .gmap{
            margin:6.12vw auto 0;
            height: unset;
            flex-direction: column;
            width: 100%;
            
        }
        .access_title{
            font-size: 6.4vw;
            font-weight: bold;
            letter-spacing: .07em;
            line-height: 1.6;
            margin-bottom: 6px;
        }
        .access_title_bottom{
            font-size: 4.2vw;
            color: #1AA81A;
            letter-spacing: .08em;
            line-height: 1.6;
        }
    }

.access_area .gmap iframe{
    width:62.5%;
    min-height: 318px;
    height:100%;
}
    @media screen and (max-width: 768px) {
        .access_area .gmap iframe{
            width: 100%;
            height: 58.1vw;
            min-height: unset;
            margin-bottom: 5.33vw;
        }
    }
.access_info{
    width: 34%;
    text-align: left;
    font-weight: 500;
}
.adress_heading{
    font-size: 18px;
    line-height: 1.6;
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 6px;
}
.adress_heading::before{
    content: "";
    position: absolute;
    background-image:url(../img/adress_icon.webp);
    background-size: cover;
    background-repeat: no-repeat;
    left: 0;
    top: 18%;
    width: 14px;
    height: 20px;
}
.adress_text{
    font-size: 16px;
    line-height: 1.6;
    
}
.train_heading{
    font-size: 18px;
    line-height: 1.6;
    position: relative;
    padding-left: 1.2em;
    margin-top: 24px;
    margin-bottom: 6px;
}
.train_heading::before{
    content: "";
    position: absolute;
    background-image:url(../img/train_icon.webp);
    background-size: cover;
    background-repeat: no-repeat;
    left: 0;
    top: 16%;
    width: 17px;
    height: 23px;
}
.train_text{
    font-size: 16px;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .access_info{
    width: 86.9vw;
    text-align: left;
}
.adress_heading{
    font-size: 4.26vw;
    line-height: 1.6;
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 6px;
}
.adress_heading::before{
    content: "";
    position: absolute;
    background-image:url(../img/adress_icon.webp);
    background-size: cover;
    background-repeat: no-repeat;
    left: 0;
    top: 18%;
    width:  3.2vw;
    height: 4.5vw;
}
.adress_text{
    font-size: 3.73vw;
    line-height: 1.6;
}
.train_heading{
    font-size: 4.26vw;
    line-height: 1.6;
    position: relative;
    padding-left: 1.2em;
    margin-top: 24px;
    margin-bottom: 6px;
}
.train_heading::before{
    content: "";
    position: absolute;
    background-image:url(../img/train_icon.webp);
    background-size: cover;
    background-repeat: no-repeat;
    left: 0;
    top: 16%;
    width: 3.6vw;
    height: 4.5vw;
}
.train_text{
    font-size: 3.73vw;
    line-height: 1.6;
}
}
/******************************
    sns area
******************************/
.sns_area{
    width:100%;
    padding:0 0 150px;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 1400px) {
        .sns_area{
            padding:0 0 10.714vw;
        }
    }
    @media screen and (max-width: 768px) {
        .sns_area{
            padding:0 0 19.531vw;
        }
    }

.sns_area .in_sns_area{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .sns_area .in_sns_area{
            width: 89.6%;
            max-width: 688px;
        }
    }

.sns_area .in_sns_area h2{
    width: 46%;
    max-width: 448px;
}
    @media screen and (max-width: 768px) {
        .sns_area .in_sns_area h2{
            width: 63.81%;
        }   
    }

.sns_area .sns_area_info {
	font-size: 1.8rem;
	line-height: 1.6;
	width: 100%;
    margin: 40px auto 0;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .sns_area .sns_area_info {
            font-size:4.427vw;
            line-height:1.7;
            margin: 6.51vw auto 0;
        }
    }

.sns_area .sns_btn {
	display: flex;
	justify-content: space-between;
	width: 100%;
    /* max-width: 402px; */
    max-width:270px;
	margin: 60px auto 0;
}
    @media screen and (max-width: 768px) {
        .sns_area .sns_btn {
            /* width: 77.7%; */
            max-width: 46.875vw;
            width: 100%;
			margin: 7.813vw auto 0;
        }
    }

.sns_area .sns_btn p img {
	width: 90px;
}
    @media screen and (max-width: 768px) {
        .sns_area .sns_btn p img {
            width: 15.6vw;
        }
    }

.sns_area .sns_btn p a:hover {
	opacity: 0.7;
}

/******************************
    アニメーションディレイ　スクロールふわっと表示
******************************/
.fadein {
  opacity : 0;
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
}

.fadeUp {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadeUp.active{
  opacity : 1;
  transform : translate(0, 0);
}

.fadeUp-delay {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadeUp-delay.active{
  opacity : 1;
  transform : translate(0, 0);
}

/******************************
    btn hover
******************************/
/* a:hover {
	opacity: 0.7!important;
} */


/******************************
    体験レッスンボタン
******************************/
.free_btn_area{
    margin-top: -37.71vw;
}
    @media screen and (max-width: 1100px) {
        .free_btn_area{
            margin-top: -33vw;
        }
    }
    @media screen and (max-width: 768px) {
        .free_btn_area{
            margin-top: -36.32vw;
        }
    }

.free_btn {
    position: relative;
    width: 100%;
    max-width: 475px;/*ボタンの幅*/
    margin: 20px auto 0;
    background-color: #4D99BB;/*ボタンの色*/
    box-shadow: 0 4px 0 0 rgba(37, 77, 95, 1);/*影の色(rgbaの値を変更)*/
    border-radius: 10px;
    text-align: center;
	overflow: hidden;
    transition: 0.2s;
    z-index: 1;
}
@media screen and (max-width: 1024px) {
    .free_btn {
        margin: 30px auto 0;
    }
}
    @media screen and (max-width: 768px) {
        .free_btn {
            width: 89.6%;
            max-width: 100%;
            margin: 2.604vw auto 0;
            box-shadow: 0 1.172vw 0 0 rgba(37, 77, 95, 1);/*影の色(rgbaの値を変更)*/
            border-radius: 1.563vw;
        }
        .free_btn_w100{
            width: 100%;
            margin: 0 auto 0;
        }
    }

.free_btn_mtnone{
    margin: 0 auto 0;
}

.free_btn:hover {
    /* text-decoration: none;
    color: #fff; */
    box-shadow: none;
    transform: translateY(4px);
}
    @media screen and (max-width: 768px) {
        .free_btn:hover {
            transform: none;
            box-shadow: 0 1.172vw 0 0 rgba(37, 77, 95, 1);/*影の色(rgbaの値を変更)*/
        }
    }

.free_btn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 0.2s;
    animation: free_btn 3.5s ease-in-out infinite;
}
    @media screen and (max-width: 768px) {
        .free_btn::before {
            top: -23.437vw;
            width: 3.906vw;
        }
    }

@keyframes free_btn {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
.free_btn_comming{
    width: 475px;
    margin-top: 20px;
}
@media screen and (max-width: 1024px) {
    .free_btn_comming{
        margin: 20px auto 0;
    }
}
@media screen and (max-width: 768px) {
    .free_btn_comming{
        width: 100%;
        margin: 20px auto 0;
    }
}
.free_btn a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 20px 0;
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
    color:#ffffff;
    transition: 0.3s;
}
    @media screen and (max-width: 768px) {
        .free_btn a{
            padding: 3.255vw 0 3.516vw 3.255vw;
            font-size: 4.948vw;
        }
    }

.free_btn a::before{
	content: '';
	display: block;
	position: absolute;
	top:0;
	bottom:0;
	left:30px;
	margin: auto 0;
	background-image: url(../img/btn_icon.webp);
	background-repeat: no-repeat;
	width: 38px;
	height: 50px;
	background-size: 38px 50px;
}
    @media screen and (max-width: 768px) {
        .free_btn a::before{
            left: 4.297vw;
            width: 7.292vw;
            height: 9.505vw;
            background-size: 7.292vw 9.505vw;
        }
    }

.free_btn a::after{
	content: '';
	display: block;
	position: absolute;
	top:0;
	bottom:0;
	right:30px;
	margin: auto 0;
	background-image: url(../img/btn_arrow_pc.webp);
	background-repeat: no-repeat;
	width: 15px;
	height: 15px;
	background-size: 15px 15px;
}
    @media screen and (max-width: 768px) {
        .free_btn a::after{
            right:5.208vw;
            width: 3.255vw;
            height: 3.255vw;
            background-image: url(../img/btn_arrow_sp.webp);
            background-size: 3.255vw 3.255vw;
        }
    }

.free_btn a span{
    display: block;
    margin-bottom:5px;
	font-size: 16px;
	font-weight: 500;
	color:#FEED00;
}
    @media screen and (max-width: 768px) {
        .free_btn a span{
            margin-bottom: 1.302vw;
            font-size: 3.385vw;
            font-weight: bold;
        }
    }

.free_btn a span.t_size202302{
    font-size: 15px;
}
    @media screen and (max-width: 768px) {
        .free_btn a span.t_size202302{
            font-size: 2.995vw;
        }
    }
.join_anchor{
    background: #F18705;
    box-shadow: 0 4px 0 0 #5A3200;
}
.join_anchor a span{
    color: #FFFFFF;
}
.join_anchor a::before{
    width: 45px;
    height: 44px;
    background-size: 100%;
    background-image:url(../img/note_icon.webp);
}
@media screen and (max-width: 768px) {
    .join_anchor{
        box-shadow: 0 1.172vw 0 0 #5A3200;
    }
    .join_anchor a::before{
        width: 8.464vw;
        height: 8.464vw;
        left: 5.859vw;
    }
}

/********** header内のボタン（ベース値は[.free_btn]で設定。一部だけcssを上書きしている） **********/
.free_btn_header {
    position: absolute;
    top: 20px;
    right: 110px;
    width:23%;
    max-width: 322px;/*ボタンの幅*/
    margin: 0 auto 0;
    background-color: #F18705;
    box-shadow: 0 5px 0 0 #5A3200;/*影の色(rgbaの値を変更)*/
    border-radius: 6px;
}
.free_btn_header a{
	padding: 10px 0 12px 3px;
	font-size: 22px;
}
.free_btn_header a::before{
	/* left: 15px;
	width: 15px;
	height: 20px;
	background-size: 15px 20px; */
    display: none;
}
.free_btn_header a::after{
	right: 15px;
	width: 12px;
	height: 12px;
	background-size: 12px 12px;
}

@media screen and (max-width: 768px) {
    .free_btn_sp-header{
        position: absolute;
        bottom:5.208vw;
        width: 100%;
    }
}

/********** WEB入会手続きボタン（ベース値は[.free_btn]で設定。一部だけcssを上書きしている） **********/
.join_btn_header {
    position: absolute;
    top: 13px;
    right: 110px;
    width:30%;
    max-width: 322px;/*ボタンの幅*/
    margin: 0 auto 0;
    background-color: #F18705;
    box-shadow: 0 5px 0 0 #5A3200;
    border-radius: 6px;
}

.join_btn_header.join_btn_header_add-color2404{
    background-color: #4D99BB;
    box-shadow: 0 5px 0 0 #254D5F;
}
.join_btn_header.join_btn_header_add-color2404:hover{
    box-shadow: none;
}

.join_btn_header a{
	padding: 12px 0 5px;
}
@media screen and (max-width: 1024px) {
    .join_btn_header {
        top: 20px;
        box-shadow: 0 3px 0 0 #5A3200;
    }
    .join_btn_header a{
        padding: 7px 0 2px;
    }
}
.join_btn_header a::before{
    display: none;
}
.join_btn_header a::after{
	display: none;
}
.join_btn_header a span{
	display: block;
    margin-left:8.38%;
    width: 87%;
    max-width: 277px;
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .join_btn_header{
        position: absolute;
        bottom:5.208vw;
        width: 89.583vw;
        max-width: unset;
        top: unset;
        left: 0;
        right: 0;
        margin: auto;
        box-shadow: 0 1.172vw 0 0 #5A3200;
    }
    .join_btn_header a{
        padding: 5.339vw 0 3.516vw;
    }
    .join_btn_header a span{
        margin-left:17.318vw;
        width: 67.057vw;
        max-width: 516px;
        margin-bottom: 0;
    }
}


/********** 店頭での入会までの流れの中にあるボタンサイズ設定（ベース値は[.free_btn]で設定。一部だけcssを上書きしている） **********/
.free_btn_rewrite{
    max-width: 390px;/*ボタンの幅*/
    margin: 10px auto 0;
}
    @media screen and (max-width: 768px) {
        .free_btn_rewrite{
            width: 100%;
            max-width: 100%;/*ボタンの幅*/
            margin: 2.734vw auto 0;
        }
    }

.free_btn_rewrite a{
	padding: 18px 0;
	font-size: 19px;
}
    @media screen and (max-width: 1000px) {
        .free_btn_rewrite a{
            padding: 1.8vw 0;
            font-size: 1.9vw;
        }
    }
    @media screen and (max-width: 768px) {
        .free_btn_rewrite a{
            padding: 3.255vw 0 3.516vw 3.255vw;
            font-size: 4.427vw;
        }
    }

.free_btn_rewrite a::before{
	width: 30px;
	height: 39px;
	background-size: 30px 39px;
}
    @media screen and (max-width: 1000px) {
        .free_btn_rewrite a::before{
            left:3vw;
            width: 3vw;
            height: 3.9vw;
            background-size: 3vw 3.9vw;
        }
    }
    @media screen and (max-width: 768px) {
        .free_btn_rewrite a::before{
            left: 3.906vw;
            width: 7.161vw;
            height: 9.375vw;
            background-size: 7.161vw 9.375vw;
        }
    }

.free_btn_rewrite a::after{
	width: 15px;
	height: 15px;
	background-size: 15px 15px;
}
    @media screen and (max-width: 1000px) {
        .free_btn_rewrite a::after{
            right:3vw;
            width: 1.5vw;
            height: 1.5vw;
            background-size: 1.5vw 1.5vw;
        }
    }
    @media screen and (max-width: 768px) {
        .free_btn_rewrite a::after{
            right:3.906vw;
            width: 3.255vw;
            height: 3.255vw;
            background-size: 3.255vw 3.255vw;
        }
    }

.free_btn_rewrite a span{
    margin-bottom:5px;
	font-size: 13px;
}
    @media screen and (max-width: 768px) {
        .free_btn_rewrite a span{
            margin-bottom: 1.302vw;
            font-size: 3.385vw;
        }
    }

.free_btn_rewrite a span.t_size202302{
    font-size: 12px;
}
    @media screen and (max-width: 1000px) {
        .free_btn_rewrite a span.t_size202302{
            font-size: 1.2vw;
        }
    }
    @media screen and (max-width: 768px) {
        .free_btn_rewrite a span.t_size202302{
            font-size: 2.734vw;
        }
    }

/******************************
    footer f_sns_area
******************************/
.f_sns_area{
    margin-top:50px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .f_sns_area{
        margin-top:9.115vw;
        margin-bottom:9.115vw;
    }
}

.f_sns_area p{
    font-size: 1.8rem;
    color: #333;
}
@media screen and (max-width: 768px) {
    .f_sns_area p{
        font-size: 4.166vw;
    } 
}

.f_sns_area .f_sns-icon{
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .f_sns_area .f_sns-icon{
        margin-top: 3.255vw;
    } 
}

.f_sns_area .f_sns-icon span:not(:last-of-type){
    margin-right: 30px;
}
@media screen and (max-width: 768px) {
    .f_sns_area .f_sns-icon span:not(:last-of-type){
        margin-right: 7.161vw;
    } 
}

.f_sns_area .f_sns-icon span{
    display: inline-block;
    width: 45px;
    height: 45px;
}
@media screen and (max-width: 768px) {
    .f_sns_area .f_sns-icon span{
        width: 11.719vw;
        height: 11.719vw;
    }
}

.f_sns_area .f_sns-icon span a{
    display: inline-block;
    width: 100%;
    height: 100%;
}
.f_sns_area .f_sns-icon img{
    width: 100%;
}


 /* 2410追加YouTube動画 */

 .youtube_area{
    margin: 0 auto 80px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .youtube_area{
        padding: 0;
        margin: 0;
    }
}
.youtube_title{
    font-size: 32px;
    font-weight: bold;
    /* letter-spacing: .07em; */
    line-height: 1.6;
    margin-bottom: 6px;
}
.youtube_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
}
.youtube_ttl_desc{
    font-size: 16px;
    line-height: 1.6;
    margin: 40px auto;
    font-weight: 500;
}
.youtube{
    width: 564px;
    aspect-ratio: 16 / 9;
    margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
    .youtube{
        width: 100%;
        margin-bottom: 8.333vw;
    }
    .youtube_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
}
.youtube_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
}
.youtube_ttl_desc{
    width: 86.6vw;
    font-size: 3.73vw;
    line-height: 1.6;
    margin: 6.4vw auto;
    text-align: left;
}

}
.youtube iframe {
    width: 100%;
    height: 100%;
}
.youtube_bottom{
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}
.youtube_bottom span{
text-decoration: underline;
text-underline-offset: 5px;
}
@media screen and (max-width: 768px) {
    .youtube_bottom{
        width: 86.6vw;
        font-size: 3.73vw;
        margin: 6.4vw auto 14.9vw;
        text-align: left;
    }
}
.heebo{
    font-family: "Heebo", sans-serif !important;
}
/* features */
.features{
    background: #E0F2E6;
    border-radius: 30px;
    padding: 80px 11.4% 287px;
    margin: 80px auto 0;
    text-align: center;
}
.features_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
    .features{
        border-radius: 30px;
        padding: 17.1vw 6.2vw 62.8vw;
        margin: 14.9vw auto 0;
    }
    .features_title{
        font-size: 6.2vw;
        margin-bottom: 1.6vw;
    }
}
.features_title span{
    font-size: 40px;
    font-weight: bold;
    vertical-align: baseline;
}
@media screen and (max-width: 768px) {
    .features_title span{
        font-size: 8.3vw;
    }
}
.features_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .features_title_bottom{
        font-size: 4.4vw;
    }
}
.features_info{
    max-width: 880px;
    width: 96%;
    border: 1px solid #1AA81A;
    border-radius: 10px;
    padding: 24px 32px;
    margin: 40px auto 30px;
}
.features_info_top{
    font-size: 18px;
    font-weight: bold;
    color: #1AA81A;
    padding-bottom: 13px;
    border-bottom: 2px dotted #1AA81A;
    letter-spacing: .08em;
    margin-bottom: 13px;
}
.features_info_bottom{
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .features_info{
        border: 1px solid #1AA81A;
        border-radius: 10px;
        padding: 4.26vw;
        margin: 5.3vw auto 10.6vw;
    }
    .features_info_top{
        font-size: 4.26vw;
        font-weight: bold;
        color: #1AA81A;
        padding-bottom: 3.46vw;
        border-bottom: 2px dotted #1AA81A;
        letter-spacing: .08em;
        margin-bottom: 3.46vw;
    }
    .features_info_bottom{
        font-size: 3.73vw;
        line-height: 1.6;
        text-align: left;
        font-weight: 500;
    }
}
.slider_features{
    max-width: 880px;
    margin: 40px auto 16px;
}
.slider_features_item{
    padding: 50px 6.3%;
    background: #fff;
    border-radius: 25px;
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    gap: 4%;
    min-height: 333px;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .slider_features_item{
        flex-direction: column;
        padding: 5.2vw 4.15vw;
        min-height: 130vw;
        justify-content: flex-start;
        border-radius: 10px;
    }
}
.slider_features_img{
    width: 35.9%;
}
.slider_features_info{
    width: 59.8%;
}

.slider_features_top{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}
.slider_features_num{
    width: 42px;
    /* height: auto; */
    /* object-fit: cover; */
}
.slider_features_heading{
    font-size: 20px;
    font-weight: bold;
    color: #1AA81A;
    line-height: 1.6;
    text-align: left;
}
@media screen and (min-width:768px) and ( max-width:1000px) {
    .slider_features_heading{
        font-size: 18px;
        line-height: 1.6;
        text-align: left;
    }
}
.slider_features_text{
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
}
@media screen and (min-width:768px) and ( max-width:1000px) {
    .slider_features_text{
        font-size: 15px;
        line-height: 1.6;
        text-align: left;
    }
}
.slider_features_text span{
    color: #1AA81A;
    vertical-align: baseline;
}
.slider_features-arrow{
    width: 48px;
    position: absolute;
    top: 40%;
    cursor: pointer;
    z-index: 10;
}
.slider_features-arrow:hover{
    opacity: 0.8;
}
.slider_features-arrow.prev-arrow{
    left: -24px;
}
.slider_features-arrow.next-arrow{
    right: -24px;
}
.slider_features_link{
    display: block;
    margin-top: 18px;
}
.slider_features_link.plan_link{
    width: 124px;
}
.slider_features_link.simulator_link{
    width: 174px;
}
.slider_features-counter{
    font-size: 20px;
    letter-spacing: .06em;
}
.slider_features-counter span{
    font-size: 20px;
    color: #1AA81A;
}
@media screen and (max-width: 768px) {
    .slider_features_img{
        width: 100%;
        margin: 4.15vw auto;
    }
    .slider_features_info{
        width: 100%;
    }
    .slider_features_heading{
        font-size: 4.8vw;
        /* letter-spacing: -.03em; */
    }
    .slider_features_num{
        width: 10.3vw;
    }
    .slider_features_text{
        font-size: 3.63vw;
    }
    .slider_features_link.plan_link{
        width: 31.4vw;
        margin: 4.2vw auto 0;
    }
    .slider_features_link.simulator_link{
        width: 46.4vw;
        margin: 4.2vw auto 0;
    }
    .slider_features-arrow{
        width: 10.6vw;
        position: absolute;
        top: 43%;
        cursor: pointer;
        z-index: 10;
        background-color: unset;
    }
    .slider_features-arrow:hover{
        opacity: 0.8;
    }
    .slider_features-arrow.prev-arrow{
        left: -5.3vw;
    }
    .slider_features-arrow.next-arrow{
        right: -5.3vw;
    }
    .slider_features-counter{
        font-size: 4.26vw;
        letter-spacing: .06em;
    }
    .slider_features-counter span{
        font-size: 4.26vw;
        color: #1AA81A;
    }
}
.join_btn{
    width: 370px;
    margin: 0 auto;
    display: block;
}
@media screen and (max-width: 768px) {
    .join_btn{
        width: 84.6vw;
    }
}
/* campaign */
.campaign{
    padding: 80px 0 168px;
    background-image: url(../img/campaign_bg_pc.webp);
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 25px;
    margin-top: -210px;
}
@media screen and (max-width: 768px) {
    .campaign{
        padding: 12.5vw 0 37vw;
        border-radius: 25px;
        margin-top: -50vw;
        background-image: url(../img/campaign_bg_sp.webp);
    }
}
.campaign_inner{
    max-width: 880px;
    width: 96%;
    margin: 0 auto;
}
.campaign_img_top{
    display: block;
    width: 100%;
    margin: 0 auto 16px;
}
.campaign_img_bottom{
    display: block;
    width: 100%;
    margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
    .campaign_inner{
        width: 100%;
    }
    .campaign_img_top{
        display: block;
        width: 89.8vw;
        margin: 0 auto 4vw 3.2vw;
    }
    .campaign_img_bottom{
        display: block;
        width: 86.6vw;
        margin: 0 auto 8vw;
    }
}
/* howto */
.howto{
    border-radius: 30px;
    padding: 80px 11.4% 80px;
    margin: -90px auto 0;
    text-align: center;
    background: #fff;
}
.howto_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.howto_title_img{
    display: block;
    width: 147px;
    margin: 0 auto;
}
.howto_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    line-height: 1.6;
}
.howto_info{
    max-width: 880px;
    width: 96%;
    border: 1px solid #1AA81A;
    border-radius: 10px;
    padding: 24px 32px;
    margin: 40px auto 30px;
}
.howto_info_top{
    font-size: 18px;
    font-weight: bold;
    color: #1AA81A;
    padding-bottom: 13px;
    border-bottom: 2px dotted #1AA81A;
    letter-spacing: .08em;
    margin-bottom: 13px;
}
.howto_info_bottom{
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
}

.slider_howto{
    margin: 40px auto 16px;
    max-width: 928px;
}
.slider_howto_item{
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 4%;
    max-width: 790px;
    min-height: 250px;
    margin: 0 auto;
}
.slider_howto_img{
    width: 43.5%;
}
.slider_howto_info{
    width: 41.5%;
    text-align: left;
}
.slider_howto_info_top{
    font-size: 14px;
    color: #1AA81A;
    line-height: 1.6;
    text-decoration: underline;
    text-underline-offset: 8px;
    margin-bottom: 9px;
}
.slider_howto_info_top span{
    font-size: 19px;
    color: #1AA81A;
    vertical-align: baseline;
}
.slider_howto_info_middle{
    font-size: 20px;
    font-weight: bold;
    color: #1AA81A;
    line-height: 1.6;
    margin-bottom: 13px;
}
.slider_howto_info_bottom{
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}
.slider_howto-arrow{
    width: 48px;
    position: absolute;
    top: 40%;
    cursor: pointer;
    z-index: 10;
}
.slider_howto-arrow:hover{
    opacity: 0.8;
}
.slider_howto-arrow.prev-arrow{
    left: -24px;
}
.slider_howto-arrow.next-arrow{
    right: -24px;
}
.slider_howto_link{
    display: block;
    margin-top: 18px;
    width: 174px;
}
.slider_howto-counter{
    font-size: 20px;
    letter-spacing: .06em;
    margin-bottom: 40px;
}
.slider_howto-counter span{
    font-size: 20px;
    color: #1AA81A;
}
@media screen and (max-width: 768px) {
    .howto{
        border-radius: 30px;
        padding: 14.9vw 8vw;
        margin: -90px auto 0;
        text-align: center;
        background: #fff;
    }
    .howto_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
    }
    .howto_title_img{
        display: block;
        width: 30vw;
        margin: 0 auto;
    }
    .howto_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
    }
    .slider_howto{
        margin: 40px auto 16px;
        max-width: 928px;
    }
    .slider_howto_item{
        display: flex !important;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .slider_howto_img{
        width: 69.6vw;
        margin-bottom: 2.66vw;
    }
    .slider_howto_info{
        width: 69.6vw;
        text-align: left;
    }
    .slider_howto_info_top{
        font-size: 3.73vw;
        text-align: center;
        text-underline-offset: 8px;
        margin-bottom: 2.66vw;
    }
    .slider_howto_info_top span{
        font-size: 5.06vw;
        color: #1AA81A;
        vertical-align: baseline;
    }
    .slider_howto_info_middle{
        font-size: 4.8vw;
        text-align: center;
        line-height: 1.6;
        margin-bottom: 2.66vw;
    }
    .slider_howto_info_bottom{
        font-size: 3.73vw;
        line-height: 1.6;
        font-weight: 500;
    }
    .slider_howto-arrow{
        width: 10.6vw;
        position: absolute;
        top: 30%;
        cursor: pointer;
        z-index: 10;
    }
    .slider_howto-arrow:hover{
        opacity: 0.8;
    }
    .slider_howto-arrow.prev-arrow{
        left: -5.3vw;
    }
    .slider_howto-arrow.next-arrow{
        right: -5.3vw;
    }
    .slider_howto_link{
        display: block;
        margin-top: 18px;
        width: 174px;
    }
    .slider_howto-counter{
        font-size: 4.2vw;
        letter-spacing: .06em;
        margin-bottom: 6vw;
    }
    .slider_howto-counter span{
        font-size: 4.2vw;
        color: #1AA81A;
    }
}
/* plan */
.plan{
    background: #E0F2E6;
    border-radius: 30px;
    padding: 80px 0;
    margin: 0 auto;
    text-align: center;
}
.plan_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.plan_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
    margin-bottom: 40px;
}
.plan_title_text{
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}

.plan .join_btn{
    margin-top: 40px;
}
#js-plan-accordion{
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .plan{
        background: #E0F2E6;
        border-radius: 30px 30px 0 0;
        padding: 14.9vw 3.73vw;
        margin: 0 auto;
        text-align: center;
    }
    .plan_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 1.6vw;
    }
    .plan_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
        margin-bottom: 6.4vw;
    }
    .plan_title_text{
        font-size: 3.73vw;
        line-height: 1.6;
    }

    .plan .join_btn{
        margin-top: 40px;
    }
    #js-plan-accordion{
        margin-top: 6.4vw;
    }
}
.plan_accordion_box{
    background: #1AA81A;
    text-align: left;
    border-radius: 8px;
    max-width: 880px;
    margin: 0 auto 10px;
    width: 96%;
}
.plan_accordion_btn{
    padding: 24px;
    position: relative;
    cursor: pointer;
}
.plan_accordion_btn_top{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: #1AA81A;
    background: #fff;
    border-radius: 7px;
    padding: 3px 9px;
    display: inline-block;
    margin-bottom: 8px;
}
.plan_accordion_btn_bottom{
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}
.plan_accordion_btn_bottom .yen{
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    vertical-align: baseline;
}
.plan_accordion_btn_bottom .tax{
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    vertical-align: baseline;
}
@media screen and (max-width: 768px) {
    .plan_accordion_box{
        background: #1AA81A;
        text-align: left;
        border-radius: 15px;
        max-width: 880px;
        margin: 0 auto 10px;
        width: 93.2vw;
    }
    .plan_accordion_btn{
        padding: 4.26vw 4.26vw;
        position: relative;
        cursor: pointer;
    }
    .plan_accordion_btn_top{
        font-size: 3.2vw;
        font-weight: 500;
        line-height: 1.6;
        color: #1AA81A;
        background: #fff;
        border-radius: 7px;
        padding: 0.8vw 2.4vw;
        display: inline-block;
        margin-bottom: 8px;
    }
    .plan_accordion_btn_bottom{
        font-size: 5.3vw;
        font-weight: bold;
        color: #fff;
        letter-spacing: .05em;
        line-height: 1.6;
    }
    .plan_accordion_btn_bottom .yen{
        font-size: 3.73vw;
        font-weight: bold;
        color: #fff;
        vertical-align: baseline;
    }
    .plan_accordion_btn_bottom .tax{
        font-size: 3.2vw;
        font-weight: 500;
        color: #fff;
        vertical-align: baseline;
    }
}
.plan_accordion_btn::before,
.plan_accordion_btn::after{
  content: '';
  display: block;
  width: 16px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  right: 30px;
  top:55%;
  transform: translateY(-50%);
}
    @media screen and (max-width: 768px) {
        .plan_accordion_btn::before,
        .plan_accordion_btn::after{
            width: 4.557vw;
            height: 0.521vw;
            right: 3.906vw;
            top: 50%;
        }
    }

.plan_accordion_btn::after{
  background-color: #fff;
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s;
}
.plan_accordion_btn.active::after {
  transform: rotate(0);
  transition: 0.5s;
  top:35%;
  opacity: 0;
}
    @media screen and (max-width: 768px) {
        .plan_accordion_btn.active::after {
            top:48%;
        }
    }

.plan_accordion_info{
    padding: 0 24px 24px;
}

.plan_accordion_info_top{
    background: #0e8a0e;
    border-radius: 15px;
    padding: 24px 4.9%;
    margin-bottom: 20px;
}
.plan_accordion_info_top .heading{
    width: 164px;
    display: block;
    margin: 0 auto 6px;
}
.plan_accordion_info_top .heading02{
    width: 236px;
}
.plan_accordion_info_top .heading_bottom{
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 16px;
    color: #fff;
    text-align: center;
}
.plan_accordion_info_top .flex_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px dotted #1AA81A;
}
.plan_accordion_info_top .flex_box_text{
    width: 57.6%;
    font-size: 14px;
    color: #fff;
    line-height: 1.6;
    font-weight: bold;
}
.plan_accordion_info_top .flex_box_img{
    width: 39%;
}
@media screen and (max-width: 768px) {
    .plan_accordion_info{
        padding: 0 16px 24px;
    }
    .plan_accordion_info_top{
        background: #0e8a0e;
        border-radius: 15px;
        padding: 6.4vw 4.2vw;
        margin-bottom: 4.2vw;
    }
    .plan_accordion_info_top .heading{
        width: 39.4vw;
        display: block;
        margin: 0 auto 2.13vw;
    }
    .plan_accordion_info_top .heading02{
        width: 46vw;
        margin-bottom: 2.13vw;
    }
    .plan_accordion_info_top .heading_bottom{
        font-size: 18px;
        font-weight: 500;
        padding-bottom: 16px;
        color: #fff;
        text-align: center;
    }
    .plan_accordion_info_top .flex_box{
        flex-direction: column;
        padding-top: 2.66vw;
        border-top: 1px dotted #1AA81A;
    }
    .plan_accordion_info_top .flex_box_text{
        width: 100%;
        font-size: 14px;
        color: #fff;
        line-height: 1.6;
        font-weight: bold;
        margin-bottom: 2.66vw;
    }
    .plan_accordion_info_top .flex_box_img{
        width: 100%;
    }
}
.plan_accordion_info_middle{
    width: 100%;
    margin-bottom: 32px;
}
.plan_accordion_info_middle td{
    width: 33.3%;
    font-size: 16px;
    font-weight: bold;
    background: #fff;
    height: 56px;
    text-align: center;
    vertical-align: middle;
}
.plan_accordion_info_middle td span{
    font-size: 10px;
    font-weight: 500;
}
.plan_accordion_info_middle td.bg_green{
    background-color: #e9f6ed;
}
.plan_accordion_info_bottom_title{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    color: #fff;
    margin-bottom: 13px;
}
.plan_accordion_info_note{
    font-size: 12px;
    color: #fff;
    line-height: 1.4;
}

/* 共通スタイル */
.plan_accordion_info_bottom table {
  border-collapse: collapse;
  width: 100%;
}

.plan_accordion_info_bottom th, td {
  border: 1px solid #999;
  padding: 8px;
  text-align: center;
  white-space: nowrap;
}
.plan_accordion_info_bottom th{
    height: 36px;
    font-size: 16px;
}


.scroll-table{
    display: flex;
    margin-bottom: 30px;
    font-weight: 500;
}
.fixed-col{
    width: 8.3%;
}
.fixed-col th{
    border-right: none !important;
    background: #E7E7E7;
}
.fixed-col td{
    border-right: none !important;
    background: #E7E7E7;
    font-size: 16px;
    vertical-align: middle;
}
.fixed-col table td{
    height: 64px;
}
.scrollable{
    width: 91.7%;
}
.scrollable table{
    table-layout: fixed;
}
.scrollable th{
    background: #E7E7E7;
}
.scrollable td{
    width: 14.2%;
    height: 64px;
    font-size: 16px;
    background: #fff;
    vertical-align: middle;
}
.scrollable td.bg_green{
    background: #E9F6ED;
    color: #1AA81A;
}



@media screen and (min-width:768px) and ( max-width:1000px) {
.scrollable td{
    font-size: 14px;
}
}
/* スマホ表示用 */
@media screen and (max-width: 768px) {
  .plan_accordion_info_bottom .scroll-table {
    display: flex;
    overflow-x: hidden;
  }
    .plan_accordion_info_bottom .table-wrapper {
    overflow-x: auto;
    }
  .plan_accordion_info_bottom .fixed-col {
    flex: none;
    z-index: 1;
    border-right: 1px solid #333333;
  }

  .plan_accordion_info_bottom .scrollable {
    flex: 1;
    overflow-x: auto;
  }
.scrollable td{
    font-size: 14px;
}
  .plan_accordion_info_bottom th{
        font-size: 14px;
    }

  /* .plan_accordion_info_bottom .fixed-col table,
  .plan_accordion_info_bottom .scrollable table {
    width: auto;
  } */
.plan_accordion_info_middle td{
    width: 30%;
    font-size: 3.73vw;
    font-weight: bold;
    background: #fff;
    height: 60px;
    text-align: center;
    vertical-align: middle;
}
.plan_accordion_info_middle td.sp_large{
    width: 40%;
}
.plan_accordion_info_middle td span{
    font-size: 10px;
    font-weight: 500;
}
  .scrollable table{
    table-layout: unset;
  }
.plan_accordion_info_middle{
    width: 100%;
    margin-bottom: 32px;
    table-layout: fixed;
}
  .plan_accordion_info_bottom .fixed-col td,
  .plan_accordion_info_bottom .fixed-col th {
    position: sticky;
    left: 0;
    z-index: 2;
    border-right: none !important;
    font-size: 14px;
  }
  .fixed-col{
    width: 17.3%;
  }
}


/* voice */
.voice{
    background: #fff;
    border-radius: 30px;
    padding: 80px 11.4%;
    margin: 0 auto;
    text-align: center;
}
.voice_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.voice_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
    margin-bottom: 40px;
}
.voice_text_top{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
    letter-spacing: .06em;
}
.voice_text_top span{
    font-size: 25px;
    color: #1AA81A;
    font-weight: bold;
    line-height: 1.6;
    vertical-align: baseline;
}
.voice_text_bottom{
    font-size: 12px;
    line-height: 1.4;
}

.slider_voice{
    margin: 40px auto 16px;
    max-width: 880px;
}
.slider_voice_item{
    padding: 50px 6.3%;
    background: #DFF3E9;
    border-radius: 25px;
    min-height: 292px;
    font-weight: 500;
}
.slider_voice_customer{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 14px;
}
.slider_voice_img{
    width: 64px;
}
.slider_voice_info{
    text-align: left;
}
.slider_voice_info .beginner{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #1AA81A;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .veteran{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #F18705;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .intermediate{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #25B1F7;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .title{
    font-size: 16px;
    margin-bottom: 6px;
}
.slider_voice_info .profile{
    font-size: 12px;
    line-height: 1.4;
}
.slider_voice_top{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}
.slider_voice_heading{
    font-size: 20px;
    font-weight: bold;
    color: #1AA81A;
    line-height: 1.6;
    text-align: left;
}
.slider_voice_text{
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
}
.slider_voice_text span{
    color: #1AA81A;
    vertical-align: baseline;
}
.slider_voice-arrow{
    width: 48px;
    position: absolute;
    top: 40%;
    cursor: pointer;
    z-index: 10;
}
.slider_voice-arrow.prev-arrow{
    left: -24px;
}
.slider_voice-arrow.next-arrow{
    right: -24px;
}
.slider_voice-arrow:hover{
    opacity: 0.8;
}
.slider_voice_link{
    display: block;
    margin-top: 18px;
    width: 174px;
}
.slider_voice-counter{
    font-size: 20px;
    letter-spacing: .06em;
}
.slider_voice-counter span{
    font-size: 20px;
    color: #1AA81A;
}

.voice .join_btn{
    margin-top: 80px;
}
@media screen and (max-width: 768px) {
    .voice{
    background: #fff;
    border-radius: 30px;
    padding: 14.9vw 8vw;
    margin: 0 auto;
    text-align: center;
}
    .voice_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
    }
    .voice_title_img{
        display: block;
        width: 30vw;
        margin: 0 auto;
    }
    .voice_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
        margin-bottom: 6.4vw;
    }
.voice_text_top{
    font-size: 4.26vw;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
    letter-spacing: .06em;
}
.voice_text_top span{
    font-size: 6.1vw;
    color: #1AA81A;
    font-weight: bold;
    line-height: 1.6;
    vertical-align: baseline;
}
.voice_text_bottom{
    font-size: 3.2vw;
    line-height: 1.4;
}
.slider_voice{
    margin: 40px auto 16px;
    max-width: 880px;
}
.slider_voice_item{
    padding: 6.4vw 8.5vw;
    background: #DFF3E9;
    border-radius: 1.8vw;
    min-height:88.3vw;
    font-weight: 500;
}
.slider_voice_customer{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 14px;
}
.slider_voice_img{
    width: 64px;
}
.slider_voice_info{
    text-align: left;
}
.slider_voice_info .beginner{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #1AA81A;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .veteran{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #F18705;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .intermediate{
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 7px;
    background: #25B1F7;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    margin-bottom: 9px;
}
.slider_voice_info .title{
    font-size: 3.73vw;
    margin-bottom: 6px;
}
.slider_voice_info .profile{
    font-size: 3.2vw;
    line-height: 1.4;
}
.slider_voice_top{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
}
.slider_voice_text{
    font-size: 3.73vw;
    line-height: 1.6;
    text-align: left;
}
.slider_voice_text span{
    color: #1AA81A;
    vertical-align: baseline;
}
    .slider_voice-arrow{
        width: 10.6vw;
        position: absolute;
        top: 35%;
        cursor: pointer;
        z-index: 10;
    }
    .slider_voice-arrow:hover{
        opacity: 0.8;
    }
    .slider_voice-arrow.prev-arrow{
        left: -5.3vw;
    }
    .slider_voice-arrow.next-arrow{
        right: -5.3vw;
    }
    .slider_voice_link{
        display: block;
        margin-top: 18px;
        width: 174px;
    }
    .slider_voice-counter{
        font-size: 4.2vw;
        letter-spacing: .06em;
        margin-bottom: 6vw;
    }
    .slider_voice-counter span{
        font-size: 4.2vw;
        color: #1AA81A;
    }
.voice .join_btn{
    margin-top: 13.3vw;
}
}
/* simulator */
.simulator{
    border-radius: 30px;
    padding: 80px 11.4% 80px;
    margin: 80px auto 0;
    text-align: center;
    background: #fff;
}
.simulator_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
}
.simulator_title_img{
    display: block;
    width: 147px;
    margin: 0 auto;
}
.simulator_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
}

.slider_simulator{
    margin: 40px auto 16px;
    max-width: 928px;
}
.slider_simulator_item{
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 4%;
    max-width: 740px;
    min-height: 250px;
    margin: 0 auto;
}
.slider_simulator_img{
    width: 43.5%;
}
.slider_simulator_info{
    width: 52.5%;
    text-align: left;
}
.slider_simulator_info_top{
    font-size: 20px;
    font-weight: bold;
    color: #1AA81A;
    line-height: 1.6;
    margin-bottom: 13px;
}
.slider_simulator_info_bottom{
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
}
.slider_simulator-arrow{
    width: 48px;
    position: absolute;
    top: 40%;
    cursor: pointer;
    z-index: 10;
}
.slider_simulator-arrow:hover{
    opacity: 0.8;
}
.slider_simulator-arrow.prev-arrow{
    left: -24px;
}
.slider_simulator-arrow.next-arrow{
    right: -24px;
}
.slider_simulator_link{
    display: block;
    margin-top: 18px;
    width: 174px;
}
.slider_simulator-counter{
    font-size: 20px;
    letter-spacing: .06em;
}
.slider_simulator-counter span{
    font-size: 20px;
    color: #1AA81A;
}
@media screen and (max-width: 768px) {
    .simulator{
    border-radius: 30px;
    padding: 14.9vw 8vw;
    margin: 0 auto;
    text-align: center;
    background: #fff;
}
    .simulator_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
    }
    .simulator_title_img{
        display: block;
        width: 30vw;
        margin: 0 auto;
    }
    .simulator_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
    }
.slider_simulator{
    margin: 40px auto 16px;
    max-width: 928px;
}
.slider_simulator_item{
    flex-direction: column;
    gap: 4%;
    max-width: 69.6vw;
    min-height: 70vw;
    margin: 0 auto;
}
.slider_simulator_img{
    width: 100%;
    margin-bottom: 4.26vw;
}
.slider_simulator_info{
    width: 100%;
    text-align: left;
}
.slider_simulator_info_top{
    font-size: 4.8vw;
    font-weight: bold;
    color: #1AA81A;
    line-height: 1.6;
    margin-bottom: 4.26vw;
    text-align: center;
}
.slider_simulator_info_bottom{
    font-size: 3.73vw;
    line-height: 1.6;
    font-weight: 500;
}
    .slider_simulator-arrow{
        width: 10.6vw;
        position: absolute;
        top: 45%;
        cursor: pointer;
        z-index: 10;
    }
    .slider_simulator-arrow:hover{
        opacity: 0.8;
    }
    .slider_simulator-arrow.prev-arrow{
        left: -5.3vw;
    }
    .slider_simulator-arrow.next-arrow{
        right: -5.3vw;
    }
    .slider_simulator_link{
        display: block;
        margin-top: 18px;
        width: 174px;
    }
    .slider_simulator-counter{
        font-size: 4.2vw;
        letter-spacing: .06em;
    }
    .slider_simulator-counter span{
        font-size: 4.2vw;
        color: #1AA81A;
    }
}
/* instagram */
.instagram{
    padding: 80px 0 80px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .instagram{
        padding:22.4vw 0 16vw;
        position: relative;
        z-index: 1;
    }
}
.instagram_title{
    font-size: 32px;
    font-weight: bold;
    /* letter-spacing: .07em; */
    line-height: 1.6;
    margin-bottom: 6px;
}
.instagram_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
    .instagram_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
}
.instagram_title_bottom{
        font-size: 4.2vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
        margin-bottom: 6.4vw;
}
}
.insta_innr{
    max-width: 415px;
    margin: auto;
    /* border: 1px solid #ECEDF0; */
    box-shadow: 0 0 0 1px #ECEDF0;
    border-radius: 10px;
}
@media screen and (max-width: 768px) {
    .insta_innr{
        width: 89.583vw;
        max-width: 688px;
    }
}
.insta_gallery_wrap{
    margin: 10px;
}
.insta_icon_wrap{
    padding: 10px 0 8px;
    border-bottom: 1px solid #ECEDF0;
    margin: 10px 18px;
}
.insta_icon{
    width: 40px;
    height: 40px;
    margin: auto;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 0 1px #ECEDF0;
}
@media screen and (max-width: 480px) {
    .insta_icon{
        width: 48px;
        height: 48px;
    }
}
.insta_icon img{
    display: block;
    width: 24px;
    height: 24px;
}
@media screen and (max-width: 480px) {
.insta_icon img{
    width: 24px;
    height: 24px;
}
}
.follow_btn a{
    display: block;
    padding: 10px 0;
    width: 100%;
    height: 100%;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    background-color: #E1306C;
    transition: .3s;
}
.follow_btn a:hover{
    background-color: #c21c54;
}
.follow_btn a span{
    position: relative;
	display: inline-block;
	padding: 0 20px 0 0;
}
.follow_btn a span::before{
    position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
    width: 12px;
	height: 12px;
    background-image: url(../img/arrow_insta.webp?7);
    background-size: contain;
    background-repeat: no-repeat;
}
.lightwidget__lightbox-image{
    width: 450px!important;
}
@media screen and (max-width: 768px) {
    .lightwidget__lightbox-image{
        width: 100%!important;
    }
}
.lightwidget__lightbox-btn-text{
    font-size: 12px!important;
}
.lightwidget__lightbox-caption{
    font-size: 15px!important;
}
.lightwidget__lightbox .lightwidget__comments, .lightwidget__lightbox .lightwidget__full-name, .lightwidget__lightbox .lightwidget__likes, .lightwidget__lightbox .lightwidget__name-item+.lightwidget__name-item, .lightwidget__lightbox .lightwidget__username{
    font-size: 14px!important;
}
.lightwidget__btn{
    font-weight: 400!important;
}
.lightwidget__nav-button.lightwidget__nav-button--close:before{
    -webkit-mask-size: 20px auto!important;
    background-color: #000!important;
}
@media screen and (max-width: 672px) {
    .lightwidget__nav-button.lightwidget__nav-button--close{
        right: 2.8vw !important;
        top: 3.2vw !important;
        padding: 1.6vw !important;
        margin: 0 !important;
    }
}
@media screen and (max-width: 430px) {
    .lightwidget__nav-button.lightwidget__nav-button--close{
        right: 2.8vw !important;
        top: 3.2vw !important;
    }
}
.lightwidget__nav-button--prev{
    margin: 0!important;
    left: calc(50vw - 510px)!important;
}
@media screen and (max-width: 980px) {
    .lightwidget__nav-button--prev{
        left:0!important;
    }
}
.lightwidget__nav-button--next{
    margin: 0!important;
    right: calc(50vw - 510px)!important;
}
@media screen and (max-width: 980px) {
    .lightwidget__nav-button--next{
        right: 0!important;
    }
}
.lightwidget__lightbox-dialog{
    /* padding: 5rem !important; */
        max-height: 95dvmin !important;
        padding: calc(var(--lightwidget-lightbox-padding) * 2rem) !important;
}
@media screen and (max-width: 560px) {
    .lightwidget__lightbox-dialog{
        padding: 5vw !important;
        max-height: none !important;
    }
}
@media screen and (max-width: 430px) {
    .lightwidget__lightbox-dialog{
        width: 120% !important;
        max-height: none !important;
    }
    .lightwidget__lightbox>.lightwidget__nav-button--next, .lightwidget__lightbox>.lightwidget__nav-button--prev{
        position: absolute!important;
        padding: 6vw!important;
    }
    .lightwidget__nav-button--prev{
        left: 0!important;
    }
    .lightwidget__nav-button--next{
        right: 0!important;
    }
}
@media screen and (max-width: 42rem) {
    .lightwidget__lightbox-dialog{
        max-height: none !important;
    }
}
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  color: #333333;
  font-weight: 500;
}

.modal-content {
  background: #fff;
  margin: 0 auto;
  padding: 30px 40px;
  max-width: 980px;
  width: 96%;
  border-radius: 8px;
  position: relative;
  text-align: center;
  height: 80vh;
  top: 10%;
  overflow-y: scroll;
}

.modal_title{
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 40px; 
}
.modal_title_bottom{
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
    font-weight: 500;
}

.privacy_policy_list{
    /* list-style: disc; */
    text-align: left;
}
.privacy_policy_item{
    font-size: 16px;
    line-height: 1.6;
    margin-top: 10px;
    position: relative;
    padding-left: 1.5em; /* 黒丸のスペース分余白を空ける */
}
.privacy_policy_item::before{
    content: "●"; /* 黒丸 */
    position: absolute;
    left: 0;
    top: 0;
    line-height: 1.6;
}
.privacy_policy_heading{
    margin: 20px auto 10px;
    font-size: 16px;
    text-align: left;
    font-weight: 500;
}
.privacy_policy_text{
    margin: 0 auto 10px;
    font-size: 16px;
    text-align: left;
    line-height: 1.6;
}

.close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 40px;
    cursor: pointer;
    color: #000;
    font-weight: 100;
}
@media screen and (max-width: 768px) {
    .modal-content {
        background: #fff;
        margin: 0 auto;
        padding: 19.4vw 4.26vw 8vw;
        max-width: 980px;
        width: 95.2vw;
        border-radius: 8px;
        position: relative;
        text-align: center;
        height: 80vh;
        top: 10%;
        overflow-y: scroll;
    }
    .modal_title{
        font-size: 6.4vw;
        font-weight: bold;
        margin-bottom: 10.6vw; 
    }
    .modal_title_bottom{
        font-size: 3.73vw;
        line-height: 1.6;
        text-align: left;
    }
    .privacy_policy_item{
        font-size: 3.73vw;
        line-height: 1.6;
        margin-top: 10px;
        position: relative;
        padding-left: 1.5em; /* 黒丸のスペース分余白を空ける */
    }
    .privacy_policy_item::before{
        content: "●"; /* 黒丸 */
        position: absolute;
        left: 0;
        top: 0;
        line-height: 1.6;
    }
    .privacy_policy_heading{
        margin: 20px auto 10px;
        font-size: 3.73vw;
        text-align: left;
    }
    .privacy_policy_text{
        margin: 0 auto 10px;
        font-size: 3.73vw;
        text-align: left;
        line-height: 1.6;
    }
    .close {
        position: absolute;
        top: 8vw;
        right: 4vw;
        font-size: 10.6vw;
        cursor: pointer;
        color: #000;
        font-weight: 100;
    }
}
.close:hover {
  color: #000;
}
.toggle-button {
  cursor: pointer;
  position: relative;
}
.more-toggle-wrapper .toggle-button::before{
    display: none !important;
}
.more-toggle-wrapper .toggle-button::after{
    content: "" !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url(../img/qa_more.webp) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-color: unset !important;
    position: absolute !important;
    right: 30px !important;
    top: 65% !important;
    transform: translateY(-50%) ;
}
@media screen and (max-width: 768px) {
    .more-toggle-wrapper .toggle-button::after{
        content: "" !important;
        width: 4.26vw !important;
        height: 4.26vw !important;
        background-image: url(../img/qa_more.webp) !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-color: unset !important;
        position: absolute !important;
        right: 3.5vw !important;
        top: 51% !important;
        transform: translateY(-50%) ;
    }
    .toggle-button.active{
        padding-bottom: 0 !important;
    }
}
.more-toggle-wrapper.active {
  background-color: #333333 !important; /* 「閉じる」状態の背景色 */
}
.more-toggle-wrapper{
    background-color: #1AA81A !important;
    color: #fff;
    padding: 22px 0px 23px 24px;
}
.more-toggle-wrapper dt::before{
    background: #fff !important;
}
.qa_box{
    margin-bottom: 8px;
    border-radius: 7px;
}
.toggle-button span{
    font-size: 16px !important;
    font-weight: 500 !important;
}
@media screen and (max-width: 768px) {
    .toggle-button span{
        font-size: 3.73vw !important;
        font-weight: 500 !important;
    }
}
.more-toggle-wrapper.active .toggle-button::after{
    opacity: 1 !important;
    transform: rotate(180deg) !important;
    top: 20% !important;
}
@media screen and (max-width: 768px) {
    .more-toggle-wrapper.active .toggle-button::after{
    opacity: 1 !important;
    transform: rotate(180deg) !important;
    top: 14% !important;
}
}
.qa_title{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: .07em;
    line-height: 1.6;
    margin-bottom: 6px;
    text-align: center;
}
.qa_title_bottom{
    font-size: 17px;
    color: #1AA81A;
    letter-spacing: .08em;
    line-height: 1.6;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .qa_title{
        font-size: 6.4vw;
        font-weight: bold;
        letter-spacing: .07em;
        line-height: 1.6;
        margin-bottom: 6px;
        text-align: center;
    }
    .qa_title_bottom{
        font-size: 4.5vw;
        color: #1AA81A;
        letter-spacing: .08em;
        line-height: 1.6;
        text-align: center;
    }
}