@charset "utf-8";
/******************************
    common
******************************/

* {
  margin: 0;
}

.view--pc { display: block; }
.view--sp { display: none; }
.view_1000{ display: none; }
 	@media screen and (max-width: 1000px) {
        .view_1000{ display: block; }
    }
    @media screen and (max-width: 768px) {
        .view--pc { display: none; }
        .view--sp { display: block; }
        .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;
}

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:13.02vw;
        }
    }

header .logo{
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 242px;
}
    @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: #fff!important;
			}
.menu--isOpen .menu__lineMiddle { opacity: 0; }
.menu--isOpen .menu__lineBottom { 
			transform: rotate(-45deg); 
			background-color: #fff!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:#4D99BB;
    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;
        }
    }

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: 14.323vw;
        }
    }

.kv.kv_202507{
    padding-top:0;
}
    @media screen and (max-width: 1200px) {
        .kv.kv_202507{
            padding-top:25px;
        }
    }

    @media screen and (max-width: 768px) {
        .kv.kv_202507{
            padding-top: 17vw;
        }
    }

.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
******************************/
.store-info{
    width: 95%;
    max-width: 980px;
    margin: 74px auto 0;
}

    @media screen and (max-width: 768px) {
        .store-info{
            width: 89.5833%;
            max-width: 688px;
            margin: 79.818vw auto 0;
        }
        .store-info.store-info_202309{
            width: 89.5833%;
            max-width: 688px;
            margin: 10vw auto 0;
        }
    }

.store-info.store-info_mt202401{
    margin: 34px auto 0;
}
@media screen and (max-width: 768px) {
    .store-info.store-info_mt202401{
        margin: 14.583vw auto 0;
    }
}
.store-info.store-info_mt202404{
    margin: 94px auto 0;
}
@media screen and (max-width: 768px) {
    .store-info.store-info_mt202404{
        margin: 59.115vw auto 0;
    }
}

.store-info h2{
    width: 81%;
    max-width: 794px;
    margin-bottom: 30px;
}
    @media screen and (max-width: 768px) {
        .store-info h2{
            width: 81.12vw;
            max-width: 623px;
            margin-bottom: 2.474vw;
        }
    }

.store-info .s-title1,
.store-info .s-title2{
    width: 90%;
    max-width: 768px;
    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: #4D99BB;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title1{
            /* font-size: 5.729vw; */
            font-size: 5.72vw;
        } 
    }

.store-info .s-title1 span{
    display: inline-block;
    position: relative;
}
.store-info .s-title1 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) {
        .store-info .s-title1 span::after{
            bottom: 0.651vw;
            height: 2.604vw;
        }  
    }

.store-info .s-title2{
    margin-top: 30px;
    font-size: 18px;
    font-weight: 400;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title2{
            margin-top: 5.208vw;
            font-size: 4.427vw;
        }
    }

.store-info ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 45px;
}
    @media screen and (max-width: 768px) {
        .store-info ul{
            margin-top: 6.771vw;
        }  
    }

.store-info ul li{
    width: 31.2245%;
    max-width: 306px;
    border-radius: 22px;
    overflow: hidden;
}
    @media screen and (max-width: 768px) {
        .store-info ul li{
            width: 47.6744%;
            max-width: 328px;
            border-radius: 2.865vw;
        }
    }

.store-info ul li img{
    transition:1s all;
}
.store-info ul li img:hover{
    transform:scale(1.2,1.2);
    transition:0.5s all;
}
    @media screen and (max-width: 768px) {
        .store-info ul li img{
            transition: none !important;
        }
        .store-info ul li img:hover{
            transform: none !important;
            transition: none !important;
        }  
    }


.store-info ul li:nth-of-type(n+4){
    margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .store-info ul li:nth-of-type(n+4){
            margin-top: 0;
        }
        .store-info ul li:nth-of-type(n+3){
            margin-top: 4.167vw;
        }
    }

.store-info ul li img{
    width: 100%;
}

.store-info .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) {
        .store-info .camera360{
            margin-top:7.813vw;
            border-radius: 1.302vw;
        }
    }

.store-info .camera360 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/******************************
    footer area
******************************/
footer{
    width:100%;
    padding:120px 0 60px;
    color:#ffffff;
	border-top: 4px solid #472619;
}
    @media screen and (max-width: 768px) {
        footer{
            padding:7.813vw 0;
            border-top: 0.52vw solid #472619;
            margin-bottom: 15.927vw;
        }
    }

.in_footer_area {
	width: 95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_footer_area{
            width: 89.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;
	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;
	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 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;
}

.business_hours p:nth-of-type(2){
    font-size: 1.6rem;
    margin-top: 5px;
}
@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-top: 20px;
}
.business_hours p:nth-of-type(3) span{
    font-size: 1.6rem;
    display: inline-block;
    margin-left: 15px;
}
@media screen and (max-width: 768px) {
    .business_hours p:nth-of-type(3) span{
        display: block;
        font-size: 3.125vw;
        margin: 1.302vw 0 0;
    }
}
.business_hours p .br1000{
    display: none;
}
@media screen and (max-width: 1000px) {
    .business_hours p .br1000{
        display: block;
    }
}
.f_tel {
    color:#4D99BB;
    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;
			border:solid 0.521vw #4D99BB;
			border-radius: 10px;
            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;
}
    @media screen and (max-width: 768px) {
        .f_tel span.telinfo{
            position:sticky;
        }
    }

.f_tel_note{
    color: #333;
    font-size: 1.6rem;
    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_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_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;
        }
    }


footer .f_mail a{
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
    max-width:475px;
    padding:27px 99px;
    color:#4D99BB;
    font-size: 2rem;
    font-weight: 400;
    background-color:#FFFFFF;
    border:solid 4px #4D99BB;
    border-radius: 10px;
	margin: 40px auto 0;
}
    @media screen and (max-width: 768px) {
        footer .f_mail a{
            max-width: 100%;
            font-size:4.167vw;
            padding:3.9vw 0;
            border-radius:2.604vw;
            margin: 7.813vw auto 0;
            border:solid 0.521vw #4D99BB;
        }
    }

footer .f_mail a::before{
    display: block;
    content:"";
    width:35px;
    height:27px;
    background-image: url(../img/mail_icon_green.webp);
    background-size:35px 27px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right:10px;
}
    @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:396px;
    margin:70px auto 30px;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.6rem;
	color: #333;
}
    @media screen and (max-width: 768px) {
        footer .f_nav{
            width:81.5vw;
            max-width:636px;
            font-size:3.125vw;
            line-height:5.208vw;
            margin:10.417vw auto 7.813vw;
        }
    }

footer .f_nav li{
    text-decoration: underline;
}

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: 0;
    bottom:30px;
    width:100%;
    max-width: 257px;
    z-index: 9;
    opacity: 1;
    transition: all 0.5s 0s ease;
}
    @media screen and (max-width: 768px) {
        #fixed-nav{
            bottom:0;
            max-width: 100%;
            display: flex;
        }
        #fixed-nav > div{
            width: 50%;
        }
    }

#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;
}

/******************************
    campaign area
******************************/
.campaign_area{
    width:100%;
    padding:191px 0 212px;
    background-color: #FFEB00;
}
    @media screen and (max-width: 1400px) {
        .campaign_area{
            padding:13.714vw 0 13vw;
        }
    }
    @media screen and (max-width: 768px) {
        .campaign_area{
            padding:14.974vw 0 15.625vw;
        }
    }

.campaign_area_2404{
    width:100%;
    padding: 210px 0;
    background-image: url('../img/campaign_area_pc_bg2404.webp');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
    @media screen and (max-width: 1400px) {
        .campaign_area_2404{
            padding: 15vw 0;
        }
    }
    @media screen and (max-width: 768px) {
        .campaign_area_2404{
            padding: 19.531vw 0 20.573vw;
            background-image: url('../img/campaign_area_sp_bg2404.webp');
        }
    }

.campaign_area_2404 .campaign_innr_2404{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    .campaign_area_2404 .campaign_innr_2404{
        width: 89.58%;
        max-width: 688px;
    }  
}

.campaign_area_2404 .campaign_innr_2404 .campaign_box{
    background-color: #ffffff;
    border-radius: 16px;
    padding: 27px 37px 53px;
}
    @media screen and (max-width: 1400px) {
        .campaign_area_2404 .campaign_innr_2404 .campaign_box{
            padding: 1.929vw 2.643vw 3.786vw;
        }
    }
    @media screen and (max-width: 768px) {
        .campaign_area_2404 .campaign_innr_2404 .campaign_box{
            padding:4.557vw 3.906vw 5.208vw;
        }
    }

.campaign_area_2404 .campaign_innr_2404 .campaign_box .campaign_title{
    width: 86.31%;
    max-width: 782px;
    margin: 0 auto 32px;
}
    @media screen and (max-width: 1400px) {
        .campaign_area_2404 .campaign_innr_2404 .campaign_box .campaign_title{
            margin: 0 auto 2.286vw;
        }
    }
    @media screen and (max-width: 768px) {
        .campaign_area_2404 .campaign_innr_2404 .campaign_box .campaign_title{
            width: 92%;
            max-width: 578px;
            margin: 0 auto 5.599vw;
        }
    }

.campaign_area_2404 .campaign_innr_2404 .campaign_box .benefits-list{
    display: flex;
    justify-content: space-between;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2404 .campaign_innr_2404 .campaign_box .benefits-list{
            display: block;
        }
    }

.campaign_area_2404 .campaign_innr_2404 .campaign_box .benefits-list p{
    width: 48.45%;
    max-width: 439px;
}
@media screen and (max-width: 768px) {
    .campaign_area_2404 .campaign_innr_2404 .campaign_box .benefits-list p{
        width: 100%;
        max-width: 628px;
    }
    .campaign_area_2404 .campaign_innr_2404 .campaign_box .benefits-list p:nth-of-type(n+2){
        margin-top: 3.906vw;
    }
}


.in_campaign_area {
	width:95%;
	max-width: 980px;
	margin: 0 auto;
}
.in_campaign_area.in_campaign_area_202309 {
	width:95%;
	max-width: 980px;
    background: #EAF4F7;
    border-radius: 16px;
    padding-bottom: 34px;
    position: relative;
    z-index: 1;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area {
			width: 89.6%;
			max-width: 688px;
        }
        .in_campaign_area.in_campaign_area_202309 {
			width: 89.6%;
			max-width: 688px;
            padding-bottom: 3.906vw;
        }
    }

.in_campaign_area h2{
    width: 78.4%;
    max-width: 768px;
    animation-duration: 1s;
    padding-top: 29px;
    margin-top: 0;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area h2 {
            padding-top: 8.854vw;
            width: 84.375vw;
            max-width: 721px;
            margin-left: 3.906vw;
        }
    }

.in_campaign_area .c_info{
    width:100%;
    max-width:1050px;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info{
            width:100%;
            margin:0.781vw auto 0;
        }
    }

.in_campaign_area .campaign_text {
    width: 55.9%;
    max-width: 548px;
    margin: 0 auto;
}
.in_campaign_area .campaign_text_202307 {
    width: 27.857%;
    max-width: 273px;
    margin: 0 auto;
}
.in_campaign_area .campaign_text_202309 {
    width: 54.5%;
    max-width: 534px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .campaign_text {
            width: 73.7%;
            max-width: 507px;
            margin: 0 auto;
        }
        .in_campaign_area .campaign_text_202307 {
            width: 70%;
            max-width: 476px;
            margin: 0 auto;
        }
        .in_campaign_area .campaign_text_202309 {
            width: 73.7%;
            max-width: 507px;
            margin: 0 auto;
        }
    }
.in_campaign_area .c_info_benefits{
    width: 92.5%;
    max-width: 906px;
    margin: auto;
}
@media screen and (max-width: 768px) {
    .in_campaign_area .c_info_benefits{
        width: 81.771vw;
        max-width: 648px;
    }
}
.in_campaign_area .c_info_benefits_item_flexbox {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 40px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info_benefits_item_flexbox {
			display: block;
			margin-top: 6.25vw;
        }
    }

.in_campaign_area .c_info_benefits_item {
	width: 100%;
}
.in_campaign_area .c_info_benefits_item.c_info_benefits_item_202309 {
    width: 100%;
    /* max-width: 1015px; */
    /* margin-top:20px; */
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info_benefits_item {
			margin: 5.2vw auto 0;
        }
        .in_campaign_area .c_info_benefits_item.c_info_benefits_item_202309 {
            width: 98.692%;
            max-width: 679px;
            margin-top:3.906vw;
        }
    }

.in_campaign_area .c_info_benefits_item_flexbox .c_info_benefits_item {
	width: 48.46%;
    max-width: 439px;
    margin: 0;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info_benefits_item_flexbox .c_info_benefits_item {
			width: 100%;
            max-width: unset;
            margin-top: 3.906vw;
        }
    }

.c_info_benefits_item3 {
	margin-top: 30px;
}

.c_info_benefits_item4 {
	margin-top: 12px;
}

.in_campaign_area .plus_icon {
	width: 40px;
	margin: 20px auto 0;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .plus_icon {
            margin: 3.906vw auto 0;
			width: 7.81vw;
        }
    }
.catch_benefits4{
    width: 261px;
    margin: 13px auto 6px;
}
@media screen and (max-width: 768px) {
    .catch_benefits4{
        width: 42.839vw;
        margin: 2.604vw auto 2.344vw;
    }
 }
.in_campaign_area .c_present img {
    text-align: center;
}
	 @media screen and (max-width: 768px) {
        .in_campaign_area .c_present img{
            max-width:100%;
        }
     }


.in_campaign_area .c_present_benefits{
	text-align: center;
	margin:0 auto;
	width: 100%;
	max-width: 504px;
}
	 @media screen and (max-width: 768px) {
        .in_campaign_area .c_present_benefits {
            max-width:100%;
        }
     }


.in_campaign_area .c_present p:nth-of-type(2) img{
    width:100%;
}

.in_campaign_area .c_btn{
    display: flex;
    justify-content: space-around;
    margin-top:90px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_btn{
            display: block;
            margin-top:11.719vw;
        }
    }

.in_campaign_area .c_btn p{
    width: 100%;
    max-width: 518px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_btn p{
            max-width: 100%;
        }
    }

.in_campaign_area .c_btn p img{
    width: 100%;
}


.mtadd01{
    margin-top: 40px;
}
    @media screen and (max-width: 768px) {
        .mtadd01{
            margin-top: 5.208vw;
        }
    }

.mtadd02{
    margin-top: 30px;
}
    @media screen and (max-width: 768px) {
        .mtadd02{
            margin-top:3.906vw;
        }
    }

/* 20230915 addcss */
.campaign_area{
    padding: 0;
    background-color: unset;
    background-size: 100%;
    background-repeat: no-repeat;
    position: relative;
}

    @media screen and (max-width: 768px) {
        .campaign_area{
            margin-top: 20.026vw;
        }
    }


.campaign_innr{
    background-color: #4D99BB;
    padding-top: 102px;
}
@media screen and (max-width: 768px) {
    .campaign_innr{
        padding-top: 38.281vw;
    }
}
.campaign_bg_top{
    position: absolute;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 90%, #12A29C 90%, #12A29C 100%);
}
.campaign_bg_bottom{
    background: linear-gradient(180deg, #12A29C 0%, #12A29C 50%, #ffffff 50%, #ffffff 100%);
}

.campaign_period{
    width: 17.9%;
    max-width: 175px;
    position: absolute;
    top: -40px;
    left: -40px;
    margin-top: -80px;
    padding-top: 80px;
}
@media screen and (max-width: 1100px) {
    .campaign_period{
        top: -3%;
        left: -2%;
    }
}
@media screen and (max-width: 768px) {
    .campaign_period{
        width:81.771vw;
        max-width: 628px;
        top: -4.948vw;
        left: 0;
        right: 0;
        margin: -14vw auto 0;
        padding-top: 14vw;
    }
}

/* 2024年10月追加 */

.campaign_area_2410{
    background-image: url('../img/campaign_area_pc_bg2410.webp');
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410{
            background-image: url('../img/campaign_area_sp_bg2410.webp');
        }
    }

.campaign_area_2410 .campaign_innr_2406{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    .campaign_area_2410 .campaign_innr_2406{
        width: 89.58%;
        max-width: 688px;
    }  
}

.campaign_area_2410 .campaign_innr_2406 .campaign_box{
    background-color: #ffffff;
    border-radius: 16px;
    padding: 38px 30px 31px 30px;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box{
            padding: 4.557vw 5.208vw 3.906vw;
        }
    }


.campaign_area_2410 .campaign_innr_2406 .campaign_box .campaign_title{
    width: 82.7%;
    max-width: 810px;
    margin: 0 auto 7px;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box .campaign_title{
            width: 69.271vw;
            margin: 0 auto;
        }
    }
.campaign_area_2410 .campaign_innr_2406 .campaign_box .campaign_title img{
    image-rendering: auto;
}

.campaign_area_2410 .campaign_innr_2406 .campaign_box2503{    
    padding: 40px 0;
}
@media screen and (max-width: 768px) {
    .campaign_area_2410 .campaign_innr_2406 .campaign_box2503{    
        padding: 3.906vw 0;
    }
}
.campaign_area_2410 .campaign_innr_2406 .campaign_box2503 .campaign_title{
    width: 96.2%;
    max-width: 942px;
    margin: 0 14px 10px 24px;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box2503 .campaign_title{
            width: 78.125vw;
            margin: 0 auto;
        }
    }
.campaign_area_2410 .campaign_innr_2406 .campaign_box2503 .benefits-list_flexwrap{
    width: 93.87%;
    margin: auto;
}
@media screen and (max-width: 768px) {
    .campaign_area_2410 .campaign_innr_2406 .campaign_box2503 .benefits-list_flexwrap{
        width: 79.427vw;
    }
}



.campaign_area_2410 .campaign_innr_2406 .campaign_box .cp_title_balloon{
    display: block;
    position: absolute;
    width: 257px;
    top: -31px;
    left: 0;
    right: 0;
    margin: auto;
}
    
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box .cp_title_balloon{
            width:39.063vw;
            top: -5.3vw;
        }
    }
.campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap{
            display: block;
        }
    }

.campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap p{
    width: 48.92%;
    max-width: 450px;
}
    @media screen and (max-width: 768px) {
        .campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap p{
            width: 100%;
            max-width: unset;
        }
        .campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap p:nth-of-type(n+2){
            margin-top: 3.906vw;
        }
    }

.campaign_area_2410 .campaign_innr_2406 .campaign_box .benefits-list_flexwrap p:nth-of-type(3){
    width: 100%;
    max-width: unset;
    margin-top: 20px;
}

/******************************
    campaign area senior
******************************/
.campaign_area_senior{
    padding-top: 120px;
}
@media screen and (max-width: 768px) {
    .campaign_area_senior{
        padding-top: 15.625vw;
    }
}

.in_campaign_area_senior .campaign_ttl_date_2401::before,.in_campaign_area_senior .campaign_ttl_date_2401::after{
    content: "";
    display: block;
    position: absolute;
    width: 43px;
    height: 3px;
    top: 50%;
    background-repeat: no-repeat;
    background-image: url(../img/campaign_ttl_line_pc.webp);
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .campaign_ttl_date_2401::before,.in_campaign_area_senior .campaign_ttl_date_2401::after{
            width: 13.021vw;
            height: 0.521vw;
            background-image: url(../img/campaign_ttl_line_sp.webp);
        }
    }

.in_campaign_area_senior .campaign_ttl_date_2401::before{
    left: -60px;
}
@media screen and (max-width: 768px) {
    .in_campaign_area_senior .campaign_ttl_date_2401::before{
        left: -15.625vw;
    }
}
    
.in_campaign_area_senior .campaign_ttl_date_2401::after{
    right: -60px;
}
@media screen and (max-width: 768px) {
    .in_campaign_area_senior .campaign_ttl_date_2401:after{
        right: -15.625vw;
    }
}
    
.in_campaign_area_senior h2{
    width: 86.7%;
    max-width: 850px;
    text-align: center;
    image-rendering: -webkit-optimize-contrast;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior h2{
            width:69.922vw;
            max-width: 537px;
            margin-bottom: 5.208vw;
            margin: -14.323vw auto 0;
            padding-top: 14.323vw;
        }
    }
.in_campaign_area_senior .c_info_senior{
    background: #E5D8C7;
    border-radius: 16px;
    padding: 0 0 35px;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_senior{
            border-radius: 2.083vw;
            margin-top: 0;
            padding: 5.208vw 0;
        }
    }
.in_campaign_area_senior .c_info_senior .cp_title_balloon{
    display: block;
    position: absolute;
    width: 257px;
    top: -31px;
    left: 0;
    right: 0;
    margin: auto;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_senior .cp_title_balloon{
            width:39.063vw;
            top: -5.3vw;
        }
    }
.in_campaign_area_senior .c_info_benefits_senior{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 93.9%;
    max-width: 920px;
    margin: auto;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_benefits_senior{
            display: block;
            width: 79.427vw;
        }
    }
.in_campaign_area_senior .c_info_benefits_senior .c_info_benefits_senior_img_notes{
    font-size: 1.4rem;
    margin-top: 7px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_benefits_senior .c_info_benefits_senior_img_notes{
            font-size: 3.125vw;
            margin-top: 1.302vw;
        }
    }
.in_campaign_area_senior .c_info_benefits_senior .c_info_benefits_senior_img_notes .only--tb{
    display: none;
}
    @media screen and (max-width: 1024px) {
        .in_campaign_area_senior .c_info_benefits_senior .c_info_benefits_senior_img_notes .only--tb{
            display: block;
        }
    }
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_benefits_senior .c_info_benefits_senior_img_notes .only--tb{
            display: none;
        }
    }

.in_campaign_area_senior .c_info_benefits_senior img{
    width: 100%;
}
    
.in_campaign_area_senior .c_info_benefits_item_senior{
    width: 48.92%;
    max-width: 450px;
    margin-bottom: 21px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_benefits_item_senior{
            width: 100%;
            max-width: 610px;
            margin: 5.208vw auto;
        }
    }
.in_campaign_area_senior .c_info_senior .c_info_benefits_senior_bottom{
    padding: 10px 12px 11px;
    background: #fff;
    width: 93.4%;
    max-width: 980px;
    border-radius: 12px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_senior .c_info_benefits_senior_bottom{
            padding:2.604vw 2.344vw 2.995vw 3.776vw;
            width: 79.427vw;
            border-radius: 1.563vw;
            margin-top: 2.865vw;
        }
    }

.in_campaign_area_senior .c_info_senior .c_info_benefits_senior_bottom p{
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.6;
    display: flex;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .c_info_senior .c_info_benefits_senior_bottom p{
            font-size: 3.125vw;
            border-radius: 2.604vw;
        }
    }

.in_campaign_area_senior .c_info_senior .c_info_benefits_senior_bottom p::before{
    content: '※';
    display: inline-block;
}
/******************************
    campaign_area 2025年7月更新
******************************/
.campaign_term{
    text-align: center;
    margin-bottom: 14px;
}
@media screen and (max-width: 640px) {
    .campaign_term{
        margin-bottom: 2.604vw;
    }
}
.campaign_term span{
    display: inline-block;
    color: #472619;
    font-size: 27px;
    font-weight: 900;
    font-family: "Noto Sans JP";
    position: relative;
    padding: 0 55px;
    line-height: 1.5;
}
@media screen and (max-width: 640px) {
    .campaign_term span{
        font-size:4.688vw;
        padding: 0 7.161vw;
    }
}
.campaign_term span:before,.campaign_term span:after{
    display: block;
    content: "";
    width: 40px;
    height: 3px;
    background: #472619;
    position: absolute;
    top: 50%;
    border-radius: 3px;
    transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
    .campaign_term span:before,.campaign_term span:after{
        width: 5.208vw;
        height: 0.391vw;
        border-radius: 0.391vw;
    }
}
.campaign_term span:before{
    right: 0;
}
.campaign_term span:after{
    left: 0;
}

.c_info_senior .campaign_term{
    margin-bottom: 0;
}
@media screen and (max-width: 640px) {
    .c_info_senior .campaign_term{
        margin-bottom: 2.604vw;
    }
}

/* 無料体験レッスンエリア */

.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 .modal-content{
    position: relative;
    width:92.4%;
    max-width:980px;
    background-color:#ffffff;
	margin: 60px auto 0;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .modal-content{
            width: 88%;
            max-width: 608px;
        }
    }

.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:150px 0 0;
    background-color:#ffffff;
}
    @media screen and (max-width: 1400px) {
        .qa_area{
            padding:10.714vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .qa_area{
            padding:15.625vw 0 0;
        }
    }

.in_qa_area{
    width:95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_qa_area{
			width: 89.6%;
    		max-width: 688px;
        }
    }

.in_qa_area h2{
    width:37%;
    max-width: 358px;
}
    @media screen and (max-width: 768px) {
        .in_qa_area h2 {
			width:51%;
        }
    }

.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 div{
    /* padding:33px 75px 22px 60px; */
    padding:28px 0px 22px 60px;
    border:solid 1px #707070;
    background-color: #FAFAFA;
}
    @media screen and (max-width: 768px) {
        .qa_area dl div{
            padding: 3.906vw 0 3.776vw 3.906vw;
        }
    }

.qa_area dl dt,
.qa_area dl dd{
    font-size:1.8rem;
    font-weight: 400;
    line-height: 1.777;
    padding-left: 4rem;
    text-indent: -2rem;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt,
        .qa_area dl dd{
            font-size:3.906vw;
            line-height:1.6;
            padding-left: 6.5vw;
            text-indent: -3vw;
        }
    }

.qa_area dl dt{
    position: relative;
    cursor:pointer ;
}
.qa_area dl dd{
    margin-top:31px;
	width: 90%;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dd{
            width: 84%;
        }
    }
.qa_area dl dt::before,
.qa_area dl dt::after{
  content: '';
  display: block;
  width: 16px;
  height: 1px;
  background: #707070;
  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: #707070;
  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:2rem;
    font-size: 2rem;
    font-weight: 600;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt span,
        .qa_area dl dd span{
            font-size:4.167vw;
            line-height:6.641vw;
            margin-right:2.604vw;
        }
    }

.qa_area dl dd span {
	color: #4D99BB;
}

.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%;
    padding:140px 0 0;
}
    @media screen and (max-width: 1400px) {
        .blog_area{
            padding:10vw 0 0;
        }
    }
    @media screen and (max-width: 768px) {
        .blog_area{
            padding:15.625vw 0 0;
        }
    }

.in_blog_area{
    width: 95%;
    max-width: 980px;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_blog_area{
            width: 89.6%;
            max-width: 688px;
        }
    }

.blog_area .in_title{
    /* width: 95%; */
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}
    @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: 21.51%;
        }
    }

.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;
    background-color: #F0F0F0;
    border-radius: 16px;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box > div{
            width: 100%;
            max-width: 688px;
            min-height: auto;
            border-radius: 20px;
        }
    }

.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;
        }
    }

.blog_area .blog_box > div .blog_item .b_date{
   font-size: 14px;
   font-weight: 400;
   color:#4D99BB;
   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;
        }
    }


/******************************
    access area
******************************/
.access_area{
    width:100%;
    padding:150px 0 145px;
}
    @media screen and (max-width: 1400px) {
        .access_area{
            padding:10.714vw 0 10.357vw;
        }
    }
    @media screen and (max-width: 768px) {
        .access_area{
            padding:15.625vw 0 15.625vw;
        }
    }

.in_access_area {
	width: 95%;
	max-width: 980px;
	margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .in_access_area{
            width: 89.6%;
			max-width: 688px;
        }
    }

.in_access_area h2 {
	width: 22%;
    max-width: 206px;
}
    @media screen and (max-width: 768px) {
        .access_area h2{
            width: 26.01%;
        }
    }

.access_area .gmap{
    width:100%;
    height:500px;
    margin:40px auto 0;
}
    @media screen and (max-width: 768px) {
        .access_area .gmap{
            margin:6.12vw auto 0;
            height: 58.203vw;
        }
    }

.access_area .gmap iframe{
    width:100%;
    height:100%;
}
    @media screen and (max-width: 768px) {
        .access_area .gmap iframe{
            height:58.203vw;
        }
    }

.access_area .access_info{
    width:100%;
    margin:30px auto 40px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_info{
            margin:3.906vw 0 5.208vw;
        }
    }

.access_area .access_info p{
    font-size: 2rem;
    font-weight: 400;
    line-height: 3.2rem;
	text-align: center;
}
    @media screen and (max-width: 768px) {
        .access_area .access_info p{
            font-size:3.906vw;
            line-height:1.6;
			text-align: left;
        }
    }

.access_area .access_route{
    width:100%;
    max-width:768px;
    margin: 0 auto;
}
.access_area .access_route_list{
    width:100%;
    max-width:768px;
    background-color:#fff ;
    border:solid 4px #4D99BB;
    padding:0 40px;
	border-radius: 16px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list{
            padding:0 3.906vw;
            border:solid 0.521vw #4D99BB;
            border-radius: 2.604vw;
        }
    }

.access_area .access_route_list:first-of-type{
    margin-bottom:30px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list:first-of-type{
            margin-bottom: 3.906vw;
        }
    }

.access_area .access_route_list .route_title1,
.access_area .access_route_list .route_title2{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size:3rem;
    font-weight: 400;
    line-height: 4.8rem;
    color:#4D99BB;
    padding: 22px 0;
    cursor: pointer;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_title1,
        .access_area .access_route_list .route_title2{
            font-size:5.208vw;
            line-height:1.6;
            padding:4.818vw 0;
        }
    }

.access_area .access_route_list .route_title1::before{
    display:block;
    content: "";
    width:33px;
    height:47px;
    margin-right:20px;
    background-image: url(../img/train_icon.webp);
    background-size: 33px 47px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_title1::before{
            width:5.859vw;
            height:8.594vw;
            background-size:5.859vw 8.594vw;
            margin-right:2.604vw;
        }
    }

.access_area .access_route_list .route_title2::before{
    display:block;
    content: "";
    width:59px;
    height:29px;
    margin-right:20px;
    background-image: url(../img/car_icon.webp);
    background-size:59px 29px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_title2::before{
            width:9.375vw;
            height:4.557vw;
            background-size:9.375vw 4.557vw;
            margin-right:2.604vw;
        }
    }

.access_area .access_route_list .route_title1::after,
.access_area .access_route_list .route_title2::after{
    display:block;
    content: "";
    width:22px;
    height:12px;
    background-image: url(../img/route_arrow.webp);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top:44%;
    right: 0;
    transform: rotate(0deg);
    transition: 0.5s;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_title1::after,
        .access_area .access_route_list .route_title2::after{
                width: 4.296vw;
				height: 2.473vw;
				background-image: url(../img/route_arrow.webp);
				background-size: 4.296vw 2.473vw;
                top: 8vw;
        }
    }

.access_area .access_route_list .route_title1.active::after,
.access_area .access_route_list .route_title2.active::after{
    transform: rotate(-180deg);
    transition: 0.5s;
}

.access_area .access_route_list .route_info1,
.access_area .access_route_list .route_info2{
    font-size:1.6rem;
    font-weight: 400;
    line-height: 1.5;
    padding-bottom:28px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info1,
        .access_area .access_route_list .route_info2{
            font-size:3.906vw;
            line-height:6.641vw;
            padding-bottom:6.38vw;
        }
    }

.access_area .access_route_list .route_info1 span,
.access_area .access_route_list .route_info2 span{
    color:#4D99BB;
}
.access_area .access_route_list .route_info2 .route_info2_box{
    margin-top:30px;
    padding:30px 20px;
    text-align: center;
    background-color:#F8E3C9;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info2 .route_info2_box{
            margin-top:4.688vw;
            padding:3.906vw 2.604vw;
        }
    }

.access_area .access_route_list .route_info2 .route_info2_box p{
    font-size:1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info2 .route_info2_box p{
            font-size:3.125vw;
            line-height:4.688vw;
        }
        .access_area .access_route_list .route_info2 .route_info2_box p:not(:first-of-type){
            text-align: left;
        }
    }

.access_area .access_route_list .route_info2 .route_info2_box p:first-of-type{
    margin-bottom: 10px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info2 .route_info2_box p:first-of-type{
            margin-bottom: 1.823vw;
        }
    }
.access_area .access_route_list .route_info2 p:first-of-type{
    margin-bottom: 10px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info2 p:first-of-type{
            margin-bottom: 1.823vw;
        }
    }

/******************************
    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);
}

/******************************
    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{
    background: #EFEFEF;
    padding: 120px 0;
    margin: 120px 0;
}
@media screen and (max-width: 768px) {
    .youtube_area{
        padding: 15.625vw 0;
        margin: 15.625vw 0 0;
    }
}

@media screen and (max-width: 768px) {
    .youtube_area .in_area{
        width: 89.6%;
        max-width: 688px;
        margin: auto;
    }
}
.youtube_area h2{
    width: 100%;
    max-width: 456px;
}
@media screen and (max-width: 768px) {
    .youtube_area h2{
        width: 59.375vw;
    }
}
.youtube_area .youtube_ttl_desc{
    font-size: 24px;
    line-height: 1.66;
    font-weight: bold;
    margin: 50px auto;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .youtube_area .youtube_ttl_desc{
        font-size: 4.948vw;
        margin:5.469vw auto 8.333vw;
    }
}
.youtube{
    width: 564px;
    aspect-ratio: 16 / 9;
}
@media screen and (max-width: 768px) {
    .youtube{
        width: 100%;
        margin-bottom: 8.333vw;
    }
}
.youtube iframe {
    width: 100%;
    height: 100%;
}
.youtube_flex{
    display: flex;
    max-width: 980px;
    margin: auto;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .youtube_flex{
        display: block;
        width: 100%;
        max-width: 688px;
    }
}
.youtube_flex p{
    font-size: 16px;
    line-height: 1.75;
    max-width: 376px;
    text-align: left;
    font-weight: normal;
    margin-left: 40px;
}
.youtube_flex p span{
    text-decoration: underline;
}
@media screen and (max-width: 768px) {
    .youtube_flex p{
        font-size: 3.906vw;
        max-width: unset;
        margin-left: 0;
    }
}