@charset "utf-8";

/******************************
    common
******************************/

* {
  margin: 0;
}

.view--pc { display: block; }
.view--sp { display: none; }
    @media screen and (max-width: 768px) {
        .view--pc { display: none; }
        .view--sp { display: block; }
    }
.view--tb { display: none; }
@media screen and (max-width: 1024px) {
    .view--tb { display: block; }
}

    .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;
    font-family:"Hiragino Sans","ヒラギノ角ゴシック Std","Hiragino Kaku Gothic Std","Helvetica Neue", Arial, Meiryo, sans-serif;
    position: relative;
}

img {
    -webkit-backface-visibility: hidden;
}

/* imgとして対応
h2{
    width:100%;
    max-width: 820px;
    height: auto;
    margin:0 auto;
    color:#F18705;
    font-size:5rem;
    text-align: center;
    line-height: 7.4rem;
    font-weight: bold;
}
h2::after{
    content:"";
    display: block;
    width:100%;
    height:5px;
    background-color:#F18705;
    margin-top:7px;
}
    @media screen and (min-width:769px) and ( max-width:1024px){
        h2{
            margin:-98px auto 0;
            padding-top:98px;
        }
    }
    @media screen and (max-width: 768px) {
        h2{
            font-size: 7.292vw;
            line-height: 9.635vw;
            margin:-12.76vw auto 0;
            padding-top:12.76vw;
        }
        h2::after{
            height:0.651vw;
            margin-top:0.911vw;
        }
    }
*/
h2{
    width:100%;
    max-width:820px;
    margin:-4.688vw auto 0;
    padding-top:4.688vw;
}
h2 img{
    width: 100%;
    height: auto;
}
    @media screen and (min-width:769px) and ( max-width:1024px){
        h2{
            margin:-98px auto 0;
            padding-top:98px;
        }
    }
    @media screen and (max-width: 768px) {
        h2{
            margin:-12.76vw auto 0;
            padding-top:12.76vw;
        }
    }



.in_area{
    width:95%;
    max-width:1050px;
    margin:0 auto;
}
    @media screen and (max-width: 768px) {
        .in_area{
            width: 89.5833%;
            max-width: 688px;
        }
    }

    @media(min-width: 768px){
        a[href^="tel:"]{
            pointer-events: none;
        }
    }


/******************************
    header
******************************/
header{
    width:100%;
    /* height:90px; */
    height:4.688vw;
    /* position: relative; */
    position: fixed;
    background-color: #ffffff;
    z-index: 10;
}
    @media screen and (min-width:769px) and ( max-width:1024px){
        header{
            height:98px;
            border-bottom:1px solid #898989;
            position: fixed;
            background-color:#FFFFFF;
        }
    }
    @media screen and (max-width: 768px) {
        header{
            position: fixed;
            border-bottom:1px solid #898989;
            background-color:#FFFFFF;
            height:12.76vw;
        }
    }

header .logo{
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 10.625vw;
    height: 2.708vw;
}

header .logo img{
    width: 100%;
}

    @media screen and (min-width:769px) and ( max-width:1024px){
        header .logo{
		width: 19.92vw;
		height: 5.07vw;
        }
    }
    @media screen and (max-width: 768px) {
        header .logo{
			left: 2.6vw;
			width: 34.2vw;
    		height: 8.723vw;
        }
    }



header nav.pc-nav ul{
    display:flex;
    position: absolute;
    /* top:32px;
    right:280px; */
    top: 50%;
    right:14.583vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-size:1.042vw;
    font-weight: 600;
    line-height: 3.5rem;
}

/******************** nav rayout 210420～ START ********************/

header nav.pc-nav_210420 ul{
    /* right:7.292vw; */
    right: 0;
}

/******************** nav rayout icon 210420～ END ********************/

header nav.pc-nav ul li:not(:last-of-type){
    margin-right:1.563vw;
}
header nav.pc-nav ul li:last-of-type{
    margin-right:2.083vw;
}
header nav.pc-nav ul li a:hover{
    color:#F18705;
    position: relative;
}
header nav.pc-nav ul li a:hover::after{
    content: "";
    display:inline-block;
    width:100%;
    height:2px;
    background-color:#F18705;
    position: absolute;
    left:0;
    bottom:0;
}

header .h_join,
header .h_free-trial{
    position: absolute;
    top:0;
    /* max-width:140px; */
    max-width:7.292vw;
    width: 100%;
    height:100%;
}

header .h_join{
    right:7.292vw;
}
header .h_free-trial{
    right:0;
}

header .h_join a,
header .h_free-trial a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
}
header .h_join a{
    background-color:#DC0000;
}
header .h_join a:hover{
    background-color:#B20101;
}
header .h_free-trial a{
    background-color:#F18705;
}
header .h_join a img{
    width:2.24vw;
    max-width:43px;
    height: auto;
}
header .h_free-trial a img{
    width:5.208vw;
    max-width:100px;
    height:auto;
}

/******************** header lesson icon 210420～ START ********************/
header .h_join,
header .h_free-trial_210420{
    position: absolute;
    top:0;
    /* max-width:140px; */
    max-width:7.292vw;
    width: 100%;
    height:100%;
}

header .h_free-trial_210420{
    right:0;
    overflow: hidden;
}

header .h_free-trial_210420 a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
}

header .h_free-trial_210420 a img{
    width:100%;
    height:auto;
}
/******************** header lesson icon 210420～ END *****************/

/******************** sp menu ********************/
header #js-sp_menu_sec{
    display:none;
}
header .js-sp_menu_btn{
    display: flex;
    position: absolute;
    top:14px;
    right:16px;
    z-index: 5;
    width:100%;
    max-width:230px;
    padding:17px 37px;
    font-size:2.6rem;
    background-color: #ffffff;
    border-radius: 35px;
    border:3px solid #462619;
    box-shadow: 4px 4px 4px rgba(0,0,0,0.16);
    cursor: pointer;
}
    @media screen and (max-width: 768px) {
        header .js-sp_menu_btn{
            top:1.4vw;
            right:2.083vw;
            max-width: 29.948vw;
            font-size: 3.385vw;
            padding:2.214vw 4vw 2.214vw 4.818vw;
            border:0.391vw solid #462619;
            box-shadow: 0.521vw 0.521vw 0.521vw rgba(0,0,0,0.16);
        }
    }

/******************** sp menu btn ********************/
.menu__button{
    position: relative;
    width:100%;
    max-width:34px;
    margin-right:12px;
}
    @media screen and (max-width: 768px) {
        .menu__button{
            max-width: 4.427vw;
            margin-right: 1.563vw;
        }
    }

header .js-sp_menu_btn .menu__button span {
    display: block;
    width: 34px;
    height: 3px;
    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.427vw;
            height: 0.391vw;
        }
    }
/* .menu__lineMiddle {} */
.menu__lineTop { transform: translateY(-1.302vw); }
.menu__lineBottom { transform: translateY(1.302vw); }
.menu--isOpen .menu__lineTop { transform: rotate(45deg); }
.menu--isOpen .menu__lineMiddle { opacity: 0; }
.menu--isOpen .menu__lineBottom { transform: rotate(-45deg); }



/******************** sp menu contents ********************/
.sp-nav_sec {
    position: fixed;
    top:0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color:#462619;
    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;
    justify-content: 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);
}
.open .sp-nav_sec {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

header .sp-nav_sec .sp-nav{
    width:100%;
    max-width:518px;
    margin:60px auto 0;
    color:#FAFAFA;
    font-size:2.8rem;
}
    @media screen and (-ms-high-contrast: none) { /* ie only */
        header .sp-nav_sec .sp-nav{
            margin:110px auto 0;
        }
    }
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav{
            /* width:61.198vw; */
            width:90%;
            /* max-width:470px; */
            max-width:688px;
            font-size: 4.167vw;
            /* margin:11vmin auto 0; */
            margin:0 auto 0;
        }
    }
    @media screen and (max-width: 768px) and (-ms-high-contrast: none) { /* ie only */
        header .sp-nav_sec .sp-nav{
            margin:110px auto 0;
        }
    }


header .sp-nav_sec .sp-nav ul{
    margin-bottom:60px;
}
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav ul{
            /* margin-bottom:5.813vmax; */
            margin-bottom: 0;
        } 
    }

header .sp-nav_sec .sp-nav ul li{
    position: relative;
}
header .sp-nav_sec .sp-nav ul li:not(:last-of-type){
    margin-bottom:20px;
}
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav ul li:not(:last-of-type){
            /* margin-bottom:2.604vmax; */
            margin-bottom:5.729vw;
        }
    }

header .sp-nav_sec .sp-nav ul li::after{
    content:"";
    display: inline-block;
    position: absolute;
    top:0;
    right: 0;
    width:20px;
    height:35px;
    background-image: url(../img/sp-menu-arrow@2x.png);
    background-size:20px 35px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        header .sp-nav_sec .sp-nav ul li::after{
            width:2.604vw;
            height:4.557vw;
            background-size:2.604vw 4.557vw;
        } 
    }

header .sp-nav_sec .sp-nab-img{
    width:78.125%;
    max-width: 600px;
    margin: 0 auto;
}
header .sp-nav_sec .sp-nab-img p img{
    width: 100%;
}





/******************************
    footer area
******************************/
footer{
    width:100%;
    background-color: #462619;
    padding:120px 0 60px;
    color:#ffffff;
}
    @media screen and (max-width: 768px) {
        footer{
            padding:7.813vw 0;
            margin-bottom: 15.927vw;
        }
    }

footer .f_logo{
    width:100%;
    max-width:253px;
}
footer .f_logo img{
    width: 100%;
}

footer .in_f_area{
    display: flex;
    justify-content: space-between;
    width:95%;
    max-width:924px;
    margin:0 auto;
    font-size:1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area{
            display:block;
            width:100%;
            font-size:4.167vw;
            line-height:6.641vw;
            margin-top:-14vw;
            padding-top:14vw;
        }
    }

footer .in_f_area div:first-of-type{
    width:40.584%;
    max-width:375px;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area div:first-of-type{
            width:100%;
            max-width: 100%;
            text-align: center;
        }
    }

footer .in_f_area div:nth-of-type(2){
    width:49.025%;
    max-width:453px;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area div:nth-of-type(2){
            width:100%;
            max-width: 100%;
            text-align: center;
            margin-top: 7.813vw;
        }
    }

footer .in_f_area p:not(:first-of-type){
    margin-top:20px;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area .sp-in_f_area_l p:first-of-type{
            width:63.151vw;
            max-width:485px;
            margin: 0 auto;
        }
        footer .in_f_area .sp-in_f_area_l p:first-of-type img{
            width: 100%;
        }
        footer .in_f_area .sp-in_f_area_l p:nth-of-type(2){
            margin-top:3.906vw;
        }
        footer .in_f_area .sp-in_f_area_l p:nth-of-type(3){
            margin-top:5.208vw;
        }
        footer .in_f_area .sp-in_f_area_l p:nth-of-type(4){
            margin-top:2.604vw;
            line-height: normal;
        }

        footer .in_f_area .sp-in_f_area_r p:first-of-type{
            width:100%;
            max-width: 100%;
        }
        footer .in_f_area .sp-in_f_area_r p:nth-of-type(2){
            width:83vw;
            max-width: 632px;
            text-align: left;
            margin-top:2.995vw;
            margin-left:auto;
            margin-right:auto;
            font-size:4.1vw;
            line-height:6.641vw;
        }
        footer .in_f_area .sp-in_f_area_r p:nth-of-type(3){
            margin-top:6.901vw;
        }
    }

/******************** footer 210420～ ********************/
    @media screen and (max-width: 768px) {
        footer .in_f_area .sp-in_f_area_r p:nth-of-type(2){
            width:100%;
            max-width: 100%;
            text-align: center;
        }
    }

/******************** footer 210420～ END *****************/


footer .in_f_area span{
    font-size:1.4rem;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area span{
            font-size:3.125vw;
            line-height:4.688vw;
        }
        footer .in_f_area span.sp-f_time{
            display: inline-block;
            width:100%;
            text-align: center;
            font-size:4.167vw;
            line-height:6.641vw;
        }
    }

.f_slash{
    display: inline;
}
    @media screen and (max-width: 768px) {
        .f_slash{
            display: none;
        }
    }



footer .in_f_area .f_tel a{
    display: block;
    width:100%;
    max-width:453px;
    padding:7px 0 4px;
    color:#333333;
    font-size: 2rem;
    font-weight: 400;
    line-height: 3.2rem;
    text-align: center;
    background-color:#FFFFFF;
    border:solid 2px #707070;
    border-radius: 10px;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.3)
}
    @media screen and (max-width: 768px) {
        footer .in_f_area .f_tel a{
            max-width: 100%;
            padding:3.35vw 0 3.4vw;
            font-size:4.167vw;
            line-height:6.641vw;
            border-radius:2.604vw;
        }
    }

footer .in_f_area .f_tel a span{
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 4.6rem;
}
    @media screen and (max-width: 768px) {
        footer .in_f_area .f_tel a span{
            font-size:9.375vw;
            line-height:10.938vw;
        }
    }

footer .in_f_area .f_mail a{
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
    max-width:453px;
    padding:12px 0 13px;
    color:#333333;
    font-size: 2rem;
    font-weight: 400;
    line-height: 3.2rem;
    background-color:#FFFFFF;
    border:solid 2px #462619;
    border-radius: 10px;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5)
}
    @media screen and (max-width: 768px) {
        footer .in_f_area .f_mail a{
            max-width: 100%;
            font-size:4.167vw;
            line-height:6.641vw;
            padding:2.604vw 0;
            border-radius:2.604vw;
        }
    }

footer .in_f_area .f_mail a::before{
    display: block;
    content:"";
    width:44px;
    height:34px;
    background-image: url(../img/mail_icon@2x.png);
    background-size:44px 34px;
    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:2.604vw;
        }
    }

footer .in_f_area .f_mail a:hover{
    background-color: #E6E6E6;
}
footer .f_nav{
    display:flex;
    justify-content: space-between;
    width:100%;
    max-width:396px;
    margin:90px auto 30px;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        footer .f_nav{
            width:81.5vw;
            max-width:636px;
            font-size:3.125vw;
            line-height:5.208vw;
            margin:14.974vw auto 10.417vw;
        }
    }

footer .f_nav li{
    text-decoration: underline;
}

footer .copyright{
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2.6rem;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        footer .copyright{
            font-size:2.865vw;
            line-height:4.557vw;
        }
    }

#pageTop {
    /* position: fixed; */
    max-width: 90px;
    width:100%;
    max-height: 90px;
    height: 100%;
    right:20px !important;
	z-index: 9;
}
#pageTop img{
    width:100%;
}
    @media screen and (max-width: 768px) {
        #pageTop{
            width:12.5vw;
            height:12.5vw;
        }
    }

#fixed-nav{
    position: fixed;
    right: 0;
    bottom:30px;
    width:100%;
    max-width: 257px;
    z-index: 9;
}
    @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%;
}


/******************************
    kv
******************************/
.kv{
    padding-top:4.688vw;
}
    @media screen and (max-width: 1024px) {
        .kv{
            padding-top:98px;
        }
    }
    @media screen and (max-width: 768px) {
        .kv{
            padding-top:12.76vw;
        }
    }

.kv img{
    width:100%;
}

/* 202304 addcss */
.kv_202304{
    position: relative;
}
.kv_202304 .inbtn_202304{
    position: absolute;
    top:27.214vw;
    left:15vw;
    width: 28%;
    max-width: 388px;
    background-color: #E3C649;
    border-radius: 10px;
    box-shadow: 0 4px 0 0 rgba(98,85,28,1);
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}
.kv_202304 .inbtn_202304.inbtn_add202307{
    top:29.929vw;
}
.kv_202304 .inbtn_202304.inbtn_add202309{
    top:27.929vw;
}
.kv_202304 .inbtn_202304.inbtn_add202401{
    width: 41.21%;
    max-width: 577px;
    top: 24vw;
}
.kv_202304 .inbtn_202304.inbtn_add202403{
    width: 41.21%;
    max-width: 577px;
    top: 25.5vw;
    box-shadow: 0 5px 0 0 rgba(98,85,28,1);
}

    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304{
            top:33.214vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202307{
            top:35.5vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202309{
            top:35.514vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202401{
            top: 61%;
        }
        .kv_202304 .inbtn_202304.inbtn_add202403{
            top: 61%;
            border-radius: 0.714vw;
            box-shadow: 0 0.357vw 0 0 rgba(98,85,28,1);
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304{
            width: 89.58%;
            max-width: 688px;
            top:128.906vw;
            left: 0;
            right: 0;
            margin: 0 auto;
            border-radius: 2.083vw;
            box-shadow: 0 1.302vw 0 0 rgba(98,85,28,1);
        }
        .kv_202304 .inbtn_202304.inbtn_add202307{
            top:133.156vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202309{
            top:129.906vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202401{
            top: 115.104vw;
            width: 89.583vw;
            max-width: 688px;
        }
        .kv_202304 .inbtn_202304.inbtn_add202403{
            top: 109.245vw;
            width: 89.583vw;
            max-width: 688px;
            border-radius: 2.083vw;
            box-shadow: 0 1.302vw 0 0 rgba(98,85,28,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 21px;
}
.kv_202304 .inbtn_202304.inbtn_add202307 a{
    padding: 18px 20px;
}
.kv_202304 .inbtn_202304.inbtn_add202401 a{
    padding: 6px 13px 0 18px;
}
.kv_202304 .inbtn_202304.inbtn_add202403 a{
    padding: 6px 13px 0 18px;
}
.kv_202304 .inbtn_202304.inbtn_add202410 a{
    padding: 9px 13px 5px 17px;
}

    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304 a{
            padding: 1.367vw 2.051vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202307 a{
            padding: 1.27vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202401 a{
            padding: 0.586vw 1.27vw 0 1.758vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202403 a{
            padding: 0.586vw 1.27vw 0 1.758vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202410 a{
            padding: 0.879vw 1.27vw 0.488vw 1.66vw;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304 a{
            padding: 2.865vw 3.906vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202307 a{
            padding: 5.208vw 3.906vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202401 a{
            padding: 2.214vw 3.385vw 2.344vw 3.906vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202403 a{
            padding:1.432vw 3.385vw 1.432vw 3.906vw;
        }
        .kv_202304 .inbtn_202304.inbtn_add202410 a{
            padding: 2.214vw 3.776vw 1.432vw 3.906vw;
        }
    }

.kv .inbtn_add202404{
    width: 41.2%;
    max-width: 577px;
    top: 25.3vw;
}
.kv .inbtn_add202406{
    width: 41.2%;
    max-width: 577px;
    top: 28.571vw;
}
.kv .inbtn_add202410{
    width: 41.2%;
    max-width: 577px;
    top: 34vw;
    left: 14.7vw;
    box-shadow: 0 5px 0 0 rgba(98, 85, 28, 1);
}



/* 202503 addcss */

.kv_btn_wrap {
    position: absolute;
    top: 34vw;
    left: 14.7vw;
    width: 41.2%;
}
@media screen and (max-width: 1024px) {
    .kv_btn_wrap {
        top: calc(29vw + 98px);
    }
}
@media screen and (max-width: 768px) {
    .kv_btn_wrap {
        width: 89.583vw;
        max-width: 688px;
        top: 109.7vw;
        left: 0;
        right: 0;
        margin: auto;
    }
}
.kv_btn_wrap > div {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    max-width: unset;
    background: #F45301;
    box-shadow: 0 5px 0 0 #672300;
    border-radius: 10px;
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}
.kv_btn_wrap > div:hover{
    transform: translateY(4px);
    box-shadow: none;
}
.kv_btn_wrap > div::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_btn_wrap > div a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1.55% 2.25% 1% 3%;
}
.kv_btn_wrap .senior_anchor {
    margin-top: 3.5%;
    background: #B4473C;
    box-shadow: 0 5px 0 0 #5C241F;
}
@media screen and (max-width: 768px) {
    .kv_btn_wrap .senior_anchor {
        border-radius: 2.083vw;
        width: 89.583vw;
        transform: none;
        box-shadow: 0 1.302vw 0 0 #5C241F;
    }
}
.kv_btn_wrap .senior_anchor a {
    padding: 2.08% 3.12% 1.39% 2.77%;
}
@media screen and (max-width: 768px) {
    .kv_btn_wrap .senior_anchor a {
        padding: 1.563vw 3.451vw 0.391vw 4.036vw;
    }
}
.kv_btn_wrap .senior_anchor a img{
    max-width: 100%;
}


.kv .inbtn_add202404 a{
    padding: 9px 22px 9px 15px;
}
.kvbtn__text{
    display: none;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
    .kv .inbtn_add202404{
        top: 60%;
        border-radius: 5px;
    }
    .kv .inbtn_add202410{
        top: 53%;
    }
    .kv .inbtn_add202406{
        top: 65%;
        border-radius: 5px;
    }
    .kv .inbtn_add202404 a{
        padding: 5px 17px 5px 10px;
    }
}
@media screen and (max-width: 768px) {
    .kv .inbtn_add202404{
        top: 116vw;
        width: 89.6%;
        max-width: 688px;
    }
    .kv .inbtn_add202410{
        top: 109vw;
        left: 0;
        box-shadow: 0 1.302vw 0 0 rgba(98, 85, 28, 1);
    }
    .kv .inbtn_add202406{
        top: 138.021vw;
    }
    .kv .inbtn_add202404 a{
        padding: 3.9vw 4.56vw 2.6vw 3.3vw;
    }
    .kvbtn__text{
        display: block;
        position: absolute;
        top: 106vw;
        left: 5.2vw;
        width: 29.6vw;
    }
    .kvbtn__text2406{
        top: 127.865vw;
    }
}


.kv_202304 .inbtn_202304 a img{
    max-width: 546px;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304 a img{
            max-width: 625px;
        }
    }

.kv_202304 .inbtn_202410 a img{
    max-width: 547px;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202410 a img{
            max-width: unset;
        }
    }

/* 202309 addcss */
.kvin-cptitle{
    position: absolute;
    top:25.357vw;
    left:15vw;
    width: 28%;
    max-width: 387px;
}
    @media screen and (max-width: 1024px) {
        .kvin-cptitle{
            top:32.857vw;
        }
    }
    @media screen and (max-width: 768px) {
        .kvin-cptitle{
            top:115.193vw;
            left:5.208vw;
            width: 55%;
            max-width: 379px;
        }
    }

/* 202310 add */

.kv_202304 .inbtn_202304.inbtn_add202310{
    width: 41.214%;
    max-width: 577px;
    top:25.286vw;
    left: 14.929vw;
}
    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304.inbtn_add202310{
            top:60.6%;
            border-radius: 6px;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202310{
            top: 70%;
            border-radius: 2.083vw;
            width: 89.58%;
            max-width: 688px;
            left: 50%;
            transform: translateX(-50%);
        }
    }
.kv_202304 .inbtn_202304.inbtn_add202310 a {
    padding: 1.73% 2.25% 0.17% 2.6%;
}
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202310 a {
            padding:1.823vw 3.776vw 1.172vw 3.906vw;
        }
    }
.kv_202304 .inbtn_202304.inbtn_add202310 a img{
    max-width: 549px;
    image-rendering: -webkit-optimize-contrast;
}
    @media screen and (max-width: 1024px) {
        .kv_202304 .inbtn_202304.inbtn_add202310 a img{
            image-rendering: unset;
        }
    }
    @media screen and (max-width: 768px) {
        .kv_202304 .inbtn_202304.inbtn_add202310 a img{
            max-width: unset;
        }
    }
.parking_anchor{
    position: absolute;
    width: 41.215%;
    max-width: 577px;
    top: 30.929vw;
    left: 14.929vw;
    background: #DC0000;
    border-radius: 8px;
    border-radius: 10px;
    box-shadow: 0 4px 0 0 rgba(140,0,0,1);
    transition: 0.3s;
    overflow: hidden;
    z-index: 1;
}
@media screen and (max-width: 1024px) {
    .parking_anchor{
        top:72%;
        border-radius: 6px;
    }
}
@media screen and (max-width: 768px) {
    .parking_anchor{
        width: 89.58%;
        max-width: 688px;
        top:84.6%;
        left: 50%;
        transform: translateX(-50%);
        height: 11vw;
        max-height: unset;
        border-radius: 2.083vw;
        box-shadow: 0 1.302vw 0 0 rgba(140,0,0,1);
    }
}
.parking_anchor_2401{
    top: 30vw;
}
@media screen and (max-width: 1024px) {
    .parking_anchor_2401{
        top: 73%;
    }
}
@media screen and (max-width: 768px) {
    .parking_anchor_2401{
        top: 142.448vw;
    }
}


.parking_anchor a{
    display: block;
    padding: 2.4% 3.1% 1.07%;
}
@media screen and (max-width: 768px) {
    .parking_anchor a{
        padding:2.995vw 3.451vw 2.344vw 4.557vw;
    }
}

.parking_anchor a img{
    max-width: 541px;
    image-rendering: -webkit-optimize-contrast;
}
    @media screen and (max-width: 1024px) {
        .parking_anchor a img{
            image-rendering: unset;
        }
    }
    @media screen and (max-width: 768px) {
        .parking_anchor a img{
            max-width: unset;
        }
    }
.parking_anchor:hover{
    box-shadow: none;
    transform: translateY(4px);
}
    @media screen and (max-width: 768px) {
        .parking_anchor:hover{
            transform: translate(-50%,0px);
        }
    }

.senior_anchor{
    background: #B4473C;
    box-shadow:0 5px 0 0 #5C241F;
}
.senior_anchor_2410{
    top: 39.7vw;
    left: 14.7vw;
}
.senior_anchor a{
    padding: 2.08% 3.12% 1.39% 2.77%;
}
.senior_anchor a img{
    max-width: 543px;
}
@media screen and (max-width: 1024px) {
    .senior_anchor{
        box-shadow:0 0.357vw 0 0 #5C241F;
        border-radius: 0.714vw;
    }
    .senior_anchor_2410{
        top: 61%;
    }
}
@media screen and (max-width: 768px) {
    .senior_anchor{
        box-shadow:0 5px 0 0 #5C241F;
        border-radius: 2.083vw;
        width: 89.583vw;
        top: 133.203vw;
        height: auto;
    }
    .senior_anchor_2410{
        left: 50%;
        top: 133vw;
        box-shadow: 0 1.302vw 0 0 #5C241F;
    }
    .senior_anchor a{
        padding:1.563vw 3.451vw 0.391vw 4.036vw;
    }
    .senior_anchor a img{
        max-width: 632px;
    }
}

/******************** kv bottom area 202304～ START********************/
.kv-bottom_area{
    position: absolute;
    left: 0;
    right: 0;
    bottom: -115px;
    width: 70%;
    max-width: 980px;
    margin: 0 auto;
}
.kv-bottom_area_2410{
    width: 70%;
    max-width: 980px;
    margin: 60px auto 0;
}
    @media screen and (max-width: 1024px) {
        .kv-bottom_area{
            bottom: -7.813vw;
        }
        .kv-bottom_area.kv-bottom_area_202309{
            bottom: -11.513vw;
            /* bottom: -8vw; */
        }
    }
    @media screen and (max-width: 768px) {
        .kv-bottom_area{
            width: 89.58%;
            max-width: 688px;
            bottom: -69.271vw;
        }
        .kv-bottom_area.kv-bottom_area_202309{
            width: 89.58%;
            max-width: 688px;
            bottom: -75.271vw;
        }
        .kv-bottom_area_2410{
            width: 89.58%;
            max-width: 688px;
            position: absolute;
            top: 157vw;
            left: 5vw;
            margin: auto;
        }
    }
/******************** kv bottom area 202304～ END********************/


/******************************
    store info 202304 cssadd
******************************/
.store-info{
    width: 70%;
    max-width: 980px;
    margin: 195px auto 0;
}
.store-info_202410{
    margin: 80px auto 0;
}
    @media screen and (max-width: 1400px) {
        .store-info{
            margin: 13.929vw auto 0;
        }
    }
    @media screen and (max-width: 1024px) {
        .store-info.store-info_202309{
            margin: 16.929vw auto 0;
        }
    }
    @media screen and (max-width: 768px) {
        .store-info{
            width: 89.5833%;
            max-width: 688px;
            margin: 79.818vw auto 0;
        }
        .store-info_202410{
            margin: 84.896vw auto 0;
        }
        .store-info.store-info_202309{
            width: 89.5833%;
            max-width: 688px;
            margin: 85.938vw auto 0;
        }
    }

.store-info .s-title1,
.store-info .s-title2{
    width: 90%;
    max-width: 898px;
    margin: 0 auto;
    line-height: 1.5;
}
    @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: 32px;
    font-weight: 600;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title1{
            font-size: 5.208vw;
        } 
    }

.store-info .s-title2{
    margin-top: 20px;
    font-size: 22px;
    font-weight: 400;
}
    @media screen and (max-width: 768px) {
        .store-info .s-title2{
            margin-top: 3.516vw;
            font-size: 4.167vw;
        }
    }

.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;
}
    @media screen and (max-width: 768px) {
        .store-info ul li{
            width: 47.6744%;
            max-width: 328px;
        }
    }

.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%;
}


/******************************
    campaign area
******************************/
.campaign_area{
    width:100%;
    padding:80px 0;
    background-color:#E3C649;
}
    @media screen and (max-width: 768px) {
        .campaign_area{
            padding:14.323vw 0 15.625vw;
        }
    }

.in_campaign_area h2{
    max-width: 954px;
}
@media screen and (max-width: 768px) {
    .in_campaign_area h2{
        max-width: 721px;
    }
}

.in_campaign_area .c_info{
	width:100%;
	max-width:1050px;
    margin:35px auto 0;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info{
			width:100%;
            margin:10.417vw 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: 55.9%;
    max-width: 548px;
    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 .campaign_text img{
    width: 100%;
}
.in_campaign_area .campaign_text_202307 img{
    width: 100%;
}
.in_campaign_area .campaign_text_202309 img{
    width: 100%;
}

.in_campaign_area .c_info_benefits {
	width:100%;
}

.in_campaign_area .c_info_benefits .c_info_benefits_item{
    width: 97%;
    max-width: 1015px;
    margin-top:20px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info_benefits .c_info_benefits_item{
            width: 98.692%;
            max-width: 679px;
            margin-top:3.906vw;
        }  
    }


.in_campaign_area .c_info .c_info_benefits img{
    width:100%;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area .c_info .c_info_benefits img{
			max-width: 100%;
            margin:10px auto 0;
        }
    }

.in_campaign_area p {
	text-align: center;
}

/******************************
    campaign area 2024年1月
******************************/
.campaign_area_2401{
    padding: 80px 0;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .campaign_area_2401{
        padding: 15.625vw 0;
    }
}

.in_campaign_area_2401 .campaign_ttl_date_2401{
    font-size: 2.6rem;
    line-height: 4rem;
    margin: auto;
    color: #472619;
    font-weight: bold;
    position: relative;
    
    display: inline-block;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .campaign_ttl_date_2401{
            padding:0;
            font-size: 4.688vw;
        }
    }

.in_campaign_area_2401 .campaign_ttl_date_2401::before,.in_campaign_area_2401 .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_2401 .campaign_ttl_date_2401::before,.in_campaign_area_2401 .campaign_ttl_date_2401::after{
            width: 13.021vw;
            height: 0.521vw;
            background-image: url(../img/campaign_ttl_line_sp.webp);
        }
    }

.in_campaign_area_2401 .campaign_ttl_date_2401::before{
    left: -60px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .campaign_ttl_date_2401::before{
            left: -15.625vw;
        }
    }
    
.in_campaign_area_2401 .campaign_ttl_date_2401::after{
    right: -60px;
}
@media screen and (max-width: 768px) {
    .in_campaign_area_2401 .campaign_ttl_date_2401::after{
        right: -15.625vw;
    }
}
    
.in_campaign_area_2401 h2{
    width: 100%;
    max-width: 996px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 h2{
            width: 78.385vw;
            max-width: 602px;
        }
    }


.in_campaign_area_2401 .c_info_2401{
    background: #fff;
    border-radius: 16px;
    margin-top: 15px;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .c_info_2401{
            border-radius: 2.604vw;
            margin-top: 2.865vw;
        }
    }
#link_campaign{
    margin: -6vw auto 0;
    padding-top: 6vw;
}
.in_campaign_area_2401 .c_info_benefits_2401{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 94%;
    max-width: 982px;
    margin: auto;
    padding: 3.4% 0;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .c_info_benefits_2401{
            display: block;
            padding: 5.208vw 0;
            width: 79.167vw;
        }
    }

.in_campaign_area_2401 .c_info_benefits_2401 img{
    width: 100%;
}
    
.in_campaign_area_2401 .c_info_benefits_item_2401:not(:nth-of-type(3)){
    width: 48.47%;
    max-width: 475px;
    margin-bottom: 30px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .c_info_benefits_item_2401:not(:nth-of-type(3)){
            width: 100%;
            max-width: 608px;
            margin: 0 auto 5.208vw;
        }
    }
.in_campaign_area_2401 .c_info_benefits_item_2401:nth-of-type(3){
    width: 100%;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_2401 .c_info_benefits_item_2401:nth-of-type(3){
            width: 100%;
            max-width: 608px;
            margin: 0 auto;
        }
    }

.campaign_area_2404 .campaign_ttl_date_2401{
    margin: 0 auto 4px;
}
.campaign_area_2404 .in_campaign_area h2{
    width: 100%;
    max-width: 100%;
}
@media screen and (max-width: 768px) {
    .campaign_area_2404{
        padding: 11.3vw 0 10.4vw;
    }
    .campaign_area_2404 .campaign_ttl_date_2401{
        margin: 0 auto 1.5vw;
    }
    .campaign_area_2404 .in_campaign_area h2{
        width: 82.6%;
    }
}

/* 2024年10月追加 */
.campaign_area_2410{
    padding: 120px 0;
}
.campaign_area_2410 .campaign_ttl_2410{
    width: 67.53%;
    max-width: 709px;
    margin: auto;
    padding-top: 40px;
}
.campaign_area_2410 .cp_title_balloon{
    display: block;
    position: absolute;
    width: 257px;
    top: -31px;
    left: 0;
    right: 0;
    margin: auto;
}
.campaign_area_2410 .cp_title_balloon img{
    width: 100%;
}
@media screen and (max-width: 768px) {
    .campaign_area_2410 .cp_title_balloon{
        width:39.063vw;
        top: -5.3vw;
    }
}
.campaign_area_2410 .campaign_ttl_date_2401{
    margin: 0 auto 4px;
}
.campaign_area_2410 .in_campaign_area h2{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 40px;
}
.campaign_area_2410 .c_info_benefits_2401{
    padding-top: 7px;
}
@media screen and (max-width: 768px) {
    .campaign_area_2410{
        padding: 15.625vw 0 10.4vw;
    }
    .campaign_area_2410 .campaign_ttl_2410{
        width: 100%;
        max-width: 590px;
        margin: auto;
        padding-top: 0;
    }
    .campaign_area_2410 .c_info_2401{
        margin-top: 0;
    }
    .campaign_area_2410 .campaign_ttl_date_2401{
        margin: 0 auto 2.604vw;
    }
    .campaign_area_2410 .in_campaign_area h2{
        width: 82.6%;
        margin: -4.557vw auto 0;
        padding-top: 4.557vw;
    }
    .campaign_area_2410 .free_btn_mt1{
        margin: 6.641vw auto 0;
    }
}

/******************************
    campaign_area 2025年3月更新
******************************/
.bg_orange{
    background: #F45301;
}
.campaign_area .bg_green{
    background: #018145;
    box-shadow: 0 4px 0 0 #0C4B27;
}
.campaign_area_2410 .golfstart_cp_ttl{
    width: 81.22%;
    max-width: 798px;
    margin: auto;
    padding-top: 0;
}
@media screen and (max-width: 640px) {
    .campaign_area_2410 .golfstart_cp_ttl{
        width: 69.01vw;
        max-width: 530px;
        margin: auto;
        padding-top: 0;
    }
}


/******************************
    campaign area senior
******************************/
.campaign_area_senior{
    padding: 120px 0;
    background: #472619;
}
@media screen and (max-width: 768px) {
    .campaign_area_senior{
        padding: 15.625vw 0;
    }
}
.campaign_area_senior2503{
    background: #B4473C;
}
.in_campaign_area_senior .campaign_ttl_date_2401{
    font-size: 2.6rem;
    line-height: 4rem;
    color: #472619;
    font-weight: bold;
    position: relative;
    display: inline-block;
    margin: 0 auto 4px;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_senior .campaign_ttl_date_2401{
            padding:0;
            font-size: 4.688vw;
        }
    }

.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: 80.96%;
    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;
        }
    }
.in_campaign_area_senior .c_info_senior{
    background: #E5D8C7;
    border-radius: 16px;
    padding: 35px 0;
    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 .cp_title_balloon{
    display: block;
    position: absolute;
    width: 257px;
    top: -31px;
    left: 0;
    right: 0;
    margin: auto;
}
.in_campaign_area_senior .cp_title_balloon img{
    width: 100%;
}
    @media screen and (max-width: 768px) {
        .in_campaign_area_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;
}
    @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: 0 auto 5.208vw;
        }
    }
.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_senior .free_btn_mt1{
    margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
    .campaign_area_senior .free_btn_mt1{
        margin: 6.641vw auto 0;
    }
}


/******************************
    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;
    background: #FFF8DC;
    margin-bottom: 0;
}
@media screen and (max-width: 768px) {
    .free_lesson {
        padding: 15.625vw 0;
    }
}
.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;
    }
}
.free_lesson .free_btn{
    background-color: #DC0000;
    box-shadow: 0 4px 0 0 rgba(118, 2, 2, 1);
}
.free_lesson img{
max-width: 100%;
}


/* 2024年10月追加ここまで */

.free_lesson .free_btn.bg_green{ 
    background: #018145;
    box-shadow: 0 4px 0 0 #0C4B27;
}

/******************************
    cp_bottom_btn_area
******************************/
.cp_bottom_btn_area{
    display: flex;
    justify-content: space-around;
    width:100%;
    max-width:688px;
    height: auto;
    margin: 55px auto 0;
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area{
            width:85.9375%;
            margin:7.161vw auto 0;
        }
    }

.cp_bottom_btn_area p{
    width:46.511%;
}
    /* @media screen and (max-width: 768px) {
        .cp_bottom_btn_area p{
            width:46.511%;
        }
    } */

.cp_bottom_btn_area a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width:320px;
    padding:26px 0;
    max-height:76px;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 10px;
    font-size:2.4rem;
    font-weight:600;
    /* line-height:3.6rem; */
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area a{
            width: 100%;
            justify-content: flex-start;
            padding-left: 5.233vw;
            font-size: 3.4vw;
            padding: 4.297vw 0 4.297vw 2.604vw;
        }
        .cp_bottom_btn_area a.price_icon{
            padding-left:4.688vw;
        }
    }
    @media screen and (max-width: 768px) and (-ms-high-contrast: none){ /* ie only */
        .cp_bottom_btn_area a{
            padding: 3vw 0 3vw 2.604vw;
        }
    }

.cp_bottom_btn_area a:hover{
    background-color:#E6E6E6;
}
.cp_bottom_btn_area a::after{
    display: inline-block;
    content:"";
    width:33px;
    height:19px;
    background-image:url(../img/btn_arrow.png);
    background-repeat: no-repeat;
    position: absolute;
    right:20px;
    top:0;
    bottom:0;
    margin:auto;
}
    @media screen and (max-width: 768px) {
        .cp_bottom_btn_area a::after{
            width: 4.797vw;
            height:2.762vw;
            background-size: 4.797vw 2.762vw;
            right:4.427vw;
        }
    }


/******************************
    big news area
******************************/

.big_news_area {
	width: 100%;
	/*padding: 150px 0 0;*/
    /*padding: 90px 0 90px;*//*背景調整*/
    padding: 50px 0 90px;
    /* background: url("../img/bg1_pc.jpg") bottom no-repeat; */
    background-color: #EFEFEF;
	background-size: 100%;
}
    @media screen and (max-width: 768px) {
        .big_news_area {
            /* padding: 0 0 15.62vw; */
            padding: 11.719vw 0 11.719vw;
			background-size: 100%;
        }
    }

.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;
	padding: 0;
}
    @media screen and (max-width: 768px) {
        .in_big_news_area h2 {
			width: 45.6%;
			max-width: 350px;
        }
    }

.big_news_area_copy {
	color: #F18705;
	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_2410{
            width: 88%;
            margin: auto;
        }
    }

.pro_image img{
	border-top-left-radius: 22px;
	border-bottom-left-radius: 22px;
	width: 100%;
}
    @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;
	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_area2410{
            background: #fff;
        }
    }


.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;
			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 img{
	width: 100%;
}

.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;
}

/* 2024年10月追加 */
.readyup_bnr{
    width: 95%;
    max-width: 980px;
    margin: 30px auto;
}
@media screen and (max-width: 768px) {
    .readyup_bnr{
        width: 88%;
        margin: 4vw auto 6vw;
    }
}
.readyup_bnr img{
    width: 100%;
}
.readyup_ttl img{
    width: 100%;
}
.readyup_copy {
    width: 95%;
    max-width: 980px;
	color: #333;
	text-align: center;
	font-size: 26px;
    line-height: 1.5;
    margin: auto;
}
    @media screen and (max-width: 768px) {
        .readyup_copy {
			margin-top: 0;
			font-size: 5vw;
			line-height: 1.625;
        }
    }
.readyup_copy span{
    color: #208DAC;
    font-weight: bold;
}
.big_news_area .news_box{
    width: 95%;
    max-width: 1080px;
    background: #fff;
    margin: 60px auto 0;
    padding: 50px 0;
    border-radius: 22px;
}
@media screen and (max-width: 768px) {
    .big_news_area .news_box{
        width: 89.5833%;
        max-width: 688px;
        margin: 10vw auto 0;
        padding: 6vw 0 8vw;
        border-radius: 2vw;
    }
    .big_news_area .news_box .big_news_area_copy{
        font-weight: bold;
    }
    .big_news_area .news_box .pro_name{
        font-weight: bold;
    }
}
.mgT0{
    margin-top: 0;
}
.news_box div.readyup_btn{
    background-color: #208CAE;
    box-shadow: 0 4px 0 0 #04607c;
    margin-top: 30px;
}
.news_box div.readyup_btn:hover{
    box-shadow: none;
}
.news_box div.readyup_btn a span{
    color: #fff;
}
.news_box div.readyup_btn a::before{
    display: none;
}
@media screen and (max-width: 768px) {
    .news_box div.readyup_btn{
        margin-top: 4vw;
        width: 100%;
    }
    .news_box div.readyup_btn a{
        padding-left: 0;
    }
}

/******************************
    media_information_area
******************************/

.media_information_area {
	width:100%;
	padding:90px 0;
    /* background-color:#462619; */
    background-color: #EFEFEF;
}
    @media screen and (max-width: 768px) {
        .media_information_area {
    			padding:11.7vw 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-bottom:60px;
}
    @media screen and (max-width: 768px) {
        .media_information_area h2 {
    			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: 30px;
}
	@media screen and (max-width: 768px) {
        .media_information_area .media_information_box:not(:first-child) {
    			margin-top: 7.8vw;
        }
    }

.media_information_area .media_information_box2 {
	width:100%;
	display: flex;
	justify-content: space-between;
}

.media_information_area .media_information_box2 .media_information_item:nth-of-type(1) {
	width:67%;
	padding-top: 17px;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item:nth-of-type(1) {
				width:65.7%;
				padding-top: 0;
        }
    }

.media_information_area .media_information_box2 .media_information_item:nth-of-type(2) {
	width:28.5%;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item:nth-of-type(2) {
				width:32%;
        }
    }

.media_information_area .media_information_box2 .media_information_item:nth-of-type(2) p {
	text-align: center;
}

.media_information_area .media_information_box2 .media_information_item img {
	width:100%;
}

.media_information_area .media_information_box2 .media_information_item  .media_210601_pic,
.media_information_area .media_information_box2 .media_information_item  .media_210515_pic{
	width:29%;
	margin: 0 auto;
	min-width: 88px;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item  .media_210601_pic,
		.media_information_area .media_information_box2 .media_information_item  .media_210515_pic {
				width:60%;
				min-width:60%;			
        }
    }

.media_information_area .media_information_date_pc {
	font-size: 1.6rem;
    /* color:#FAFAFA; */
    font-weight: 400;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_date_sp {
				width:100%;
    			font-size: 3.1vw;
				/* color:#FAFAFA; */
        }
    }

.media_information_area .media_information_title {
	font-size: 2.2rem;
	line-height: 1.6;
    /* color:#FAFAFA; */
    font-weight: 400;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_title {
    			font-size: 4.1vw;
        }
    }

.media_information_area .media_information_title span {
	color:#F18705;
}

.media_information_area .media_information_link {
	display: block;
}

.media_information_area .media_information_link:hover {
	opacity :0.7;
}

/******************** media_information_area　210701~ ********************/
.media_information_area .media_information_box2 .media_information_item .media_210616_pic {
	width: 74.3%;
}
    @media screen and (max-width: 768px) {
        .media_information_area .media_information_box2 .media_information_item .media_210616_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: -50px;
  left:0;
  right: 0;
  margin: 0 auto;
  /* 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/media_arrow.png");
  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{
    /* background-color:#F3F0EA; */
    width:100%;
    padding:120px 0;
}
    @media screen and (max-width: 768px) {
        .open_comment_area{
            padding:15.625vw 0;
        }
    }

.open_comment_area .open_comment{
    width:95%;
    max-width:880px;
    margin:0 auto;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment{
            width:89.5833%;
            max-width: 688px;
        }
    }

.open_comment_area .open_comment .o_title{
    font-size:3.2rem;
    line-height: 5.1rem;
    font-weight: 600;
    margin-bottom:30px;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .o_title{
            font-size:5.208vw;
            line-height: 8.333vw;
            margin-bottom: 7.813vw;
        }
    }

.open_comment_area .open_comment .o_info{
    font-size:2.2rem;
    line-height: 3.5rem;
}
    @media screen and (max-width: 768px) {
        .open_comment_area .open_comment .o_info{
            font-size:4.167vw;
            line-height: 6.641vw;
        }
    }


/******************** 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: 100%;
	margin-top: 50px;
}
.video_area video {
	width: 100%;
}

/******************** camera360 ********************/
.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%;
}

/******************** store_manager ********************/

.store_manager {
	width:95%;
	max-width:860px;
	margin: 0 auto;
	/* padding: 80px 0 0; */
}
    @media screen and (max-width: 768px) {
        .store_manager{
            width:89.5833%;
            max-width: 688px;
			/* padding: 13.28vw 0 0; */
        }
    }

.store_manager h3 {
	font-size: 3.8rem;
	font-weight: bold;
	color: #F18705;
	text-align: center;
	margin-bottom: 60px;
}
   @media screen and (max-width: 768px) {
        .store_manager h3 {
            line-height: 5.2vw;
			font-size:4.8vw;
            margin-bottom: 5.73vw;
        }
    }

.store_manager p{
	font-size: 20px;
	line-height: 1.6;
}
   @media screen and (max-width: 768px) {
        .store_manager p{
            font-size:3.9vw;
            line-height: 6.25vw;
        }
    }

.store_manager .store_manager_box {
	display: flex;
	justify-content: space-between;
}
   @media screen and (max-width: 768px) {
        .store_manager .store_manager_box {
            display: block;
        }
    }

   @media screen and (max-width: 768px) {
        .store_manager_info {
            display: flex;
			justify-content: space-between;
			margin-bottom: 6.51vw;
			
        }
    }

   @media screen and (max-width: 768px) {
        .store_manager_info_box:nth-of-type(1){
		   width: 40.69%;
	   }
    }

   @media screen and (max-width: 768px) {
        .store_manager_info_box:nth-of-type(1) img{
		   width: 100%;
	   }
    }

   @media screen and (max-width: 768px) {
        .store_manager_info_box:nth-of-type(2){
		   width: 54.94%;
			padding-top: 3.906vw;
	   }
    }
	   	   

.store_manager_info .manager_name {
	font-size: 3.2rem;
	font-weight: 700;
    margin: 14px 0 15px;
}
   @media screen and (max-width: 768px) {
        .store_manager_info .manager_name {
            font-size:6.25vw;
            margin: 0;
        }
    }

.store_manager_info .manager_name_kana {
	font-size: 1.4rem;
	vertical-align: middle;
	font-weight: 400;
}
   @media screen and (max-width: 768px) {
        .store_manager_info .manager_name_kana {
            font-size:2.6vw;
        }
    }

.birthdate {
	font-size: 1.6rem;
    margin-bottom: 15px;
}
   @media screen and (max-width: 768px) {
        .birthdate  {
            font-size:3.1vw;
			margin-bottom: 4.43vw;
        }
    }

.manager_profile {
	margin-left: 60px;
	width:100%;
}
   @media screen and (max-width: 768px) {
        .manager_profile  {
            margin: 0 auto;
        }
    }

.manager_profile .profile_about {
    font-size: 26px;
    font-weight: bold;
    color: #F18705;
    border-bottom: solid 2px #F18705;
    margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
    .manager_profile .profile_about {
        font-size: 4.69vw;
        margin: 0 0 5.21vw;
    }
}

.manager_profile .profile_title {
	width:89px;
	margin-bottom: 10px;
}
   @media screen and (max-width: 768px) {
        .manager_profile .profile_title {
            width:15.49vw;
        }
    }

.manager_profile .message_title {
	width:114px;
	margin-bottom: 10px;
}
   @media screen and (max-width: 768px) {
        .manager_profile .message_title {
            width:19.79vw;
        }
    }

.manager_profile dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 2rem;
	line-height: 1.6;
	width:100%;
	margin-bottom: 30px;
}
   @media screen and (max-width: 768px) {
        .manager_profile dl  {
            font-size:3.9vw;
        }
    }

.manager_profile dt {
	width: 5%;
}
   @media screen and (max-width: 768px) {
        .manager_profile dt  {
            width: 7%;
        }
    }

.manager_profile dd {
	width:94%;
}
   @media screen and (max-width: 768px) {
        .manager_profile dd {
            width: 93%;
        }
    }

.manager_profile dd span {
    font-weight: bold;
}

/******************** premium-instructor ********************/
.premium-instructor {
    padding: 85px 0 0;
}
@media screen and (max-width: 768px) {
    .premium-instructor {
        padding: 9.24vw 0 0;
    }
}


/******************** tips ********************/
.tips {
    /* background-color: #fff; */
    background-color: #EFEFEF;
    width:95%;
	max-width:860px;
	margin: 45px auto 0;
    padding: 34px 48px 53px;
    border-radius: 16px;
}
@media screen and (max-width: 768px) {
    .tips{
        width:89.5833%;
        max-width: 688px;
        margin: 5.6vw auto 0;
        padding: 3.91vw 5.21vw 5.21vw;
        border-radius: 4.56vw;
    }
}
.tips p {
    font-size: 20px;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .tips p {
        font-size: 3.91vw;
    }
}
.tips .tips_title {
    font-size: 28px;
    font-weight: bold;
    color: #F18705;
    text-align: center;
    margin: 0 0 15px;
}
@media screen and (max-width: 768px) {
    .tips .tips_title {
        font-size: 4.69vw;
        margin: 0 0 2.6vw;
    }
}



/******************************
    charm area
******************************/
.charm_area{
    width:100%;
    padding:100px 0 120px;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 768px) {
        .charm_area{
            padding:13.021vw 0 15.625vw;
        }
    }

    @media screen and (max-width: 768px) {
        .in_charm_area{
            width:89.5833%;
            max-width: 688px;
        }
    }

.in_charm_area p.charm_info{
    width:100%;
    max-width:553px;
    margin:60px auto 0;
    color:#F18705;
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 3.5rem;
}
    @media screen and (max-width: 768px) {
        .in_charm_area p.charm_info{
            max-width:688px;
            margin-top:7.813vw;
            font-size: 4.167vw;
            line-height: 6.641vw;
        }
    }

.in_charm_area p.charm_info span{
    font-weight: 600;
}

.in_charm_area .point_area{
    margin-top:120px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_area{
            margin-top:11.719vw;
        }   
    }

.in_charm_area .point_box{
    display: flex;
    justify-content: space-between;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box{
            display: block;
        }
    }

.in_charm_area .point_box .point_box_text{
    width:48.57%;
    max-width:510px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box .point_box_text{
            width:100%;
            max-width: 688px;
        }
    }

.in_charm_area .point_box .point_box_text .point-img{
    width:160px;
    height:50px;
}
.in_charm_area .point_box .point_box_text .point-img img{
    width:100%;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box .point_box_text .point-img{
            width:22vw;    
            max-width:160px;
            height: auto;
        }
    }

.in_charm_area .point_box .point_box_img{
    width:47.61%;
    max-width:500px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box .point_box_img{
            width:100%;
            max-width: 688px;
        }
    }

.in_charm_area .point_box .sp_step-img{
    width:100%;
}
.in_charm_area .point_box .point_box_img img,
.in_charm_area .point_box .sp_step-img img{
    width:100%;
}

.in_charm_area .point_box dl dt{
    font-size:3rem;
    font-weight: 600;
    line-height: 4.8rem;
    margin-top:13px;
    margin-bottom:20px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box dl dt{
            /* font-size:5.1vw; */
            font-size:4.9vw;
            line-height:8.333vw;
            margin-top:3.516vw;
            margin-bottom:3.255vw;
        }
    }

.in_charm_area .point_box dl dd{
    font-size:2rem;
    font-weight: 400;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box dl dd{
            margin-top: 3.125vw;;
            font-size:4.1vw;
            line-height: 6.641vw;
        }
    }

.in_charm_area .point_box dl dd .font-b{
    font-weight: 600;
}
.in_charm_area .point_box dl dd .font-small{
    font-size:1.8rem;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_box dl dd .font-small{
            font-size:4.1vw;
            line-height: 6.641vw;
        }
    }

/******************** in_charm_area point2 hukidashi START ********************/

.in_charm_area .point_area .point_area_comment {
	position: relative;
  	display: inline-block;
  	width: 100%;
	margin-top: 52px;
  	color: #FAFAFA;
  	background: #F18705;
	border-radius: 20px;
	padding:26px 0 26px 13%;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_area .point_area_comment{
			margin-top: 8.9vw;
			border-radius: 2.6vw;
			padding:3.6vw 3.9vw;
        }
    }

.in_charm_area .point_area .point_area_comment:before {
 	content: "";
 	position: absolute;
 	top: -22px;
 	left: 50%;
 	margin-left: -15px;
 	border-bottom: 22px solid #F18705;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}

.in_charm_area .point_area .point_area_comment .point_area_comment_text {
	width:65%;
	font-size: 20px;
	line-height: 1.6;
}
    @media screen and (max-width: 1050px) {
        .in_charm_area .point_area .point_area_comment .point_area_comment_text{
			width:60%;
        }
    }
    @media screen and (max-width: 768px) {
        .in_charm_area .point_area .point_area_comment .point_area_comment_text{
			width:77%;
			font-size: 4.1vw;
        }
    }

.in_charm_area .point_area .point_area_comment .point_area_comment_text p span {
	color: #462619;
	font-weight: 600;
}

.in_charm_area .point_area .point_area_comment .point_area_comment_image {
	position: absolute;
	bottom:0;
	right:13.8%;
	max-width: 144px;
}
    @media screen and (max-width: 768px) {
        .in_charm_area .point_area .point_area_comment .point_area_comment_image {
			 	position: absolute;
				right:1.3vw;
				max-width: 19.6vw;
        }
    }

.in_charm_area .point_area .point_area_comment .point_area_comment_image img {
	width: 100%;
}

/******************** in_charm_area point2 hukidashi END ********************/

.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:100%; */
    width:32%;
    max-width: 320px;
}
    @media screen and (min-width:769px) and ( max-width:1024px){
        .point_area_btn p{
            width:100%;
        }
        .point_area_btn p:nth-of-type(n + 3){
            margin-top:30px;
        }
    }
    @media screen and (max-width: 768px) {
        .point_area_btn p{
            /* width:48.511%; */
            width:47.511%;
        }
        .point_area_btn p:nth-of-type(n + 3){
            /* margin-top:3.906vw; */
            margin-top:3.5vw;
        }
    }

.point_area_btn p a{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    max-width:320px;
    height:76px;
    margin: 0 auto;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 10px;
    font-size:2.4rem;
    font-weight:600;
    /* line-height:3.6rem; */
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
    @media screen and (max-width: 768px) {
        .point_area_btn p a{
            justify-content: flex-start;
            height:auto;
            /* font-size:4.1vw; */
            font-size:4vw;
            padding:4vw 0 4vw 2.604vw;
        }
    }

.point_area_btn p a:hover{
    background-color: #E6E6E6;
}
.point_area_btn p a::after{
    display: inline-block;
    content:"";
    width:33px;
    height:19px;
    background-image:url(../img/btn_arrow.png);
    background-repeat: no-repeat;
    position: absolute;
    right:20px;
    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:38px;
    height:38px;
    background-image:url(../img/tab_icon.png);
    background-repeat: no-repeat;
    position: absolute;
    right:20px;
    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;
        }
    }



/******************************
    problem-voice area
******************************/
.problem-voice_area{
    width:100%;
    padding:120px 0;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 768px) {
        .problem-voice_area{
            padding:15.625vw 0;
        }
    }

.in_problem-voice_area .problem_area{
    width:100%;
    max-width:688px;
    margin: 0 auto;
}
.in_problem-voice_area .problem_area .problem_box{
    display:flex;
    justify-content: space-between;
    width: 100%;
}
.in_problem-voice_area .problem_area .problem_box:first-of-type{
    margin-top:90px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box:first-of-type{
            margin-top:11.719vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box:nth-of-type(2){
    margin-top: 30px;
}


/******************** コメント部分 ********************/
.in_problem-voice_area .problem_area .problem_box .problem_box_text,
.in_problem-voice_area .problem_area .problem_box .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) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text,
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2{
            width:84.156%;
            font-size:4.167vw;
            line-height:6.641vw;
            padding:3.906vw 2.604vw;
        }
    }
    @media screen and (max-width: 530px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text,
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2{
            width:70%;/* 見栄え調整 */
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_text{
    height:117px;
    background-color:rgba(241,135,5,0.2);
    margin-right:29px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text{
            min-width: 117px;
            height: 100%;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_text2{
    color:#ffffff;
    height:auto;
    background-color:#F18705;
    margin-left:29px;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 img{
    width:100%;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color em{
    font-style: normal;
    color:#462619;
    font-weight:600;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color b{
    font-weight:normal;
}
/* 202311 add css */
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 .problem_pic:first-of-type{
    display: inline-block;
    margin-bottom: 20px;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text2 .problem_pic:last-of-type{
    display: inline-block;
    margin-bottom: 30px;
}

    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 .problem_pic:first-of-type{
            margin-bottom: 2.604vw;
        }
        .in_problem-voice_area .problem_area .problem_box .problem_box_text2 .problem_pic:last-of-type{
            margin-bottom: 3.906vw;
        }
    }

/* 202311 add css end*/

/******************** 続きを見る＆閉じる部分 ********************/
.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:32px;
    height:19px;
    background-image: url(../img/more_arrow.png);
    background-repeat: no-repeat;
    position: relative;
    top:3px;
    left:10px;
}
    @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:4.167vw;
            height:2.474vw;
            background-size: 4.167vw 2.474vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_text2 p.font-color .close_link a::after{
    transform: rotate(180deg);
    top:0;
}

/******************** コメント吹き出し部分 ********************/
.in_problem-voice_area .problem_area .problem_box .problem_box_text::after,
.in_problem-voice_area .problem_area .problem_box .problem_box_text2::after{
    content:"";
    display: inline-block;
    position: absolute;
    top:35px;
    width: 0;
    height: 0;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text::after{
    right:-20px;
    border-left: 20px solid rgba(241,135,5,0.2);
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_text2::after{
    left:-20px;
    border-right: 20px solid #F18705;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

/******************** 写真＆名前部分 ********************/
.in_problem-voice_area .problem_area .problem_box .problem_box_img{
    width:90%;
    max-width:100px;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
    line-height: 2.2rem;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_img{
            /* width:14.534%; */
            width:25%;/* 見栄え調整 */
            font-size:2.865vw;
            line-height:4vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_img img{
    width: 100%;
    margin-bottom: 12px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_img img{
            margin-bottom:1.953vw;
        }
    }

.in_problem-voice_area .problem_area .problem_box .problem_box_img span{
    display:block;
}
.in_problem-voice_area .problem_area .problem_box .problem_box_img span.font-small{
    /* font-size:1.8rem; */
    font-size:1.6rem;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_img span.font-small{
            font-size:2vw;
            line-height: 2.5vw;
            margin-top:0.4vw;
        }
    }
    @media screen and (max-width: 530px) {
        .in_problem-voice_area .problem_area .problem_box .problem_box_img span.font-small{
            font-size:2.865vw;
            line-height: 4vw;
            margin-top:0.4vw;
        }
    }


/******************** お悩み部分 ********************/
.in_problem-voice_area .problem_area .problem_list{
    width:100%;
    max-width:688px;
    padding:60px;
    margin:60px 0 120px;
    background-color:#FAFAFA;
    border:solid 2px #462619;
    border-radius: 20px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list{
            padding:7.813vw 4.427vw;
            margin:7.813vw 0 15.625vw;
        }
    }

.in_problem-voice_area .problem_area .problem_list p{
    color:#462619;
    font-size:3rem;
    font-weight:600;
    line-height: 4.8rem;
    text-align: center;
    margin-bottom:14px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list p{
            font-size:5.208vw;
            line-height:8.333vw;
            margin-bottom:6.51vw;
        }
    }

.in_problem-voice_area .problem_area .problem_list ul li{
    font-size:2rem;
    font-weight:400;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .problem_area .problem_list ul li{
            font-size:4.167vw;
            line-height:6.641vw;
            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.png);
    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;
        } 
    }



/******************** お客様の声部分 ********************/
.in_problem-voice_area .voice_area{
    display: flex;
    justify-content: space-between;
    width:100%;
    max-width: 1050px;
    margin-top:90px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area{
            display: block;
            margin-top:10.417vw;
        }
    }

.in_problem-voice_area .voice_area .voice_list{
    /* width:100%; */
    width:29.523%;
    max-width:310px;
    height:auto;    
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area .voice_list{
            width: 100%;
            max-width: 100%;
        }
        .in_problem-voice_area .voice_area .voice_list:nth-of-type(n +2){
            margin-top:11.719vw;
        }
    }

.in_problem-voice_area .voice_area .voice_list .voice_title{
    text-align: center;
    font-size:1.6rem;
    font-weight: 400;
    line-height: 3.2rem;
}
.in_problem-voice_area .voice_area .voice_list .voice_title .voice_img{
    max-width:76px;
    width: 50%;    
}
.in_problem-voice_area .voice_area .voice_list .voice_title .voice_img img{
    width: 76px;
    height:76px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area .voice_list .voice_title{
            font-size:3.125vw;
            line-height:4.688vw;
            text-align: left;
        }
        .in_problem-voice_area .voice_area .voice_list .voice_title p{
            display: flex;
            align-items: center;
        }
        .in_problem-voice_area .voice_area .voice_list .voice_title .voice_img{
            width:20.443vw;
            height: 20.443vw;
            max-width: 157px;
        }
        .in_problem-voice_area .voice_area .voice_list .voice_title .voice_img img{
            width: 100%;
            height: 100%;
        }
        .in_problem-voice_area .voice_area .voice_list .voice_title .img_middle{
            display: inline-block;
            margin-left: 3.906vw;
        }
    }

.in_problem-voice_area .voice_area .voice_list .voice_title span.voice_title_text{
    display: block;
    font-size:2.4rem;
    font-weight: 600;
    line-height: 3.6rem;
    margin-top:15px;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area .voice_list .voice_title span.voice_title_text{
            font-size:5.208vw;
            line-height:8.333vw;
            margin-top:0;
        }
    }

.in_problem-voice_area .voice_area .voice_list .voice_info{
    position: relative;
    padding:30px;
    margin-top:33px;
    background-color:#F8E3C9;
    border-radius: 20px;
    font-size:2rem;
    font-weight: 400;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area .voice_list .voice_info{
            font-size:4.167vw;
            line-height:6.641vw;
            margin-top: 7vw;
            padding:5.208vw;
        }
    }

.in_problem-voice_area .voice_area .voice_list .voice_info::after{
    content:"";
    display: inline-block;
    position: absolute;
    width: 0;
    height: 0;
    top:-20px;
    left:0;
    right: 0;
    margin: 0 auto;
    border-bottom: 20px solid #F8E3C9;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
}
    @media screen and (max-width: 768px) {
        .in_problem-voice_area .voice_area .voice_list .voice_info::after{
            top:-4.557vw;
            border-bottom: 5.208vw solid #F8E3C9;
            border-left: 3.255vw solid transparent;
            border-right: 3.255vw solid transparent;
        }
    }





/******************************
    middle btn area
******************************/
.middle_btn_area{
    width:100%;
    /* background-color:#462619; */
    padding:85px 0 75px;
}
    @media screen and (max-width: 768px) {
        .middle_btn_area{
            padding:8.095vw 0 7.143vw;
        }
    }

.middle_btn_area .middle_btn_text{ 
    color:#ffffff;
    font-size:1.9rem;
    font-weight: 400;
    line-height: 3rem;
    margin-left:18px;
}
    @media screen and (max-width: 1120px) {
        .middle_btn_area .middle_btn_text{ 
            font-size:1.71vw;
            margin-left:1.9vw;
        }
    }
    @media screen and (max-width: 768px) {
        .middle_btn_area .middle_btn_text{ 
            width:98%;
            font-size:3.2vw;
            margin-left:0;
            margin-bottom:1.302vw;
            text-align: center;
        }
    }

.middle_btn_area .middle_btn_img{
    display:flex;
    justify-content: space-around;
    width: 100%;
}
    @media screen and (max-width: 768px) {
        .middle_btn_area .middle_btn_img{
            display: block;
            text-align: center;
        }
    }

.middle_btn_area .middle_btn_img a{
    width: 100%;
    max-width:518px;
    height:auto;
}
    @media screen and (max-width: 768px) {
        .middle_btn_area .middle_btn_img a{
            max-width:100%;
        }
    }

.middle_btn_area .middle_btn_img a img{
    width: 100%;
}

/******************** middle_btn_area 210420～ START********************/
.middle_btn_area_210420 {
    /* padding:60px 0; */
    padding:0 0 120px;
}
    @media screen and (max-width: 768px) {
        .middle_btn_area_210420{
            padding:0 0 15.625vw;
        }
    }

.middle_btn_area_210420 .middle_btn_img {
	margin-bottom: 30px;
}
    @media screen and (max-width: 768px) {
        .middle_btn_area_210420 .middle_btn_img {
            margin-bottom: 3.9vw;
        }
    }

.middle_btn_area_210420 .kv_bottom_btn_area2 .price_icon {
	margin :0 auto;
}

    @media screen and (max-width: 768px) {
       .middle_btn_area_210420 .kv_bottom_btn_area2 a::after{
            width: 4.797vw;
            height:2.762vw;
            background-size: 4.797vw 2.762vw;
            right:2.427vw;
        }
    }

/******************** middle_btn_area 210420～ END********************/


/******************************
    price area
******************************/
.price_area{
    width:100%;
    padding:120px 0 120px;
    background-color:#EFEFEF;
}
    @media screen and (max-width: 768px) {
        .price_area{
            padding:15.625vw 0 14.974vw;
        }
    }

.price_selection{
    display: flex;
    width: 93.33%;
    max-width: 980px;
    margin: 90px auto 90px;
}
    @media screen and (max-width: 768px) {
        .price_selection{
            display: block;
            width: 100%;
            max-width: 688px;
            margin: 10.417vw 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%;
}

.price_box{
    width:93.33%;
    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:-4.688vw auto 0;
    padding-top:4.688vw;
}
    @media screen and (max-width: 1024px) {
        .price_box .member_box{
            margin:-98px auto 0;
            padding-top:98px;
        }
    }
    @media screen and (max-width: 768px) {
        .price_box .member_box{
            margin: -12.76vw auto 0;
            padding-top: 12.76vw;
        }
    }

.price_box .member_box:nth-of-type(n+2){
    /* margin-top: 40px; */
    margin-top: -1.786vw;/*headerの高さとページ内リンク分の調整の数値 「header-実際の余白=25pxをマイナスで指定する」1400pxで計算*/
}
    @media screen and (max-width: 768px) {
        .price_box .member_box:nth-of-type(n+2){
            margin-top: -7.031vw;/*「header高さ-実際の余白=54pxをマイナスで指定する」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: #DC0000;
}
.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 #DC0000;
}
.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;
}

.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;
        }
    }
    
/* 202310 add */

.price_box table .redbk{
    background: rgba(220,0,0,0.15);
}
.price_box table .orangebk{
    background: rgba(241,135,5,0.15);
}
.price_box .table01 th,.price_box .table01 td{
    border:2px solid #707070;
    padding: 10px 0 8px;
}

@media screen and (max-width: 768px) {
    .price_area_2310 .in_area{
        width: 100%;
        max-width: unset;
    }
    .price_area_2310 .price_box{
        max-width: unset;
    }
    .price_area_2310 .in_area h2,
    .price_area_2310 .price_box .member_box .member_desc,
    .price_area_2310 .table02_wrap,
    .price_area_2310 .table_bottom_text{
        width: 89.5833%;
    }
    .price_area_2310 .price_box .member_box .member_desc,
    .price_area_2310 .table02_wrap,
    .price_area_2310 .table_bottom_text{
        margin: auto;
    }
    .price_area_2310 .in_area .price_selection{
        width: 89.5833%;
    }
    
    .price_area_2310 .in_area .space_gray{
        width: 4.5%;
        display: table-cell;
        background: #EFEFEF;
        border-color:#EFEFEF;
    }
    .price_box .table01_wrap{
        width: 94.5%;
        overflow-x: auto;
        display: block;
        margin-left: auto;
    }
    .price_box .table01_wrap .table01{
        width: 116vw;
        overflow-x: scroll;
        display: block;
        word-break: keep-all;
         /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
    }
    /*Google Chrome、Safariへの対応*/
    .price_box .table01_wrap .table01::-webkit-scrollbar{
        display: none;
    }
    .price_box .table01 th{
        padding: 1vw 0;
    }
    .price_box .table01 td{
        padding: 2vw 0;
    }

    .price_box .table01 th,.price_box .table01 td{
        border:0.4vw solid #707070;
    }
}
.price_box table .table_w1_2310{
    width:19.6%;
}
.price_box table .table_w2_2310{
    width:23%;
}
.price_box table .table_w3_2310{
    width:23%;
}
.price_box table .table_w4{
    width:17.9%;
}
@media screen and (max-width: 768px) {
    .price_box table .table_w1_2310{
        width:35.156vw;
    }
    .price_box table .table_w2_2310{
        width:27.344vw;
    }
    .price_box table .table_w3_2310{
        width:27.083vw;
    }
    .price_box table .table_w4{
        width:22.396vw;
    }
}

.price_box .table02_wrap{
    background: #fff;
    border-radius: 10px;
    padding: 15px;
}
.price_box .table02_wrap .table02_note{
    font-size: 1.4rem;
    line-height: 1.7;
    padding-left: 1em;
    position: relative;
}
.price_box .table02_wrap .table02_note:before{
    content: "※";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.price_box table.table02{
    margin-top: 0;
}
.price_box table.table02 th{
    background: #FFFFFF;
    color: #000;
    font-weight: normal;
    line-height: 2.2rem;
}
.price_box table.table02 tr td:first-of-type{
    text-align: left;
    padding-left: 10px;
}
@media screen and (max-width: 768px) {
    .price_box .table02_wrap .table02_note{
        font-size: 3.125vw;
    }
    .price_box .table02_wrap{
        border-radius: 1vw;
        padding: 1.823vw;
    }
    .price_box table.table02 tr td:first-of-type{
        padding-left: 2vw;
    }
    .price_box table.table02 tr th,.price_box table.table02 tr td{
        font-size: 3.3vw;
        padding: 1.2vw 0 0.8vw;
        line-height: 1.3;
    }
    .price_box table.table02 tr td{
        padding: 1vw 0 0.8vw;
    }
}

.price_box table.table02 .table02_w1{
    width: 30%;
}
.price_box table.table02 .table02_w2{
    width: 24%;
}
.price_box table.table02 .table02_w3{
    width: 25%;
}
.price_box table.table02 .table02_w4{
    width: 21%;
}

@media screen and (max-width: 768px) {
    .price_box table.table02 .table02_w1{
        width: 35%;
    }
    .price_box table.table02 .table02_w2{
        width: 21%;
    }
    .price_box table.table02 .table02_w3{
        width: 23%;
    }
    .price_box table.table02 .table02_w3 span{
        font-size: 2.79vw;
    }
}

.table02_ttl{
    font-size: 1.6rem;
    margin: 15px 0 11px;
}
@media screen and (max-width: 768px) {
    .table02_ttl{
        font-size: 3.385vw;
        line-height: 1.4;
        width: 89.5833%;
        margin: 4vw auto 2vw;
    }
}
.table02_ttl span{
    font-weight: bold;
}
.table02_catch{
    background: #dc0000;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.6rem;
    height: 50px;
    text-align: center;
    margin: 10px 0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.table02_catch .catch_big{
    font-size: 2.3rem;
    font-weight: bold;
    vertical-align: middle;
    line-height: 2.3rem;
}
.table02_catch .catch_tax{
    font-weight: normal;
    font-size: 1.6rem;
}
.ltr_space{
    letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
    .table02_catch{
        line-height: 1.3;
        height: 14.844vw;
        display: block;
        padding: 2.1vw 0 1.8vw;
        font-size: 3.385vw;
    }
    .table02_catch .catch_big,
    .table02_catch .catch_big_sp{
        font-size: 4.9vw;
        vertical-align: baseline;
    }
    .table02_catch .catch_tax{
        font-size: 3.385vw;
    }
    
}

#link_price_r .table02_catch{
    background: #F18705;
}
/* 202310 add end*/


/* 202410 add */
.price_box .table01_2410 td{
    padding: 10px 0 5px;
}
.price_box .table01_2410 .table_font1{
    padding: 19px 5px 12px;
}
.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;
}
@media screen and (max-width: 768px) {
    .price_box .table01_2410 .table_font1{
        padding: 3.5vw 0 2vw;
    }
    .price_box .table01_2410 td{
        padding: 3.5vw 0 2vw;
    }
    .price_box .table01_2410 .table_font1{
        line-height: 1;
    }
    .price_box .table01_2410 .table_font1 span{
        margin-top: 0;
        line-height: 1.5;
    }
    .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;
    }
}

/* 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;
}



/******************************
    opening hours
******************************/
.opening_hours{
    width:100%;
    padding:120px 0;
}
    @media screen and (max-width: 768px) {
        .opening_hours{
            padding:15.625vw 0;
        }
    }

.opening_hours h2{
    margin-bottom: 90px;
}
    @media screen and (max-width: 768px) {
        .opening_hours h2{
            margin-bottom: 10.417vw;
        }
    }

.opening_hours p{
    font-size: 2.2rem;
    line-height: 3.3rem;
    margin: 0 auto 15px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .opening_hours p{
            font-size: 3.6vw;
            line-height: 1.5;
            margin-bottom: 3.906vw;
        }
    }

.opening_hours p span{
    font-size: 1.6rem;
    display: inline-block;
    margin-left: 18px;
}
    @media screen and (max-width: 768px) {
        .opening_hours p span{
            display: block;
            font-size: 3.125vw;
            margin: 1.302vw 0 0;
        }
    }


/******************************
    join area
******************************/
.join_area{
    width:100%;
    padding:120px 0;
    background-color:#462619;
}
    @media screen and (max-width: 768px) {
        .join_area{
            padding:11.719vw 0 7.813vw;
        }
    }

.in_join_area .flow-list:first-of-type{
    margin-top:90px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list:first-of-type{
            margin-top:11.719vw;
        }
    }

.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:#FAFAFA;
    /* border:solid 3px #333333; */
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_title{
            padding:6.901vw 5.208vw 5.599vw 6.51vw;
        }
    }

.in_join_area .flow-list .flow_title p{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width:688px;
    margin: 0 auto;
    font-size:3.8rem;
    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;
        }
    }

.in_join_area .flow-list .flow_title p span.fc{
    color:#F18705;
}


.in_join_area .flow-list .f_web p::before,
.in_join_area .flow-list .f_store p::before{
    display: inline-block;
    content:"";
    width:100px;
    height:100px;
    background-repeat: no-repeat;
    background-size:100px 100px;
    margin-right: 30px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .f_web p::before,
        .in_join_area .flow-list .f_store p::before{
            margin-right:2.604vw;
            width:13.021vw;
            height:13.021vw;
            background-size: 13.021vw 13.021vw;
        }
    }

.in_join_area .flow-list .f_web p::before{
    background-image: url(../img/phone_icon.png);
}
.in_join_area .flow-list .f_store p::before{
    background-image: url(../img/store_icon.png);
}

.in_join_area .flow-list .flow_title p::after{
    display: inline-block;
    content:"";
    width:47px;
    height:26px;
    background-image: url(../img/flow_arrow.png);
    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:10.156vw;
            height:5.469vw;
            background-image: url(../img/flow_arrow@2x.png);
            background-size:10.156vw 5.469vw;
        }
    }

.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{
    padding:90px 80px;
    background-color:#F3F0EA;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box{
            padding:7.813vw 3.646vw;
        }
    }

.in_join_area .flow-list .flow_box dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl{
            display:block;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box{
    width:46.629%;
    max-width: 415px;
    height: auto;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box{
            width:100%;
            max-width:100%;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box:nth-child(n+3){
    margin-top: 90px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box:nth-child(n+3){
            margin-top: 0px;
        }
        .in_join_area .flow-list .flow_box dl .step_box:not(:last-of-type){
            margin-bottom: 11.719vw;
        }  
    }

.in_join_area .flow-list .flow_box dl .step_box dd img{
    width:100%;
}

.in_join_area .flow-list .flow_box dl .step_box .step_tel{
    width: 100%;
    max-width:525px;
    padding:6px 5px 8px;
    background-color: #ffffff;
    border-radius: 10px;
    border: solid 2px #707070;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
    text-align: center;
    /* font-size: 2rem; */
    font-size:1.89215vmin;
    font-weight: 400;
    line-height: 3.2rem;
}
.in_join_area .flow-list .flow_box dl .step_box .step_tel span{
    display: inline-block;
    margin-top:7px;
    /* font-size: 3.8rem; */
    font-size: 3.65vmin;
    font-weight: 600;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .step_tel{
            font-size:4.167vw;
            line-height:6.641vw;
            max-width: 100%;
            padding:3.125vw 4.427vw;
            margin-top:6.51vw;
        }
        .in_join_area .flow-list .flow_box dl .step_box .step_tel span{
            font-size:8.073vw;
            line-height:9.375vw;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box .step_time{
    margin:20px 0;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .step_time{
            font-size:3.94vw;/*調整*/
        }
    }

.in_join_area .flow-list .flow_box dl .step_box .step_time .step_time_title{
    display: block;
    text-align: center;
}
.in_join_area .flow-list .flow_box dl .step_box .step_mail a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 415px;
    max-height: 76px;
    /* padding: 19px 21px; */
    padding:19px 0;
    color: #333333;
    /* font-size: 2rem; */
    font-size: 1.89215vmin;
    font-weight: 400;
    background-color: #FFFFFF;
    border: solid 2px #8C8C8C;
    border-radius: 10px;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .step_mail a{
            max-width: 100%;
            max-height: 100%;
            padding:2.604vw 0;
            font-size:4.167vw;
            line-height: 6.641vw;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box .step_mail a:hover{
    background-color: #E6E6E6;
}
.in_join_area .flow-list .flow_box dl .step_box .step_mail a::before{
    display: block;
    content: "";
    width: 44px;
    height: 34px;
    background-image: url(../img/mail_icon@2x.png);
    background-size: 44px 34px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .step_mail a::before{
            width: 9.896vw;
            height: 7.682vw;
            background-size: 9.896vw 7.682vw;
        }
    }


    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .flow_lesson{
            margin-top: 7.813vw;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box .flow_lesson span{
    display: block;
    /* font-size: 2rem; */
    /* font-size:1.89215vmin; */
    font-size:1.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 12px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl .step_box .flow_lesson span{
            font-size: 4.167vw;
        }
    }

.in_join_area .flow-list .flow_box dl .step_box .none_mt{
    margin-top:0;
}
.in_join_area .flow-list .flow_box dl dt{
    display: flex;
    align-items: center;
    font-size:3rem;
    /* font-size: 2.83822vmin; */
    font-weight: 600;
    line-height: 4.2rem;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dt{
            font-size:5vw;
            line-height:8.333vw;
        }
    }

.in_join_area .flow-list .flow_box dl dt span.step-img{
    display: inline-block;
    width:100%;
    max-width:80px;
    margin-right: 20px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dt span.step-img{
            width:21.3815%;
            margin-right: 2.604vw;
        }
    }

.in_join_area .flow-list .flow_box dl dt span.step-title{
    display: inline-block;
    width:75.9%;
    max-width:315px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dt span.step-title{
            width:100%;
            max-width: 100%;
        }
    }

.in_join_area .flow-list .flow_box dl dt img{
    width: 100%;
}


.in_join_area .flow-list .flow_box dl dd{
    margin-top:32px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dd{
            margin-top:2.604vw;
        } 
    }

.in_join_area .flow-list .flow_box dl dd p{
    margin-top:30px;
    font-size:2rem;
    font-weight: 400;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dd p{
            margin-top:3.906vw;
            font-size:4.167vw;
            line-height: 6.641vw;
        }
    }

.in_join_area .flow-list .flow_box dl dd.procedure{
    width:100%;
    padding:30px;
    background-color:#FFFFFF;
    border:solid 1px #707070;
    border-radius: 20px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dd.procedure{
            padding:7.813vw 3.906vw;
            font-size:4vw;
            line-height:6.641vw;
        }
        .in_join_area .flow-list .flow_box dl dd.procedure p{
            font-size:4vw;
            line-height:6.641vw;
        }
    }

.in_join_area .flow-list .flow_box dl dd.procedure .procedure_title{
    display: block;
    margin-bottom:25px;
    font-size:3rem;
    font-weight: 400;
    line-height: 4.8rem;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dd.procedure .procedure_title{
            margin-bottom:5.208vw;
            font-size:5.208vw;
            line-height: 8.333vw;
        }
    }
    
.in_join_area .flow-list .flow_box dl dd.procedure .procedure_note{
    display: block;
    margin-top:26px;
    font-size:1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
}
    @media screen and (max-width: 768px) {
        .in_join_area .flow-list .flow_box dl dd.procedure .procedure_note{
            margin-top: 1.693vw;
            font-size: 3.125vw;
            line-height: 4.688vw;
        }
    }



/******************** WEB入会はこちら部分 ********************/
.in_join_area .web-join_box{
    width: 100%;
    margin-top:90px;
}
    @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:58px;
    height:59px;
    margin: 50px auto 0;
    background-image: url(../img/double_arrow@2x.png);
    background-size: 58px 59px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box::after{
            width:7.552vw;
            height:7.682vw;
            background-size:7.552vw 7.682vw;
            margin: 6.12vw auto 0;
        }
    }

.in_join_area .web-join_box p{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    /* max-width:408px; */
    max-width: 415px;
    margin:0 auto;
    color:#FAFAFA;
    font-size:4rem;
    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:48px;
    height:46px;
    background-image: url(../img/join_icon@2x.png);
    background-size: 48px 46px;
    background-repeat: no-repeat;
    margin-right: 20px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .web-join_box p::before{
            width:6.25vw;
            height:5.99vw;
            background-size: 6.25vw 5.99vw;
            margin-right:2.604vw;
        }
    }

.in_join_area .join_rules{
    margin:60px 0;
    color:#FAFAFA;
    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:3rem;
    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:39px 0 50px;
}
    @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:60px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_rules p.check_text{
            text-align: left;
            font-size: 4vw;
            line-height: 6.641vw;
            margin-bottom: 7.813vw;
        }
    }


/******************** チェックボックス　同意する部分 ********************/
.join_rules .c_input{
    display: none;
}
.join_rules .c_parts{
    position: relative;
    padding-top: 5px;
    padding-left: 70px;
    font-size: 3rem;
    font-weight: 600;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_parts{
            font-size: 5.208vw;
            padding-top: 0.651vw;
            padding-left: 11.719vw;
        }
    }

.join_rules .c_parts::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border: 2px solid #FAFAFA;
    border-radius: 10px;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_parts::before{
            width: 9.115vw;
            height: 9.115vw;
            border: 0.521vw solid #FAFAFA;
        }
    }

.join_rules .c_input:checked + .c_parts::after{
    content: "";
    display: block;
    position: absolute;
    top: 14px;
    left: 10px;
    width: 31px;
    height: 21px;
    background-image: url(../img/check.png);
    background-size: 31px 21px;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 768px) {
        .join_rules .c_input:checked + .c_parts::after{
            top: 2.734vw;
            left: 1.9vw;
            width: 5.599vw;
            height: 3.646vw;
            background-image: url(../img/check@2x.png);
            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%;
    max-width: 512px;
    padding:41px 16px 41px 35px;
    margin:0 auto;
    font-size:3.2rem;
    font-weight: 600;
    background-color:#DC0000;
    border-radius: 16px;
    box-shadow: 6px 6px 6px rgba(0,0,0,0.3);
    position: relative;
    pointer-events:none;
}
    @media screen and (max-width: 768px) {
        .in_join_area  .join_rules #js-check_btn a{
            max-width:688px;
            font-size: 6.25vw;
            padding:6.25vw 0 6.25vw 0;
        }
    }

.in_join_area  .join_rules #js-check_btn a::before{
    content: "";
    display: block;
    width:100%;
    height:100%;
    border-radius: 16px;
    background-color:#333333;
    opacity: 0.5;
    position: absolute;
    top:0;
    left:0;
}
.in_join_area  .join_rules #js-check_btn.check-true a{
    pointer-events:auto;  
}
.in_join_area  .join_rules #js-check_btn.check-true a::before{
    display: none;
}
.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.png);
    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:3.516vw;
            width:4.167vw;
            height:7.552vw;
            background-size:4.167vw 7.552vw;
        }
    }


/******************** かんたんWEB入会ボタンの下テキスト部分 ********************/
.in_join_area .join_btn_box{
    width: 100%;
    max-width: 688px;
    margin:90px auto 0;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_btn_box{
            margin:0 auto;
        }
    }

.in_join_area .join_btn_box p.join_btn_box_text{
    color:#FAFAFA;
    font-size:2rem;
    font-weight: 400;
    text-align: center;
    margin-bottom:30px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_btn_box p.join_btn_box_text{
            font-size:4.167vw;
            line-height: 6.641vw;
            margin-bottom:3.906vw;
        }  
    }


/******************** メールボタン・お問い合わせボタン部分 ********************/
.in_join_area .in_join_btn_box{
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 688px;
    margin: 0 auto;
}

.in_join_area .in_join_btn_box p{
    width:100%;
    max-width: 320px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .in_join_btn_box p{
            width: 48%;
        }
    }

.in_join_area .in_join_btn_box p a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 320px;
    max-height: 76px;
    padding: 19px 21px;
    color: #333333;
    font-size: 2rem;
    font-weight: 400;
    background-color: #FFFFFF;
    border: solid 2px #462619;
    border-radius: 10px;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
    @media screen and (max-width: 768px) {
        .in_join_area .in_join_btn_box 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 */
        .in_join_area .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_area .in_join_btn_box p.join_tel_btn a{
            padding:0;
        }
    }

.in_join_area .in_join_btn_box p a:hover{
    background-color:#E6E6E6;
}
.in_join_area .in_join_btn_box p.join_mail_btn a::before{
    display: block;
    content: "";
    width: 44px;
    height: 34px;
    background-image: url(../img/mail_icon@2x.png);
    background-size: 44px 34px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .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_area .in_join_btn_box p.join_tel_btn a::before{
    display: block;
    content: "";
    width: 34px;
    height: 39px;
    background-image: url(../img/tel_icon@2x.png);
    background-size: 34px 39px;
    background-repeat: no-repeat;
    position: relative;
    left: 0;
    margin-right: 10px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .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_area .in_join_btn_box p.join_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) {
        .in_join_area .in_join_btn_box p.join_tel_btn a .telfont{
            position: static;
            text-align: left;
            font-size: 4.167vw;
            line-height: 6.641vw;
        }
    }

.in_join_area .in_join_btn_box p.join_tel_btn a .telfont span{
    font-size:2.4rem;
    font-weight: 600;
}

.in_join_area .in_join_btn_box p.join_mail_btn .btn_bottom_text,
.in_join_area .in_join_btn_box p.join_tel_btn .btn_bottom_text{
    display: inline-block;
    width: 100%;
    text-align: center;
    color:#ffffff;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.6rem;
    margin-top:13px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .in_join_btn_box p.join_mail_btn .btn_bottom_text,
        .in_join_area .in_join_btn_box p.join_tel_btn .btn_bottom_text{
            font-size:3.125vw;
            line-height:4.688vw;
            margin-top:3vw;
        }
    }


/******************** レッスン体験バナー枠 ********************/
.in_join_area .join_lesson_area{
    width:100%;
    /* background-color: #F18705; */
    /* padding:57px 0 44px; */
    margin-top:55px;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area{
            margin-top:10.417vw;
            /* padding:5.208vw 0 3.255vw; */
            /* padding:5.208vw 0 7.161vw; */
        }
    }

.in_join_area .join_lesson_area .join_lesson_area_text{
    font-size: 2rem;
    color:#ffffff;
    font-weight: 600;
    margin-bottom:16px;
}
    @media screen and (max-width: 768px) {
        .in_join_area .join_lesson_area .join_lesson_area_text{
            font-size:4.167vw;
            margin-bottom:3.255vw;
        }
    }

.in_join_area .join_lesson_area .join_lesson_area_img{
    width: 100%;
    max-width: 518px;
    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%;
}


/******************** ポップアップ規約 ********************/
.join_rules .rules_link_text{
    width: 88.372%;
    max-width: 1050px;
    margin: 0 auto;
    position: relative;
    top: 80px;
    color:#F18705;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    text-decoration: underline;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules_link_text{
            max-width:688px;
            font-size: 4.167vw;
            top:7.813vw;
        }
    }

.join_rules .rules_link_text span{
    cursor: pointer;
}

.join_rules .rules-sec_style{
    width:88.372%;
    max-width:1050px;
    margin: 0 auto;
    color:#333333;
    /* padding:250px 0 120px; */
    padding:150px 0 60px;
    text-align: left;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style{
            /* padding:29.948vw 0 7.813vw; */
            padding:19.531vw 0 7.813vw;
        }
    }

.join_rules .rules-sec_style .modal-content{
    position: relative;
    width:100%;
    height:75.6873vh;
    overflow-y: scroll;
    border: solid 1px #333333;
    padding:40px;
    background-color:#ffffff;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .modal-content{
            height:65.104vh;
            padding:5.208vw;
        }
    }

.join_rules .rules-sec_style .close-rules-sec{
    position: fixed;
    top:20px;
    right: 30px;
    cursor: pointer;
    display: none;
    z-index: 10;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .close-rules-sec{
            top:10px;
            right:3vw;
        }
    }

.join_rules .rules-sec_style .close-rules-sec p{
    display: flex;
    justify-content: center;
    align-items: center;
    width:130px;
    height:53px;
    text-align: center;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 4.8rem;
    background-color: #FFFFFF;
    border-radius: 35px;
    border: solid 2px #462619;
    box-shadow: 3px 3px 3px rgba(4,4,4,0.16);
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .close-rules-sec p{
            width:22.396vw;
            max-width:172px;
            height: 100%;
            line-height: 0;
            padding:2.474vw 0;
            font-size: 3.385vw;
        }
    }

.join_rules .rules-sec_style .close-rules-sec p::before{
    display: inline-block;
    content: "";
    width:21px;
    height:21px;
    background-image: url(../img/close@2x.png);
    background-size: 21px 21px;
    margin-right: 10px;
}
@media screen and (max-width: 768px) {
    .join_rules .rules-sec_style .close-rules-sec p::before{
        width:2.734vw;
        height:2.734vw;
        background-size: 2.734vw 2.734vw;
    }
}

.join_rules .rules-sec_style .rules_title1{
    text-align: center;
    font-size: 3rem;
    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: 2.6rem;
}
    @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_box2{
    max-width:700px;
    margin:0 auto;
}
.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%;
    max-width:598px;
    border:solid 1px #707070;
    margin-top:8px;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1 dd table{
            max-width: 100%;
        }
    }

.join_rules .rules-sec_style .rules_box1 dd table th,
.join_rules .rules-sec_style .rules_box1 dd table td{
    border:solid 1px #707070;
    text-align: center;
}
.join_rules .rules-sec_style .rules_box1 dd table th{
    width: 200px;
    font-weight: normal;
}
    @media screen and (max-width: 768px) {
        .join_rules .rules-sec_style .rules_box1 dd table th{
            width: auto;
        }
    }

.join_rules .rules-sec_style .rules_box2 a{
    color:#F18705;
}
.join_rules .rules-sec_style .rules_box2 a.a_line{
    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_store_name{
    width: 100%;
    max-width: 700px;
    text-align: right;
    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;
        }
    }





/******************************
    qa area
******************************/
.qa_area{
    width:100%;
    padding:120px 0;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 768px) {
        .qa_area{
            padding:15.625vw 0 0;
        }
    }

.qa_area dl{
    width:100%;
    margin-top:90px;
}
    @media screen and (max-width: 768px) {
        .qa_area dl{
            margin-top:11.719vw;
        }
    }

.qa_area dl div{
    /* padding:33px 75px 22px 60px; */
    padding:28px 75px 22px 60px;
    border:solid 1px #707070;
    background-color: #FAFAFA;
}
    @media screen and (max-width: 768px) {
        .qa_area dl div{
            padding:3.776vw 11.458vw 3.776vw 5.208vw;
        }
    }

.qa_area dl dt,
.qa_area dl dd{
    font-size:2rem;
    font-weight: 400;
    line-height: 3.2rem;
    padding-left: 4rem;
    text-indent: -2rem;
}
    @media screen and (max-width: 768px) {
        .qa_area dl dt,
        .qa_area dl dd{
            font-size:4.167vw;
            line-height:6.641vw;
            padding-left: 6.5vw;
            text-indent: -3vw;
        }
    }

.qa_area dl dt{
    position: relative;
    cursor:pointer ;
}
.qa_area dl dd{
    margin-top:31px;
}
.qa_area dl dt::before,
.qa_area dl dt::after{
  content: '';
  display: block;
  width: 35px;
  height: 5px;
  background: #707070;
  position: absolute;
  right: -55px;
  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: -8.8vw;
            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 .qa_btn{
    display: flex;
    justify-content: space-between;
    width:100%;
    max-width: 688px;
    margin:90px auto 0;
}
    @media screen and (max-width: 768px) {
        .qa_area .qa_btn{
            margin:11.719vw auto 0;
        }
    }

.qa_area .qa_btn p{
    width:100%;
    max-width:320px;
}
    @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%;
    max-width: 320px;
    max-height: 76px;
    padding: 19px 21px;
    color: #333333;
    font-size: 2rem;
    font-weight: 400;
    background-color: #FFFFFF;
    border: solid 2px #462619;
    border-radius: 10px;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.5);
}
    @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{
    background-color:#E6E6E6;
}
.qa_area .qa_btn p.qa_mail_btn a::before{
    display: block;
    content: "";
    width: 44px;
    height: 34px;
    background-image: url(../img/mail_icon@2x.png);
    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: 34px;
    height: 39px;
    background-image: url(../img/tel_icon@2x.png);
    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;
        }
    }





/******************************
    blog area
******************************/
.blog_area{
    width:100%;
    padding:0 0 120px;
}
    @media screen and (max-width: 768px) {
        .blog_area{
            padding:15.625vw 0 0;
        }
    }

.blog_area .blog_box{
    display: flex;
    justify-content: space-between;
    width: 93.33%;
    max-width: 980px;
    margin: 90px auto 0;
    flex-wrap: wrap;
}
    @media screen and (max-width: 768px) {
        .blog_area .blog_box{
            display: block;
            width: 100%;
            max-width: 688px;
            margin: 10.417vw 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:#F18705;
   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:0 0 120px;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 768px) {
        .access_area{
            padding:15.625vw 0;
        }
    }

.access_area .gmap{
    width:100%;
    max-width:688px;
    height:477px;
    margin:90px 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%;
    max-width:688px;
    height:477px;
}
    @media screen and (max-width: 768px) {
        .access_area .gmap iframe{
            height:58.203vw;
        }
    }

.access_area .access_info{
    width:100%;
    max-width:688px;
    margin:40px auto 60px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_info{
            margin:7.813vw 0 11.719vw;
        }
    }

.access_area .access_info p{
    font-size: 2rem;
    font-weight: 400;
    line-height: 3.2rem;
}
    @media screen and (max-width: 768px) {
        .access_area .access_info p{
            font-size:4.167vw;
            line-height:6.641vw;
        }
    }

.access_area .access_route{
    width:100%;
    max-width:688px;
    margin: 0 auto;
}
.access_area .access_route_list{
    width:100%;
    max-width:688px;
    background-color:#FAFAFA;
    border:solid 2px #F18705;
    padding:0 40px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list{
            padding:0 3.906vw;
        }
    }

.access_area .access_route_list:first-of-type{
    margin-bottom:30px;
}
.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:#F18705;
    padding: 30px 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:8.333vw;
            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.png);
    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.png);
    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:31px;
    height:18px;
    background-image: url(../img/route_arrow.png);
    background-repeat: no-repeat;
    position: absolute;
    top:42%;
    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:6.055vw;
            height:3.385vw;
            background-image: url(../img/route_arrow@2x.png);
            background-size:6.055vw 3.385vw;
        }
    }

.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:2rem;
    font-weight: 400;
    line-height: 3.2rem;
    padding-bottom:40px;
}
    @media screen and (max-width: 768px) {
        .access_area .access_route_list .route_info1,
        .access_area .access_route_list .route_info2{
            font-size:4.167vw;
            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:#F18705;
}
.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;
        }
    }

/******************************
    sns area
******************************/
.sns_area{
    width:100%;
    padding:0 0 120px;
    /* background-color:#FAFAFA; */
}
    @media screen and (max-width: 768px) {
        .sns_area {
            padding:0 0 19.531vw;
        }
    }

.sns_area .sns_area_info {
	font-size: 2.2rem;
	line-height: 1.6;
	width: 100%;
	max-width: 688px;
	margin: 90px auto 0;
}
    @media screen and (max-width: 768px) {
        .sns_area .sns_area_info {
            font-size:4.167vw;
            line-height:6.641vw;
			margin: 11.7vw auto 0;
        }
    }

.sns_area .sns_btn {
	display: flex;
	justify-content: space-between;
	width: 100%;
    /* max-width: 402px; */
    max-width:270px;
	margin: 90px auto 0;
}
    @media screen and (max-width: 768px) {
        .sns_area .sns_btn {
            /* width: 77.7%; */
            max-width: 46.875vw;
            width: 100%;
			margin: 7.8vw 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;
}



/******************************
    体験レッスンボタン
******************************/
.free_btn_are{
    background-color: #DC0000;
    padding: 100px 0 40px;
}
    @media screen and (max-width: 768px) {
        .free_btn_are{
            padding: 10.417vw 0 2.604vw;
        } 
    }

.free_btn {
    position: relative;
    width:100%;
    max-width: 475px;/*ボタンの幅*/
    margin: 0 auto;
    background-color: #F18705;/*ボタンの色*/
    box-shadow: 0 4px 0 0 rgba(113, 62, 0, 1);/*影の色(rgbaの値を変更)*/
    border-radius: 10px;
    text-align: center;
	overflow: hidden;
    transition: 0.2s;
    z-index: 1;
}
    @media screen and (max-width: 768px) {
        .free_btn {
            width: 89.6%;
            max-width: 100%;
            box-shadow: 0 1.172vw 0 0 rgba(113, 62, 0, 1);/*影の色(rgbaの値を変更)*/
            border-radius: 1.563vw;
        }
        .free_btn_w92{
            width: 92%;
            margin: 0 auto 0;
        }
    }

.free_btn_mb1{
    margin-bottom: 50px;
}
    @media screen and (max-width: 768px) {
        .free_btn_mb1{
            margin-bottom: 7.813vw;
        }  
    }


.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(113, 62, 0, 1);/*影の色(rgbaの値を変更)*/
        }
    }


.free_btn_c2{
    background-color: #DC0000;/*ボタンの色*/
    box-shadow: 0 4px 0 0 rgba(118, 2, 2, 1);/*影の色(rgbaの値を変更)*/
}
    @media screen and (max-width: 768px) {
        .free_btn_c2{
            box-shadow: 0 1.172vw 0 0 rgba(118, 2, 2, 1);/*影の色(rgbaの値を変更)*/
        }
        .free_btn_c2:hover{
            box-shadow: 0 1.172vw 0 0 rgba(118, 2, 2, 1);/*影の色(rgbaの値を変更)*/
        }
    }
    

.free_btn::before,
.h_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,
        .h_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; }
}

.h_free_btn::before{
    z-index: 1;
}

.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_w92 a{
            font-size: 4.688vw;
        }
    }

.free_btn a::before{
	content: '';
	display: block;
	position: absolute;
	top:0;
	bottom:0;
	left:30px;
	margin: auto 0;
	background-image: url(../img/btn_icon.png);
	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_w92 a::before{
            left: 3.906vw;
        }
    }

.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.png);
	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.png);
            background-size: 3.255vw 3.255vw;
        }
        .free_btn_w92 a::after{
            right: 3.906vw;
        }
    }

.free_btn a span{
    display: block;
    margin-bottom:5px;
	font-size: 16px;
	font-weight: 500;
	color:#FFEB00;
}
    @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;
        }
    }

.free_btn_c2 a span{
    color:#FDED00;
}


/* 202309addcss */
.free_btn_mt1{
    margin-top:50px;
}
    @media screen and (max-width: 768px) {
        .free_btn_mt1{
            margin-bottom: 7.813vw;
        }  
    }



/********** 店頭での入会までの流れの中にあるボタンサイズ設定（ベース値は[.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; */
            left:2vw;
            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; */
            right: 2vw;
            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;
        }
    }


/* 2410追加YouTube動画 */

.youtube_area{
    background: #EFEFEF;
    padding-bottom: 120px;
    margin: 70px 0 120px;
}
@media screen and (max-width: 768px) {
    .youtube_area{
        padding-bottom: 15.625vw;
        margin: 15.625vw 0 0;
    }
}
.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%;
        max-width: 688px;
        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;
    }
}