@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Copse&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
html{font-family:'游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;color: #333333;background: #f9f7f2;}
@media all and (-ms-high-contrast:none){html{font-family:'游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;}}

body{font-family:'游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;color: #333333;background: #f9f7f2;opacity: 0;animation: bodyAppear .3s .3s forwards;}
@keyframes bodyAppear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
body a{transition:0.2s;color: #333333;}
body a:hover{text-decoration: none;color: #333333;}
.container {padding-right: 0px!important;padding-left: 0px!important;}
.row {margin-right: 0px!important;margin-left: 0px!important;}
.row.ft_sns_row {margin: 0 auto 0 auto!important;}
.row.ft_row {margin: 0 auto 0 auto!important;}
p{line-height: 1.8;margin-bottom: 0;}
.tategaki{writing-mode: vertical-rl;-ms-writing-mode: tb-rl;-webkit-writing-mode:vertical-rl;}
.font-en {font-family: "Marcellus", serif;}
.font-jp {font-family: "Shippori Mincho", serif;}
.font-num {font-family: "Copse", serif;}

/*共通
----------------------------------------------------------------*/
.flex-btw {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap; -webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
.flex-nml {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.flex-cen {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.item-cen {align-items: center;}
.flex_left {width: 40%;}
.flex_right {width: 55%;}
.flex_img {width: 47%;}
.flex_txt {width: 45%;text-align: justify;}
.flex_item {width: 48%;}

.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt50 {margin-top: 50px;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.mt130 {margin-top: 130px;}

.w100 {max-width: 100%;min-height: auto!important;}

.inner {max-width: 1280px;margin: 0 auto;padding: 0 2%;position: relative;}
.maxinner {max-width: 1400px;margin: 0 auto;padding: 0 2%;position: relative;}

.ttl01 {font-size: 30px;letter-spacing: 0.05em;font-weight: bold;padding-bottom: 15px;margin-bottom: 15px;position: relative;text-transform: uppercase;}
.ttl01::after {position: absolute;content: " ";border-bottom: solid 1px #222;bottom: 0;width: 15%;display: block;left: 0;}
.ttl01_sub {font-size: 24px;letter-spacing: 0.05em;}
.ttl-02 {font-size: 30px;line-height: 2.5;letter-spacing: 0.05em;}
.txt {line-height: 1.8;}

.sp{display: none!important;}
.sp414{display: none!important;}
.sp375{display: none!important;}
.pc{display: block!important;}
.pc414{display: block!important;}
.pc375{display: block!important;}

.btn-ctp {position: absolute;content: '';top:71%;right: 50%;transform: translate(-50%);z-index: 100;}
.btn-ctp a {display: inline-block;}
.btn-ctp a img {max-width: 35px;width: 100%;height: 150px;}
.btn-pagetop a {display: inline-block;}

.btn_flex {column-gap: 5%;row-gap: 20px;justify-content: flex-start;}
.btn01 {display: block;}
.btn01 a {width: 100%;max-width: 290px;background: url(../images/btn_arw.png) no-repeat center right 15% / 51px ,transparent;display: block;padding: 15px 23px;cursor: pointer;transition: .5s;text-align: left;margin: 50px auto 0;}
.btn01 a:hover {background: url(../images/btn_arw.png) no-repeat center right 10% / 51px ,transparent;}
.btn01 a:hover .btn_txt {color: #f39800;}
.btn_txt {font-size: 16px;font-weight: bold;} 

@media screen and (max-width: 1024px) {
    .ttl-02 {font-size: 24px;}
}
@media screen and (max-width: 768px) {
    .mt30 {margin-top: 20px;}
    .mt50 {margin-top: 30px;}
    .mt80 {margin-top: 40px;}
    .mt100 {margin-top: 50px;}
    .mt130 {margin-top: 80px;}
    .sp{display: block!important;}
    .pc{display: none!important;}
    .flex_img {width: 100%;margin-bottom: 35px;}
    .flex_txt {width: 100%;}
    .ttl01 {font-size: 20px;letter-spacing: 0.05em;font-weight: bold;padding-bottom: 10px;margin-bottom: 10px;position: relative;text-transform: uppercase;}
    .ttl01::after {position: absolute;content: " ";border-bottom: solid 1px #222;bottom: 0;width: 15%;display: block;left: 0;}
    .ttl01_sub {font-size: 18px;}
}
@media screen and (max-width: 599px) {}
@media screen and (max-width: 414px) {
    .sp414{display: block!important;}
    .pc414{display: none!important;}
}
@media screen and (max-width: 375px) {
    .sp375{display: block!important;}
    .pc375{display: none!important;}
}

/*header
----------------------------------------------------------------*/
.header {width: 100%;z-index: 999;position: absolute;top: 0;left: 0;}
.head_inner {width: 90%;margin-right: auto;margin-left: auto;display: flex;justify-content: space-between;padding: 20px 0 0;position: relative;}
.head_logo {max-width: 405px;width: 100%;}
.head_right {width: auto;}
.hd_nav {position: absolute;top: 160%;left: 0;transition: opacity 0.3s ease;opacity: 1;}
.hd_nav_item {text-align: left;margin-bottom: 2em;}
.hd_nav_item a:hover .hd_nav_txt {color: #f39800;border-bottom: 1px solid #f39800;}
.hd_nav_item .hd_nav_txt {font-size: 18px;font-weight: bold;}
.site_ttl {font-size: 11px;}
.head_tel {font-size: 36px;text-align: right;}
.side_ig {margin-bottom: 20px;}

.scrolled-header .hd_nav{
    opacity: 0;
}

.sub_header .head_tel {display: none;}
@media screen and (max-width: 1680px) {
    .hd_nav {display: none;}
}
@media screen and (max-width: 1024px) {
    .site_ttl {display: none;}
}
@media screen and (max-width: 1024px) {
    .head_tel {font-size: 24px;}
}
@media screen and (max-width: 768px) {
    .head_logo {max-width: 260px;}
}
@media screen and (max-width:564px) {
    .head_right .head_tel {display: none;}
    .sub_header .head_tel {display: block;}
}
@media screen and (max-width: 414px) {
    .head_tel {display: none;}
}

/*mainvisual
----------------------------------------------------------------*/
.main {position: relative;overflow: hidden;background: url(../images/mainvisual_bg.png) no-repeat center right;background-size: cover;padding: 100px 0 150px;}
.main_inr {
    margin: 160px 0 0 auto;
    width: 100%;
    max-width: 1920px;
    text-align: right;
}

.main_img_list{
    max-width: 1450px;
    margin: 0 0 0 auto;
}

.main_img_list img{
    width: 100%;
    transition: .3s;
}

.main_img_list a img:hover{
    filter: grayscale(100%);
}

.main_img_item{
    width: 50%;
    position: relative;
}

.main_txt01{
    position: absolute;
    top: 10px;
    left: -20px;
    z-index: 33;
    width: 29%;
}

.main_txt02{
    width: 17%;
}

@media screen and (max-width: 1680px) {
    .main_inr {margin: 80px -100px 0 auto;}
}
@media screen and (max-width: 1024px) {
    .main {padding: 100px 0;}
}

@media screen and (max-width:768px) {
    .main_inr {
        margin: 10px 0 0 auto;
        width: 90%;
    }
    .main {
        padding: 80px 0 20px;
    }
    .main_txt01{
        left: -5px;
    }
}

/*top_concept
----------------------------------------------------------------*/
.top_concept {overflow: hidden;position: relative; padding: 200px 0;background: #f9f7f2;z-index: 0;}
.top_concept::before { content: "";background: url(../images/concept_bgtxt.png) no-repeat center center;background-size: cover;max-width: 1264px;width: 100%;height: 289px;position: absolute;top: 5%;right: 0;z-index: 2;}
.top_concept::after {content: "";background: url(../images/concept_bg.png) no-repeat center center;background-size: cover;max-width: 1374px;width: 100%;height: 908px;position: absolute;top: 15%;right: 0;z-index: 0;}
.top_concept .maxinner {position: relative;z-index: 1;}
.top_concept .ttl01_box {text-align: right;}
.top_concept .ttl01::after {right: 0;left: unset;}
.top_concept .ttl-02 {margin-top: 60px;}
.concept_flex .flex_right {width: 40%;margin-top: 200px;}
.concept_flex .flex_right .concept_img {margin-top: 60px;width: 100%;max-width: 824px;position: absolute;top: 40%;right: -16%;}
.concept_flex .flex_right .concept_txt {width: 100%;}
.concept_flex .flex_left {width: 55%;}
.concept_flex .flex_left .concept_img {width: 100%;}
.concept_flex .flex_left .concept_txt {margin-top: 100px;max-width: 600px;width: 100%;margin: 0 0 0 auto;}
.top_concept .btn01 a {margin: 50px auto 0 0;}

@media screen and (max-width: 1400px) {}
@media screen and (max-width: 1024px) {
    .top_concept {padding: 100px 0;}
    .top_concept::before {content: "";background: url(../images/concept_bgtxt.png) no-repeat center center;background-size: contain;max-width: 885px;width: 100%;height: 200px;position: absolute;top: 5%;right: 0;z-index: 2;}
    .concept_flex {flex-direction: column-reverse;}
    .concept_flex .flex_left {width: 100%;flex-direction: row-reverse;flex-wrap: wrap;justify-content: space-between;}
    .concept_flex .flex_left .concept_img {width: 48%;}
    .concept_flex .flex_left .concept_txt {width: 48%;margin: 0 auto 0 0;}
    .concept_flex .flex_right {width: 100%; margin-top: 150px;}
    .concept_flex .flex_right .concept_txt {width: 100%;}
    .concept_flex .flex_right .concept_img {display: none;}
    .top_concept .ttl01_box {text-align: left;}
    .top_concept .ttl01::after {right: unset;left: 0;}
}
@media screen and (max-width: 768px) {
    .top_concept {
        padding: 40px 0 20px;
    }
    .concept_flex .flex_left .concept_img {width: 100%;text-align: center;}
    .concept_flex .flex_left .concept_img img{max-width: 400px;}
    .concept_flex .flex_left .concept_txt {width: 100%;margin: 0 auto 0 0;}
    .concept_flex .flex_left.flex-nml{
        flex-direction: column-reverse;
    }
    .concept_flex .flex_right{
        margin-top: 50px;
    }
    
    .top_concept::before {
        background: url(../images/concept_bgtxt.png) no-repeat center center;
        background-size: contain;
        width: 80%;
        height: 100px;
        top: 1%;
        z-index: 2;
    }
}

@media screen and (max-width: 414px) {
    .concept_flex .flex_left .concept_img img{max-width:60%;}
}

/*top_pelvic
----------------------------------------------------------------*/
.top_pelvic {padding: 100px 0;position: relative;overflow: hidden;}
.pelvic_flex {width: 100vw;margin: 0px calc(50% - 50vw) 0;position: relative; align-items: center;}
.top_pelvic .pelvic_flex:nth-child(1) {z-index: 0;}
.top_pelvic .pelvic_flex:nth-child(1) .flex_txt {width: 48%;max-width: 450px;position: relative;margin: 0 -150px 0 auto;}
.top_pelvic .pelvic_flex:nth-child(1) .flex_img {width: 60%;}
.pelvic_img {width: 100%;max-width: 1595px;position: absolute;top: 31%;left: -9%;content: "";}
.top_pelvic .pelvic_flex:nth-child(2) {z-index: 2;margin: 150px calc(50% - 50vw) 0;align-items: end;}
.top_pelvic .pelvic_flex:nth-child(2) .flex_txt {width: 48%;max-width: 450px;position: relative;margin: 0 auto 0 30px;}
.top_pelvic .pelvic_flex:nth-child(2) .flex_img {width: 60%;}
.top_pelvic .btn01 a {margin: 50px auto 0 0;}

@media screen and (max-width: 1400px) {
    .pelvic_img {top: 33%;left: -3%;width: 70%;}
}
@media screen and (max-width: 1024px) {
    .pelvic_img {left: 0%;}
}

@media screen and (max-width: 768px) {
    .top_pelvic {
        padding: 50px 0;
    }
    .top_pelvic .pelvic_flex:nth-child(1) .flex_txt{
        width: 100%;
        margin: 0 0 0 3%;
    }
    .top_pelvic .pelvic_flex:nth-child(1) .flex_img {
        width: 90%;
        margin: 0 0 0 auto;
    }
    .top_concept .ttl-02 {
        margin: 20px 0;
        line-height: 1.5;
    }
    .top_pelvic .btn01 a {
        margin: 10px auto 0 0;
    }
}

/*top_worry
----------------------------------------------------------------*/
.top_worry {padding: 300px 0 150px;background: url(../images/contents_bg.png) no-repeat center center;background-size: cover;position: relative;}
.worry_txtbox {background: rgba(255,255,255,0.8);border-radius: 20px;padding: 50px;max-width: 530px;margin: 0 auto -400px 0;position: relative;z-index: 3;}
.worry_txtbox .txt {margin-top: 50px;}
/*.worry_imgflex {justify-content: space-between; gap: 50px;}*/
/* .worry_imgflex .flex_img {width: calc((100% - 50px * 2) / 3);} */
.worry_imgflex .flex_img {    margin: 0 20px;}
.swiper-slide {
    width: 500px !important;
    height: auto !important;
}
.swiper-area {
    margin: 60px 0 0;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%);
    left: 50% !important;
    top: 0;
    content: '';
}

@media screen and (max-width: 1400px) {
    .top_worry {padding: 200px 0 150px;}
}
@media screen and (max-width: 1024px) {
    .top_worry {padding: 100px 0;}
}

@media screen and (max-width: 768px) {
    .top_worry{
        padding: 50px 0;
    }
    .pelvic_img {
        left: 2%;
    }
    .top_pelvic .pelvic_flex:nth-child(2) .flex_img {
        width: 90%;
    }
    .top_pelvic .pelvic_flex:nth-child(2) .flex_txt{
        width: 100%;
    }
    .worry_txtbox{
        margin: 0 auto 20px 0;
        padding: 20px;
    }
    .worry_txtbox .ttl-02{
        line-height: 1.8;
        font-size: 20px;
    }
    .worry_txtbox .txt {
        margin-top: 20px;
    }
    .swiper-slide {
        width: 300px !important;
        height: auto !important;
    }
    .swiper-area{
        margin: 30px 0 0;
    }

    .worry_imgflex .flex_img {
        margin: 0 10px;
    }
}

@media screen and (max-width: 568px) {
    .swiper-slide {
        width: 200px !important;
        height: auto !important;
    }
}

/*top_treatment
----------------------------------------------------------------*/
.top_treatment {padding: 200px 0;position: relative;}
.top_treatment::before {position: absolute;content: "";top: 37%;left: 50%;transform: translate(-50%, 50%);max-width: 1608px;width: 100%;height: 259px;background: url(../images/treatment_bgtxt.png) no-repeat center center;background-size: cover;}
.top_treatment .ttl01_box {text-align: center;}
.top_treatment .ttl01::after{left: 50%;transform: translate(-50%, 50%);}
.treat_imgflex {gap: 50px;align-items: center;justify-content: center;margin-top: 60px;}
.treat_imgflex .flex_img {width: calc((100% - 50px * 2) / 3);}

@media screen and (max-width: 1400px) {
    .top_treatment {padding: 100px 0;}
    .top_treatment::before {top: 40%;height: 200px;}
}

@media screen and (max-width: 768px) {
    .top_treatment {
        padding: 40px 0;
    }
    .treat_imgflex .flex_img {
        width: 40%;
        margin-bottom: 0;
    }
    .treat_imgflex{
        gap: 20px;
        margin-top: 20px;
    }
}

/*top_beginners
----------------------------------------------------------------*/
.top_beginners {padding: 200px 0 100px;background: url(../images/beginners_bg.png) no-repeat center bottom;background-size: cover;height: 1181px;position: relative;}
.top_beginners::before  {position: absolute;content: "";top: 10%;left: 0%;max-width: 728px;width: 100%;height: 138px;background: url(../images/beginners_bgtxt.png) no-repeat center center;background-size: cover;}
.beginenrs_txtbox {max-width: 500px;margin: 80px 0 0;}
.beginenrs_txtbox .ttl-02:nth-child(2) {text-align: right;}
.top_beginners .txt {margin: 80px 0 0;}
.top_beginners .btn01 a {margin: 50px auto 0 0;}

@media screen and (max-width: 768px) {
    .top_beginners {
        padding: 50px 0 40px;
        height: auto;
    }
    .beginenrs_txtbox{
        margin: 0;
    }
    .beginenrs_txtbox .ttl-02{
        line-height: 1;
    }
    .top_beginners .txt {
        margin: 30px 0 0;
    }
    .top_beginners::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0%;
        max-width: 728px;
        width: 80%;
        height: 90px;
        background: url(../images/beginners_bgtxt.png) no-repeat center center;
        background-size: contain;
    }
}

/*footer
----------------------------------------------------------------*/
.footer {padding: 100px 0 50px;background: url(../images/footer_bg.png) no-repeat right bottom;background-size: contain;height: 1114px;position: relative;}
.top_contact {max-width: 1000px;margin: 0 0 0 auto;}
.footer .ttl01_box {color: #fff;}
.footer .ttl01::after {border-bottom: solid 1px #fff;}
.cv_tel {display: flex;justify-content: start;flex-wrap: wrap;gap: 15px;align-items: baseline;margin: 30px 0 0;}
.cv_sub {color: #fff;}
p.cv_tel {font-size: 30px;letter-spacing: 0.05em;color: #fff;margin: 0;}
p.cv_tel a {color: #fff !important;}
.contact_flex {gap: 30px;justify-content: space-between;margin: 30px 0 0;}
.top_ft {max-width: 1000px;margin: 150px 0 0 auto;display: flex;justify-content: start;flex-wrap: wrap;gap: 50px;}
.ft_nav {width: calc((100% - 50px * 2) / 3);border-right: 1px solid #222;}
.ft_nav:nth-child(3) {border-right: none;}
.ft_nav:nth-child(3) .ft_item a {display: flex;align-items: center;justify-content: flex-start;gap: 10px;flex-wrap: wrap;}
.ft_item {margin-bottom: 30px;}
.ft_nav_txt {font-weight: bold;}
.ft_copyright {margin-top: 100px;text-align: center;}

@media screen and (max-width: 1400px) {
    .footer {background-size: cover;height: auto;}
    .top_contact {margin: 0 auto;}
    .contact_flex {justify-content: center;}
    .top_ft {margin: 150px auto 0;}
}
@media screen and (max-width: 414px) {
    .footer {padding: 50px 0 30px;}
    .top_ft {margin: 65px auto 0;}
    .top_ft .ft_nav:nth-child(1),.top_ft .ft_nav:nth-child(2) {display: none;}
    .ft_nav {width: 100%;}
    .ft_copyright {margin-top: 35px;}
    .cv_sub {font-size: 14px;}
    p.cv_tel {font-size: 26px;}
}

.d_none{
    display: none;
}


.price_txt {
    font-size: 30px;
    font-weight: bold;
}

.price_txt span {
    font-family: "Lora", serif;
    color: #f3ab33;
    font-weight: 500;
    padding: 0 0 0 10px;
}

.top_lead {
    max-width: 1280px;
    padding: 0 2%;
    margin-inline: auto;
}

.top-lead_btn_wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 32px;
}

.top-lead_btn_img {
    width: 100%;
}

p.btn_txt.btn_txt-250819 {
    font-size: 1.3rem;
}

.btn01.wow.fadeInUp.btn01_250819 {
    background: #ffffff;
    width: 340px;
    border-radius: 20px;
    margin: 0 auto;
}