:root{
	--color01: #03004C;
	--color02: #f77280;
	--color03: #35A1E2;
	--color04: #2a80d0;
	--grad01: linear-gradient(to right,#35A1E2 0%,#1271CC 30%, #35A1E2 70%,#1271CC 100%);
	--grad02: linear-gradient(to right,#ff8093 0%,#f6577d 30%, #ff8093 70%,#f6577d 100%);
}


.body-wrap{ overflow: hidden; }
body{ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: justify; background-color: #fff; }

.mv{ position: relative; }
.mv:after{ content: ''; width: 100%; height: 100%; background: url(../images/lp01/webp/main_bg.webp) no-repeat bottom center/100%; position: absolute; bottom: 0; left: 0; }
.no-webp .mv:after{ background-image: url(../images/lp01/main_bg.png); }
.mv > picture img{ display: block; width: 100vw; height: 884px; object-fit: cover; object-position: center; }
.mv .wrap{ width: 950px; position: absolute; top: 125px; left: 62%; transform: translateX(-50%); z-index: 2; }
.mv .wrap > .inner{ display: table; margin-left: auto; }
.mv .wrap > .inner h1{ font-size: 8.2rem; font-weight: 300; position: relative; padding-bottom: 10px; margin-bottom: 30px; letter-spacing: 0em; }
.mv .wrap > .inner h1:after{ content: ''; width: calc(100% + (50vw - 475px)); height: 1px; background: #03004c; position: absolute; bottom: 0; left: 0; }
.mv .wrap > .inner h1 small{ display: block; font-size: 4.6rem; line-height: 1; }
.mv .wrap > .inner h1 span{ font-size: 6.4rem; }
.mv .wrap > .inner h1 + p{ font-size: 2.8rem; line-height: 1.6; margin-bottom: 3rem; }
.mv .wrap > .inner h1 + p strong{ color: #35a1e2; }
.mv .wrap > .inner ul{ display: flex; justify-content: space-between; }
.mv .wrap > .inner ul li{ width: 32%; height: 118px; background: #03004c; color: #fff; display: flex; justify-content: center; align-items: center; border-radius: 5px; font-size: 1.6rem; text-align: center; }
.mv .wrap > .inner ul li strong{ font-size: 2.2rem; color: #35a1e2; margin-bottom: 4px; display: inline-block; }

h2.general{ font-size: 4rem; font-weight: 300; line-height: 1.4; position: relative; }
h2.general:before{ content: ''; width: 150px; height: 1px; background: #03004c; position: absolute; left: -175px; top: 34px; }
h2.general span{ color: #35a1e2; }
h2.general small{ display: block; font-size: 3.2rem; }
h2.general.center{ text-align: center; }
h2.general.center:before{ top: 35px; }
h2.general.center:after{ content: ''; width: 150px; height: 1px; background: #03004c; position: absolute; right: -175px; top: 35px; }

span.ttl{ display: table; font-size: 2rem; font-weight: 700; color: #fff; background: #03004c; border-radius: 5px; padding: 8px 1em; margin-bottom: 16px; }

main .row{ display: flex; justify-content: space-between; }

main .row2{ display: block; justify-content: space-between; }

.sec-intro{ padding: 88px 0; position: relative; z-index: 0; }
.sec-intro .bg01{ position: absolute; right: -140px; bottom: 0; z-index: -1; }
.sec-intro h2{ margin-bottom: 20px; }
.sec-intro ul{ display: flex; flex-wrap: wrap; justify-content: space-between; }
.sec-intro ul li{ width: 370px; font-size: 2rem; padding: 16px 0 16px 42px; white-space: nowrap; background: url(../images/lp01/icon-check01.png) no-repeat left top 11px/31px; }
.sec-intro ul li:nth-of-type(n+3){ border-top: solid 1px #efefef; }

.sec-comment{ background: #efefef; padding: 100px 0 90px; position: relative;z-index: 1 }
.sec-comment .arrow{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.sec-comment img.main01{ display: block; max-width: none; border-radius: 30px; margin: 0 0 60px -50px; }
.sec-comment h2{ margin-bottom: 26px; }
.sec-comment h2.general.center:before, .sec-comment h2.general.center:after{ top: 23px; }
.sec-comment p{ line-height: 2; font-size: 1.6rem; color: #000; }

.sec-cause{ padding: 90px 0 85px; position: relative; z-index: 0; }
.sec-cause .bg01{ position: absolute; top: 0; left: calc(-50vw + 400px); z-index: -1; }
.sec-cause p{ width: 370px; font-size: 1.6rem; line-height: 2; color: #000; text-align: justify; }
.sec-cause p span{ background:linear-gradient(transparent 70%, #8fd3f5 70%); }

.sec-contact{ width: 1150px; margin: 0 auto; background: url(../images/lp01/webp/contact-bg01.webp) #35a1e2 no-repeat right bottom/auto 100%; position: relative; z-index: 1; border-radius: 30px; padding: 90px 0; color: #fff; position: relative; z-index: 2;margin-top: -7rem; }
.no-webp .sec-contact{ background-image: url(../images/lp01/contact-bg01.jpg); }
.sec-contact .item01{ position: absolute; top: 47px; right: 80px; }
.sec-contact .content{ max-width: 960px; }
.sec-contact h2{ font-size: 5rem; font-weight: 300; border-bottom: solid 1px; padding-bottom: 10px; display: table; margin-bottom: 34px; line-height: 1.3;}
.sec-contact h2 small{ display: flex; margin-bottom: 10px;}
.sec-contact h2 small span{ font-weight: 700; font-size: 1.4rem; line-height: 1.4; color: #35a1e2; background-color: #fff; padding: 6px 10px; border-radius: 5px; margin-right: 20px;}
.sec-contact h3{ font-size: 20px; margin-bottom: 14px; }
.sec-contact h3 + p{ max-width: 560px; line-height: 1.8; margin-bottom: 34px; text-align: justify;}
.sec-contact .content .left {width: 490px;}
.sec-contact .content .right {width: 370px;}
.sec-contact a[class*="btn"]{ width: 370px; height: 60px; border-radius: 30px; display: flex; justify-content: center; align-items: center; border: solid 1px; background: #fff; font-size: 1.8rem; position: relative; }
.sec-contact a[class*="btn"]:after{ width: 32px; height: 6px; top: 50%; transform: translateY(-50%); right: 13px; content: ''; position: absolute; transition: all .3s; background: url(../images/common/webp/arrow01.webp) no-repeat right center / 32px; }
.no-webp .sec-contact a[class*="btn"]:after{ background-image: url(../images/common/arrow01.png); }
.sec-contact a[class*="btn"] + a{ margin-top: 20px; }
.sec-contact a[class*="btn"]:hover:after{ right: -27px; }
.sec-contact a.tel-btn:before{ content: ''; width: 20px; height: 17px; background: url(../images/common/icon-tel01.png) no-repeat center/contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%); }
.sec-contact a.resv-btn:before{ content: ''; width: 17px; height: 17px; background: url(../images/common/icon01.png) no-repeat center/contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%); }
.sec-contact a.clinic-btn{ background: #9ad0f0; }
.sec-contact a.clinic-btn:before{ content: ''; width: 17px; height: 17px; background: url(../images/common/icon-home01.png) no-repeat center/contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%); }

.sec-paste{ padding: 100px 0 90px; position: relative; z-index: 0; margin-bottom: 90px; }
.sec-paste:before{ content: ''; width: 100%; height: calc(100% + 360px); background: #efefef; position: absolute; bottom: 0; left: 0; z-index: -1; }
.sec-paste h2{ background: #03004c; text-align: center; font-size: 3.2rem; color: #fff; font-weight: 300; border-radius: 5px; padding: 12px 0; margin-bottom: 40px; }
.sec-paste h2 span{ color: #35a1e2; }
.sec-paste .row img{ display: block; border-radius: 30px; }
.sec-paste .row p{ max-width: 370px; font-size: 1.6rem; line-height: 2; letter-spacing: .03em; font-feature-settings: 'palt'; color: #000; text-align: justify; }
.sec-paste .row + p{ padding-top: 86px; position: relative; font-size: 2.8rem; text-align: center; line-height: 1.6; }
.sec-paste .row + p:before{ content: ''; width: 1px; height: 40px; background: #03004c; position: absolute; left: 50%; top: 22px; }
.sec-paste .row + p span{ color: #35a1e2; }

.sec-feature{ margin-bottom: 100px;margin-top:80px; }
.sec-feature h2{ margin-bottom: 50px; }
.sec-feature ol{ counter-reset: feature; }
.sec-feature ol li{ position: relative; min-height: 300px; padding-bottom: 40px; }
.sec-feature ol li + li{ margin-top: 50px; }
.sec-feature ol li img{ position: absolute; bottom: 0; right: -175px; z-index: -1; border-radius: 30px; }
.sec-feature ol li:nth-of-type(even) img{ right: auto; left: -175px; }
.sec-feature ol li .txt{ width: 380px; position: relative; z-index: 1; padding-bottom: 50px; }
.sec-feature ol li:nth-of-type(even) .txt{ margin-left: auto; }
.sec-feature ol li .txt:before{ content: ''; width: calc(100% + 100px); height: 100%; background: #fff; border-radius: 0 0 30px 30px; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.sec-feature ol li .txt h3{ font-size: 2.6rem; font-weight: 300; padding-left: 65px; position: relative; margin-bottom: 18px; }
.sec-feature ol li .txt h3:before{ counter-increment: feature; content: counter(feature); font-size: 8rem; font-weight: 700; color: transparent; -webkit-text-stroke: 1px #35a1e2; text-stroke: 1px #35a1e2; position: absolute; top: 50%; left: 0; transform: translateY(-60%); line-height: 1; }
.sec-feature ol li .txt h3 small{ display: block; font-size: 1.6rem; font-weight: 700; }
.sec-feature ol li .txt h3 span{ color: #35a1e2; }
.sec-feature ol li .txt p{ font-size: 1.6rem; color: #000; line-height: 2; }

.sec-treatment{ background: url(../images/lp01/bg01.jpg) center/18px; padding-bottom: 465px; }
.sec-treatment .treatment-head{ position: relative; margin-bottom: 70px; }
.sec-treatment .treatment-head img{ display: block; width: 100%; height: 440px; object-fit: cover; object-position: bottom center; }
.sec-treatment h2{ margin-bottom: 25px; }
.sec-treatment h2 + p{ font-size: 2.2rem; text-align: center; line-height: 1.6; margin-bottom: 85px; }
.sec-treatment ol{ display: flex; justify-content: space-around; flex-wrap: wrap; width: 900px; margin-left: -50px; counter-reset: method; margin-bottom: 55px; }
.sec-treatment ol li{ width: 270px; background: #efefef; border-radius: 30px; position: relative; }
.sec-treatment ol li:nth-of-type(n+4){ margin-top: 80px; }
.sec-treatment ol li:before{ counter-increment: method; content: 'METHOD 'counter(method); font-size: 2rem; font-weight: 700; color: transparent; -webkit-text-stroke: 1px #03004c; text-stroke: 1px #03004c; line-height: 1; position: absolute; top: -32px; left: 50%; transform: translateX(-50%); }
.sec-treatment ol li img{ display: block; width: 100%; border-radius: 30px 30px 0 0; }
.sec-treatment ol li .txt{ padding: 18px 20px 20px; }
.sec-treatment ol li .txt h3{ font-size: 1.8rem; text-align: center; margin-bottom: 12px; }
.sec-treatment ol li .txt h3 small{ font-size: 1.3rem; }
.sec-treatment ol li .txt p{ font-size: 1.6rem; color: #000; line-height: 1.6; }
.sec-treatment .memo{ padding: 38px 50px 30px; width: 900px; margin-left: -50px; border: solid 1px; border-radius: 30px; position: relative; background: #fff;}
.sec-treatment .memo:before{ content: 'MEMO'; width: 120px; height: 48px; border-radius: 24px; font-size: 2rem; font-weight: 700; display: flex; align-items: center; padding-left: 38px; background: url(../images/lp01/icon-memo01.png) #9ad0f0 no-repeat center left 16px/16px; position: absolute; left: 30px; top: -24px; box-sizing: border-box; }
.sec-treatment .memo dt{ font-size: 2.6rem; text-align: center; margin-bottom: 13px; }
.sec-treatment .memo dt span{ color: #35a1e2; }
.sec-treatment .memo dd{ font-size: 1.6rem; color: #000; line-height: 1.8; }



.sec-intro .memo{ padding: 38px 50px 30px; width: 900px; margin-left: -50px; border: solid 1px; border-radius: 30px; position: relative; background: #fff;margin-top: 60px;}
.sec-intro .memo:before{ content: 'MEMO'; width: 120px; height: 48px; border-radius: 24px; font-size: 2rem; font-weight: 700; display: flex; align-items: center; padding-left: 38px; background: url(../images/lp01/icon-memo01.png) #9ad0f0 no-repeat center left 16px/16px; position: absolute; left: 30px; top: -24px; box-sizing: border-box; }
.sec-intro .memo dt{ font-size: 2.6rem; text-align: center; margin-bottom: 13px; }
.sec-intro .memo dt span{ color: #35a1e2; }
.sec-intro .memo dd{ font-size: 1.6rem; color: #000; line-height: 1.8; }


.sec-treatment + .sec-contact{ margin-top: -360px; }

.sec-leave{ padding: 100px 0; position: relative; z-index: 0; margin-bottom: 100px; }
.sec-leave .bg01{ width: 100%; position: absolute; bottom: 0; left: 0; z-index: -1; background: url(../images/lp01/webp/leave-bg01.webp) #f7f7f7 no-repeat bottom center/1800px; }
.no-webp .sec-leave .bg01{ background-image: url(../images/lp01/leave-bg01.jpg); }
.sec-leave h2{ margin-bottom: 35px; }
.sec-leave ul li{ border-top: solid 1px #efefef; padding-top: 36px; display: flex; justify-content: space-between; align-items: flex-start; }
.sec-leave ul li + li{ margin-top: 30px; }
.sec-leave ul li .txt{ width: 370px; }
.sec-leave ul li .txt h3{ font-size: 2.2rem; margin-bottom: 13px; line-height: 1.6; }
.sec-leave ul li .txt p{ color: #000; font-size: 1.6rem; line-height: 1.8; }
.sec-leave ul li img{ border-radius: 30px; }

.sec-flow{ margin-bottom: 100px;margin-top: 100px; }
.sec-flow span.ttl{ margin-left: auto; margin-right: auto; }
.sec-flow h2{ margin-bottom: 5rem; }
.sec-flow ol{ counter-reset: flow; margin-bottom: 10px; }
.sec-flow ol li{ padding: 36px 370px 34px 85px; border-radius: 30px; border: solid 1px; position: relative; z-index: 0; }
.sec-flow ol li + li{ margin-top: 30px; }
.sec-flow ol li:before{ counter-increment: flow; content: counter(flow); width: 110px; height: 100px; background: url(../images/lp01/flow-item01.png) no-repeat center/contain; font-size: 5.2rem; font-weight: 700; line-height: 1; box-sizing: border-box; display: flex; justify-content: center; align-items: center; position: absolute; left: -55px; top: 50%; transform: translateY(-50%); padding-bottom: 8px; }
.sec-flow ol li h3{ font-size: 2.2rem; margin-bottom: 12px; }
.sec-flow ol li p{ font-size: 1.6rem; color: #000; line-height: 1.8; letter-spacing: 0; font-feature-settings: 'palt'; letter-spacing: .07em; text-align: justify; }
.sec-flow ol li img{ height: 100%; object-fit: cover; object-position: center; position: absolute; top: 0; right: 0; border-radius: 0 29px 29px 0; }
.sec-flow ol + small{ display: block; text-align: right; font-size: 1.2rem; margin-bottom: 46px; }
.sec-flow > .row ul li{ width: 274px; height: 58px; border-radius: 29px; font-size: 1.8rem; background: #9ad0f0; display: flex; justify-content: center; align-items: center; }
.sec-flow > .row ul li + li{ margin-top: 14px; }
.sec-flow > .row dl{ width: 500px; background: url(../images/lp01/flow-item02.png) #efefef no-repeat left 35px center/32px; border-radius: 30px; padding: 16px 37px 14px 90px; }
.sec-flow > .row dl dt{ font-size: 2rem; font-weight: 700; border-bottom: solid 1px; padding-bottom: 8px; margin-bottom: 10px; }
.sec-flow > .row dl dd{ color: #000; line-height: 1.8; }

.sec-price{ padding: 70px 0 60px; background: url(../images/lp01/webp/price-bg01.webp) no-repeat center/cover; }
.no-webp .sec-price{ background-image: url(../images/lp01/price-bg01.jpg); }
.sec-price .left{ width: 100%; }
.sec-price .left h2{ font-size: 3.2rem; font-weight: 300; background: #03004c; color: #fff; text-align: center; padding: 8px 0 10px; border-radius: 5px; margin-bottom: 13px; }
.sec-price .left p{ text-align: center; font-size: 2rem; font-weight: 700; }
.sec-price .left p strong{ font-size: 3.2rem; color: #35a1e2; }
.sec-price .left p strong:nth-of-type(2){ color: #03004c; }
.sec-price .left p small{ font-size: 1.6rem; font-weight: 300; }
.sec-price .row > p{ width: 100%; font-size: 1.6rem; color: #000; line-height: 2; }

.sec-dr{ margin-bottom: 100px; }
.sec-dr h2{ margin-bottom: 25px; }
.sec-dr .row{ align-items: flex-end; }
.sec-dr .left{ width: 360px; }
.sec-dr .left h3{ font-size: 2.2rem; line-height: 1.7; margin-bottom: 34px; }
.sec-dr .left h3 span{ color: #35a1e2; }
.sec-dr .left p{ line-height: 2; font-size: 1.6rem; color: #000; }
.sec-dr .right img{ display: block; margin-bottom: 27px; }
.sec-dr .right .name{ justify-content: center; align-items: center; }
.sec-dr .right .name dt{ font-size: 1.4rem; margin-right: 20px; }
.sec-dr .right .name dd{ font-size: 3.6rem; }

.innerBox .box { margin: 0 auto 100px; padding: 42px 0 5px; min-height: 415px; max-width: 1150px; color: #fff; position: relative; z-index: 5; border-radius: 30px; overflow: hidden; }
.innerBox h2 { margin-bottom: 42px; font-size: 2.8rem; font-weight: normal; letter-spacing: 0.1em; line-height: 1.42; }
.innerBox03 .box { padding: 68px 0 5px; background-image: url("../images/index/webp/photo15.webp"); }
.no-webp .innerBox03 .box { background-image: url("../images/index/photo15.png"); }
.innerBox03 p { margin-bottom: 43px; max-width: 450px; font-size: 1.4rem; letter-spacing: 0.05em; line-height: 1.857; }
.innerBox03 h2 { margin-bottom: 36px; }
.innerBox03 .img { max-width: 450px; }

p.wh_p{
	    font-size: 18px;
    line-height: 2;
    margin-bottom: 30px;
}


.intro{ padding: 10rem 0 calc(1rem + 9vw); position: relative; z-index: 0; background-image: url("../images/lp01/webp/intro-bg02.webp"); background-repeat: no-repeat; background-position: bottom center; background-size: 100%; }
.no-webp .intro{ background-image: url("../images/lp01/intro-bg02.png"); } 




.intro h2{ display: table;
    text-align: center;
    font-size: 5.4rem;
    margin: 0 auto 5rem;
    background: var(--grad01);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif";font-weight: 500; }
.intro h2:before{ content: ""; display: block; width: 32.75rem; height: 8.85rem; background-image: url("../images/lp01/intro-tit.png"); background-repeat: no-repeat; background-position: center; background-size: contain; margin: auto; }

.intro .fee-box{ margin-bottom: 4rem; }

.intro .movie{ border-radius: 0.8rem; overflow: hidden; }

/* case----------------- */
.case-box{ position: relative; margin-bottom: 4rem; }
.case-box ul{ background-image: url("../images/lp01/case-arrow.png"); background-repeat: no-repeat; background-position: center; background-size: 2.15rem; }
.case-box li{ flex-basis: 37.2rem; position: relative; }
.case-box li:before{ content: ""; background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: -2rem; top: -2rem; }
.case-box li:first-child:before{ width: 12.65rem; height: 7.4rem; background-image: url("../images/lp04/case-before.png"); }
.case-box li:last-child:before{ width: 11.45rem; height: 7.1rem; background-image: url("../images/lp04/case-after.png"); }
.case-box img{ width: 100%; display: block; border-radius: 0.8rem; }

.case-box ul + p{ width: 13rem; height: 13rem; font-size: 2.4rem; padding-top: 2.5rem; text-align: center; background-image: url("../images/lp01/case-parts.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: -6.5rem; right: -6.55rem; }
.case-box ul + p:before{ content: "通院回数"; display: block; font-size: 1.8rem; line-height: 1.4; }
.case-box ul + p span{ font-size: 5.2rem; line-height: 1; }
.case-box ul + p small{ font-size: 1.9rem; }

.intro:before{ content: ""; width: 100%; height: 100%; background-image: url("../images/lp01/webp/intro-bg012.webp"); background-repeat: no-repeat; background-position: top center; background-size: 100%; pointer-events: none; position: absolute; left: 0; top: -10rem; z-index: -1; }
.no-webp .intro:before{ background-image: url("../images/lp01/intro-bg012.png"); }

.fee-box{ align-items: center; }
.fee-box > div{ flex-basis: 35rem; height: 5rem; display: flex; align-items: center; }
.fee-box > div p{  height: 100%; display: flex; align-items: center; justify-content: center; }
.fee-box > div p:first-child{ width: 14rem; background: var(--color02); color: #fff; font-size: 2rem; border-radius: 0.5rem 0 0 0.5rem; letter-spacing: 0.05em; }
.fee-box > div p:last-child{ width: 21rem; background: #EFEFEF; color: #f6577d; font-size: 3rem; font-weight: 700; border-radius: 0 0.5rem 0.5rem 0; letter-spacing: 0em; }
.fee-box > div p:last-child span{ font-size: 6.2rem; letter-spacing: 0.05em; line-height: 1; transform: translateY(-1rem); }
.fee-box > p{ font-size: 2.7rem; letter-spacing: 0.05em; }
.fee-box > p span{ font-size: 4.55rem; line-height: 1; letter-spacing: 0; }
.fee-box > p small{ font-size: 2.4rem; }

.case .fee-box > div p:last-child{ background: #fff; }

.txt_big {
    font-size: 30px;
    text-align: center;
}

.catch{
	font-size: 15vw;
	font-family: cursive;
	position: absolute;
	left: 0px;
	color: #fff;
	bottom: -60px;
}
.sec-intro_img img{
	    display: block;
    border-radius: 30px;
	margin-bottom: 20px;
	margin-top: 30px;
	width: 100%;
	height: 260px;
	object-fit: cover;
}

.txt_big span{
	color:#35a1e2
}


.sec-price .left p{
	font-weight: 500;
}

.sec-price .case-box{
	margin-top: 50px;
}

.sec-price .case-box h3{
	margin-top: 40px;
    font-weight: 500;
    font-size: 28px;
    margin-bottom: 30px;
    letter-spacing: 1px;
    text-align: center;
}

.case_txt{
	background: #fff;
	padding: 10px 14px;
	border-radius: 5px;
	font-size: 13px;
}


.case-box li:first-child:before {
    width: 12.65rem;
    height: 7.4rem;
    background-image: url(../images/lp01/case-before.png);
}

.case-box li:last-child:before {
    width: 11.45rem;
    height: 7.1rem;
    background-image: url(../images/lp01/case-after.png);
}


.price{
	text-align: center;
	padding-bottom: 20px;
}

.price span{
	font-size: 43px;
	color:#f85e5e;
	font-weight: 600;
}

.price .sml{
	font-size: 14px;
}

.price2{
	margin-top: 20px;
}

.price3{
	margin-top: 40px;
}

/* qa----------------- */
.qa{ padding: 15rem 0 15rem; background-image: url("../images/lp01/webp/qa-bg.webp"); background-repeat: no-repeat; background-position: top right; background-size: cover; position: relative; z-index: 0; margin-bottom:70px;}
.no-webp .qa{ background-image: url("../images/lp01/qa-bg.jpg"); }

.qa:before{ content: ""; width: 41.95rem; height: 51.05rem; background-image: url("../images/lp01/webp/qa-img.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 0; right: 0; z-index: -1; }
.no-webp .qa:before{ background-image: url("../images/lp01/qa-img.png"); }

.qa h2{ display: table; font-size: 5rem; letter-spacing: 0.08em; margin: 0 auto 9.5rem; position: relative; z-index: 0; }
.qa h2 span{ background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent;font-weight: 500;}
.qa h2:before{ content: attr(data-en); font-size: 20.2rem; color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1; opacity: .5; }

.qa li:not(:last-child){ margin-bottom: 2rem; }

.qa input{ display: none; }

.qa label{ cursor: pointer; display: flex; height: 5rem; font-weight: bold; font-size: 1.6rem; color: #fff; align-items: center; background: linear-gradient(to right,#46a9db,#35a1e2 65%,#2a80d0 100%); border-radius: 0.8rem; padding: 0 5rem 0 2rem; position: relative; transition: .4s; }
.qa label:before{ content: "Q"; font-size: 2.4rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; margin-right: 1.5rem; }

.qa label:after{ content: ""; width: 0.7rem; height: 0.7rem; border: 1px solid; border-color: transparent #fff #fff transparent ; transform: rotate(45deg); position: absolute; top: calc(50% - 0.7rem); right: 2rem; transition: .3s; }

.qa input:checked ~ label{ background: linear-gradient(to right,#e58f9d,#dc6c7f); }
.qa input:checked ~ label:after{ transform: rotate(-135deg); top: calc(50% - 0.2rem); }

.qa .qa-a{ background: #fff; text-align: justify; border-radius: 0.8rem; padding: 0 4.5rem; max-height: 0; transition: .4s;  overflow: hidden; }
.qa input:checked ~ .qa-a{ margin-top: 0.2rem; max-height: none; padding: 1.5rem 4.5rem; }
.qa .qa-a p{ line-height: 1.7; }

.sec-feature ol li .txt h3.space span{
	letter-spacing: -2.8px;
}

/* 202505　追加*/
.sec-treatment ol{  counter-reset:plan; margin-bottom:25px;}
.sec-treatment ol li{background: #efefef; border-radius: 30px; position: relative; padding-bottom: 2rem;}
.sec-treatment ol li:before{ counter-increment: plan; content: 'PLAN 'counter(plan); font-size: 2rem; font-weight: 700; color: transparent; -webkit-text-stroke: 1px #03004c; text-stroke: 1px #03004c; line-height: 1; position: absolute; top: -32px; left: 50%; transform: translateX(-50%); }
.sec-treatment ol li:nth-of-type(1){background: #fbe9f2;}
.sec-treatment ol li:nth-of-type(2){background: #e9f9fb;}
.sec-treatment ol li:nth-of-type(3){background: #f0e9fb;}
.sec-treatment ol li .txt h3 span { display: block; font-size: 1.2rem;}
.sec-treatment ol li .txt h3{ font-size: 2rem; text-align: center; margin-bottom: 12px; }
.sec-treatment ol li.recommend picture{position: relative;}
.sec-treatment ol li.recommend picture:before{z-index: 97;position: absolute; width: 11.45rem; height: 7.1rem; background-image: url("../images/lp01/ribbon-bl.png"); content: ""; background-repeat: no-repeat; background-position: center; background-size: contain; top: -1rem; left: -1rem;}
.sec-treatment a[class*="btn"] {width: 100%; height: 60px; border-radius: 30px; display: flex; justify-content: center; align-items: center; border: solid 1px; background: #fff; font-size: 1.8rem; margin:0 auto 60px; position: relative; text-align: center;}
.sec-treatment a.clinic-btn:before { content: ''; width: 17px; height: 17px; background: url(../images/lp03/icon-home01.png) no-repeat center / contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%);}
.sec-treatment a[class*="btn"]:after {width: 32px; height: 6px; top: 50%; transform: translateY(-50%); right: 13px; content: ''; position: absolute; transition: all .3s; background: url(../images/common/webp/arrow01.webp) no-repeat right center / 32px;}
.sec-treatment a.clinic-btn {background: #9ad0f0;}

    
.price{text-align: center; padding-bottom: 5px; background:#fff; color:#03004C; margin:0 15px;border-radius: 2rem; border:1px solid;}
.price.plus{color: #03004C; background:none; border:none; font-size: 1.2rem; margin-top: .5rem;}
.price.plus.strike {font-size: 3rem; position: relative; display: inline-block; width: 100%; margin: 0 auto;}
.price.plus.strike:before {display: block; content: ''; position: absolute; bottom: -10px; left: 50%; border: 6px solid transparent; border-top: 7px solid #03004C;}
.price.plus.strike:after {content: ""; position: absolute; left: 31%; right: 0; width:110px; height: 1px; top:50%; background-color: currentColor;}
.price.plus.strike .sml {font-size: 14px; text-decoration: none; color:#03004C;}
.price.price4 span{ font-size: 43px; color:#f85e5e; font-weight: 600;}
.price.price4 .sml { font-size: 14px;}
.price2{margin-top: 25px;}
.price3{margin-top: 50px;}
.price4{background: none; border:none;}

.sec-dr .left p.note {
	font-size: 12px;
}
/*グループ院css*/
.comBox01 { margin: 0 auto; padding: 0 20px; max-width: 1040px;}
ul.linkList { margin-top: -21px; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 150px;}
ul.linkList li {margin-top: 21px; width: calc((100% - 40px) / 2) !important; padding: 20px 30px 30px; border-radius: 5px; box-sizing: border-box; background-color: #efefef;}
.ttl { margin-bottom: 20px; color: #00738a; font-size: 1.8rem; font-weight: 700; letter-spacing: .05em; text-align: center;}
.pho {margin-bottom: 7px;}
p.tel {margin-bottom: 15px; padding-bottom: 10px; text-align: center; font-size: 2.3rem; font-weight: 700; letter-spacing: .075em; border-bottom: 1px solid #16254b; font-family: century-gothic, sans-serif;}
.btn_flex {display: flex; justify-content: space-between; margin-top: 20px; flex-wrap: wrap;}
.btn {padding: 17px 30px; color: #16254b; box-sizing: border-box; line-height: 2; letter-spacing: .01em; text-align: center; border-radius: 32px; background: url(../images/common/webp/icon07.webp) right 22px center / 12px auto no-repeat #fff2a9; font-weight: 500; display: block; width: 48%;}
.btn_flex a.btn { color: #16254b; text-decoration: none; transition: .3s;}
.btn_flex a.btn.btn2 {background-color: #8fd3f5;}
.back {background: #16254b; color: #fff; display: block; font-size: 14px; margin-top: 10px; border-radius: 3px; padding: 3px;}