: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%);
}

.sub-font{ font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; font-style: normal; }
h2,h3{ font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; font-style: normal; }

.body-wrap{ background: #fff; }

/* btn----------------- */
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; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); }
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 a[class*="btn"]:after{ background-image: url(../images/common/arrow01.png); }
a[class*="btn"]:not(:last-child){ margin-bottom: 20px; }
a[class*="btn"]:hover:after{ right: -27px; }
a.tel-btn:before{ content: ''; width: 20px; height: 17px; background: url(../images/lp04/icon-tel01.png) no-repeat center/contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%); }
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%); }
a.clinic-btn{ background: #9ad0f0; }
a.clinic-btn:before{ content: ''; width: 17px; height: 17px; background: url(../images/lp04/icon-home01.png) no-repeat center/contain; position: absolute; top: 51%; left: 75px; transform: translateY(-50%); }

main{ font-feature-settings : "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: #fff; letter-spacing: 0.05em; }

/* case----------------- */
.case-box{ position: relative; margin-bottom: 4rem; }
.case-box ul{ background-image: url("../images/lp04/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/lp04/case-parts.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: -4.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; }

.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; }

/* cv-area----------------- */

.cv-area{ padding: calc(5rem + 12.5vw) 0 7.5rem; color: #fff; background-image: url("../images/lp04/webp/cv-bg.webp"); background-repeat: no-repeat; background-position: top center; background-size: cover; margin-top: -12.5vw; position: relative; }
.no-webp .cv-area{ background-image: url("../images/lp04/cv-bg.png"); }

.cv-area h2{ display: table; text-align: center; font-size: 3.4rem; letter-spacing: 0.08rem; margin: 0 auto; border-bottom: 1px solid; padding: 0 2rem 1rem; margin-bottom: 3rem; }
.cv-area h2 span{ font-size: 4.6rem; }
.cv-area h3{ font-size: 2.2rem; text-align: center; letter-spacing: 0.08em; margin-bottom: 2rem; }
.cv-area h3 + p{ text-align: center; line-height: 2; margin-bottom: 3.5rem; }

.whitening{ display: flex; flex-direction: column; justify-content: center; padding: 0 5rem 0 25rem; border-radius: 0.8rem; height: 17.5rem; background-image: url("../images/lp04/webp/whitening-bg.webp"); background-repeat: no-repeat; background-position: center; background-size: cover; margin: -8.75rem auto; position: relative; z-index: 2; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); }
.no-webp .whitening{ background-image: url("../images/lp04/whitening-bg.jpg"); }

.whitening:before{ content: ""; width: 33.65rem; height: 28.35rem; background-image: url("../images/lp04/webp/whitening01.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: -4.2rem; left: -8.5rem; }
.no-webp .whitening:before{ background-image: url("../images/lp04/whitening01.png"); }

.whitening:after{ content: ""; width: 17.95rem; height: 13.25rem; background-image: url("../images/lp04/webp/whitening02.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: -5rem; left: 10rem; }
.no-webp .whitening:after{ background-image: url("../images/lp04/whitening02.png"); }

.whitening h2{ font-size: 2.68rem; background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 0.5rem; }
.whitening h2 span{ font-size: 3.7rem; letter-spacing: 0.05em; }
.whitening h2 + p{ line-height: 1.7; text-align: justify; }

/* mv----------------- */
.mv{ height: 71vw; position: relative; z-index: 1; }

.mv h1{ position: absolute; z-index: 2; top: 50%; left: 37vw; transform: translateY(-50%); }
.mv h1 img{ width: 20.15vw;  height: auto; }

.mv > div{ width: 38vw; height: 100%; position: absolute; top: 0; z-index: 0; }
.mv > div:before{ content: ""; width: 38vw; height: 13vw; position: absolute; bottom: 0; z-index: -1; }

.mv .mouthpiece{ left: 0; background: #80d2f7; border-radius: 0 0 9vw 0; }
.mv .mouthpiece:before{ border-radius: 0 0 9vw 0; background: linear-gradient(to bottom, rgba(0,139,194,0),#00a0d8); }
.mv .wire{ right: 0; background: #ff94ad; border-radius: 0 0 0 9vw; }
.mv .wire:before{ border-radius: 0 0 0 9vw; background: linear-gradient(to bottom, rgba(255,82,123,0),#ff7089); }

.mv > div .img{ position: absolute; top: 0; z-index: 0; }
.mv .mouthpiece .img{ left: 0; }
.mv .wire .img{ right: 0; }
.mv > div .img img{ display: block; width: 45vw; height: auto; max-width: none; }

.mv > div .txt{ position: absolute; z-index: 1; }
.mv .mouthpiece .txt{ left: 0; bottom: 12.5vw; }
.mv .mouthpiece .txt img{ width: 35.1vw; height: auto; }

.mv .wire .txt{ right: 0; top: 0; }
.mv .wire .txt img{ width: 35.6vw; height: auto; }

.mv > div .btn{ position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.mv > div .btn a{ width: 21.75vw; display: flex; justify-content: center; align-items: flex-end; text-align: center; font-size: 1.33vw; line-height: 1.3; padding-bottom: 1.6vw; color: #fff; background-repeat: no-repeat; background-position: center bottom; background-size: contain; position: relative; }
.mv .mouthpiece .btn a{ height: 15.4vw; background-image: url("../images/lp04/mv-mouthpiece-btn.png"); }
.mv .wire .btn a{ height: 18.45vw; background-image: url("../images/lp04/mv-wire-btn.png") }
.mv > div .btn a:after{ content: ""; width: 0.9vw; height: 0.6vw; background-image: url("../images/lp04/mv-arrow.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: 50%; bottom: 0.65vw; transform: translateX(-50%); }

.mv > div .btn a:hover{ opacity: 1; }
@media(min-width: 769px){
.mv .mouthpiece .btn a:hover{ background-image: url("../images/lp04/mv-mouthpiece-btn-on.png"); }
.mv .wire .btn a:hover{ background-image: url("../images/lp04/mv-wire-btn-on.png"); }
}
/* intro----------------- */
.intro{ padding: 10rem 0 calc(1rem + 9vw); position: relative; z-index: 0; background-image: url("../images/lp04/webp/intro-bg02.webp"); background-repeat: no-repeat; background-position: bottom center; background-size: 100%; }
.no-webp .intro{ background-image: url("../images/lp04/intro-bg02.png"); } 

.intro:before{ content: ""; width: 100%; height: 100%; background-image: url("../images/lp04/webp/intro-bg01.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/lp04/intro-bg01.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; }
.intro h2:before{ content: ""; display: block; width: 32.75rem; height: 8.85rem; background-image: url("../images/lp04/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; }

/* trouble----------------- */
.trouble{ padding: 9rem 0 12.5vw; background-image: url("../images/lp04/webp/trouble-bg.webp"); background-repeat: no-repeat; background-position: center; background-size: cover; }
.no-webp .trouble{ background-image: url("../images/lp04/trouble-bg.jpg"); }

.trouble h2{ text-align: center; font-size: 5.4rem; letter-spacing: 0.08em; margin-bottom: 4.5rem; }

.trouble .content{ height: 39.6rem; position: relative; }
.trouble .content:before{ content: ""; width: 54.15rem; height: 49.65rem; background-image: url("../images/lp04/webp/trouble-img.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: -13rem; bottom: -8.5vw; }
.no-webp .trouble .content:before{ background-image: url("../images/lp04/trouble-img.png"); }

.trouble .content li{ width: 27.3rem; height: 18.15rem; text-align: center; font-size: 1.8rem; font-weight: bold; background-image: url("../images/lp04/webp/trouble-txt-bg01.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; }
.no-webp .trouble .content li{ background-image: url("../images/lp04/trouble-txt-bg01.png"); }
.trouble .content li:nth-child(2){ background-image: url("../images/lp04/webp/trouble-txt-bg02.webp");  width: 32.83rem; height: 14.95rem; padding-left: 5rem; }
.no-webp .trouble .content li:nth-child(2){ background-image: url("../images/lp04/trouble-txt-bg02.png"); }
.trouble .content li span{ color: var(--color03); }

.trouble .content li:nth-child(1){ top: 0; left: 29.5rem; padding-top: 4rem; }
.trouble .content li:nth-child(2){ top: 6rem; right: -6rem; padding-top: 3.5rem; }
.trouble .content li:nth-child(3){ bottom: 0; right: 11.5rem; padding-top: 5rem; }

/* feature----------------- */
.feature{ padding: calc(14vw + 5rem) 0 calc(17.5vw + 11rem); background-image: url("../images/lp04/webp/feature-bg.webp"); background-repeat: no-repeat; background-position: top center; background-size: cover; position: relative; margin-top: -14vw; }
.no-webp .feature{ background-image: url("../images/lp04/feature-bg.png");  }

.feature h2{ display: table; width: 63rem; height: 16.45rem; padding-top: 2rem; text-align: center; font-size: 6rem; color: #fff; margin: 0 auto 5rem; background-image: url("../images/lp04/feature-tit-bg.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: relative; }
.feature h2 span{ display: block; font-size: 2.9rem; }

.feature h2:before,
.feature h2:after{ content: ""; width: 6.85rem; height: 14rem; background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; bottom: 0; }
.feature h2:before{ left: -4rem; background-image: url("../images/lp04/tit-parts01.png"); }
.feature h2:after{ right: -4rem; background-image: url("../images/lp04/tit-parts02.png"); }

.feature .box{ padding: 3rem 0; position: relative; z-index: 0; counter-increment: feature; }
.feature .box:not(:last-child){ margin-bottom: 4rem; }
.feature .box:before{ content: ""; width: calc(50vw + 10rem); height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; top: 0; z-index: -1; }

.feature .box:nth-child(1):before{ background-image: url("../images/lp04/webp/feature01.webp"); }
.feature .box:nth-child(2):before{ background-image: url("../images/lp04/webp/feature02.webp"); }
.feature .box:nth-child(3):before{ background-image: url("../images/lp04/webp/feature03.webp"); }
.feature .box:nth-child(4):before{ background-image: url("../images/lp04/webp/feature04.webp"); }
.no-webp .feature .box:nth-child(1):before{ background-image: url("../images/lp04/feature01.jpg"); }
.no-webp .feature .box:nth-child(2):before{ background-image: url("../images/lp04/feature02.jpg"); }
.no-webp .feature .box:nth-child(3):before{ background-image: url("../images/lp04/feature03.jpg"); }
.no-webp .feature .box:nth-child(4):before{ background-image: url("../images/lp04/feature04.jpg"); }

.feature .box .txt{ width: 64rem; background: #fff; padding: 4.5rem 5rem 3.5rem; border-radius: .8rem; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,.25)); transform: translateZ(0); position: relative; }

.feature .txt:before{ content: counter(feature); display: flex; justify-content: center; align-items: center; width: 11rem; height: 11rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; font-size: 7rem; line-height: 1; color: #fff; background-image: url("../images/lp04/feature-parts.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 3.5rem; left: 5rem; }


@media(min-width: 769px){
	.feature .box:nth-child(odd):before{ left: 30rem; border-radius: 0.8rem 0 0 0.8rem; }
	.feature .box:nth-child(even):before{ right: 30rem; border-radius: 0 0.8rem 0.8rem 0; }
	.feature .box:nth-child(odd) .txt{ transform: translateX(-10rem) translateZ(0); }
	.feature .box:nth-child(even) .txt{ margin-left: auto; transform: translateX(10rem) translateZ(0); }
}

.feature h3{ display: table; font-size: 2.95rem; letter-spacing: 0.08em; white-space: nowrap; margin: 0 0 2.5rem 12.5rem; background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; }
_::-webkit-full-page-media, _:future, :root .feature h3{ letter-spacing: 0; }
.feature h3 + p{ line-height: 2; text-align: justify }

/* choice----------------- */
.choice{ background-image: url("../images/lp04/choice-bg.png"); background-repeat: no-repeat; background-position: top center; background-size: 100% 100%; margin-top: -8vw; padding-bottom: 8.5rem; position: relative; z-index: 1; }

.choice .content{ position: relative; z-index: 0; padding: 9rem 0 4.5rem 32rem; transform: translateY(-2rem); }
.choice .content:before{ content: ""; width: 100rem; height: 100%; background: linear-gradient(to bottom,#99dbf8 20rem, #fff 20rem); border-radius: 0.8rem; position: absolute; top: 0; left: 50%; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,.25)); transform: translateX(-50%) translateZ(0); z-index: -1; }

.choice .content:after{ content: ""; width: 40.9rem; height: 40.2rem; background-image: url("../images/lp04/webp/choice-img.webp"); background-repeat: no-repeat; background-position: center bottom; background-size: contain; position: absolute; left: -6rem; bottom: 0; }
.no-webp .choice .content:after{ background-image: url("../images/lp04/choice-img.png"); }

.choice h2{ width: 64.3rem; height: 11.25rem; text-align: center; font-size: 4.2rem; color: #fff;
    padding-top: 1.35rem; background-image: url(../images/lp04/ribbon.png);  background-repeat: no-repeat; background-position: center; background-size: contain;
    position: absolute; top: -4rem; left: 50%; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateX(-50%) translateZ(0); }

.choice ul{ display: flex; justify-content: space-between; margin-bottom: 3rem; }
.choice ul img{ display: block; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); position: relative; z-index: 1; }
.choice h3{ width: 22rem; height: 7.5rem; display: flex; align-items: center; justify-content: center; font-size: 2.2rem; color: #fff; border-radius: 0.8rem; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); margin-top: -1.2rem; position: relative; z-index: 0; }
.choice li:nth-child(1) h3{ background-color: #33b7f2; }
.choice li:nth-child(2) h3{ background-color: #ff7595; }

.choice ul + p{ text-align: center; font-size: 1.6rem; line-height: 1.7; }


/* comparison----------------- */
.comparison{ padding: 10rem 0; background-image: url("../images/lp04/webp/comparison-bg.webp"); background-repeat: no-repeat; background-position: center; background-size: cover; }
.no-webp .comparison{ background-image: url("../images/lp04/comparison-bg.jpg"); }

.comparison h2{ text-align: center; font-size: 4.2rem; letter-spacing: 0.12em; margin-bottom: 6rem; }
.comparison h2:after{ content: ""; display: block; width: 5rem; height: 0.1rem; background: var(--color01); margin: 2.5rem auto 0; }

.comparison table{ width: 100rem; margin: auto; background: #fff; border-collapse: separate; border-radius: 0.8rem; overflow: hidden; border: 1px solid; }
.comparison table tr:not(:last-child) > *{ border-bottom: 1px solid var(--color01); }
.comparison table tr > *{ font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; font-style: normal; vertical-align: middle; font-size: 1.6rem; line-height: 1.75; padding: 1.5rem 0; letter-spacing: 0.155em; }
_::-webkit-full-page-media, _:future, :root .comparison table tr > *{ letter-spacing: 0; }
.comparison table tr > *:not(:last-child){ border-right: 1px solid var(--color01); }
.comparison table tr > *:first-child{ padding-left: 3rem; }

@media(min-width: 769px){	
	.comparison table tr > *:not(:first-child){ text-align: center; width: 38.7rem; }
	.comparison table tr td:nth-child(2){ color: #00a4ee; }
	.comparison table tr td:nth-child(3){ color: #ff527b; }
}

.comparison table tr:first-child > *{ height: 17.3rem; vertical-align: bottom; font-size: 2rem; position: relative; }
.comparison table tr:first-child th:nth-child(2){ background: #99dbf8; }
.comparison table tr:first-child th:nth-child(3){ background: #ffbaca; }
.comparison table tr:first-child th:before{ content: ""; background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: 50%; transform: translateX(-50%); }
.comparison table tr:first-child th:nth-child(2):before{ width: 19.4rem; height: 12.8rem; background-image: url("../images/lp04/item-mouthpiece.png"); top: 1.5rem; }
.comparison table tr:first-child th:nth-child(3):before{ width: 11.5rem; height: 12.3rem; background-image: url("../images/lp04/item-wire.png"); top: 1.5rem; }

/* point----------------- */
.point{ padding: 39rem 0 11rem; background-repeat: no-repeat; background-position: top center; background-size: cover; position: relative; }
.point.point-mouthpiece{ background-image: url("../images/lp04/webp/point-mouthpiece-bg.webp"); }
.no-webp .point.point-mouthpiece{ background-image: url("../images/lp04/point-mouthpiece-bg.jpg"); }

.point.point-wire{ padding: 48rem 0 11rem; background-image: url("../images/lp04/webp/point-wire-bg.webp"); }
.no-webp .point.point-wire{ background-image: url("../images/lp04/point-wire-bg.jpg"); }

.point h2{ width: 94.95rem; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.point.point-mouthpiece h2{ top: 5rem; }
.point.point-wire h2{ top: 13.5rem; }

.point .swiper-wrapper{ transition-timing-function: linear; padding-bottom: 2rem; }
.point .swiper-slide{ width: 28rem; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); }

.point li .photo{ width: 100%; height: 16.8rem; }
.point li .photo img{ width: 100%; height: 100%; object-fit: cover; border-radius: 0.8rem 0.8rem 0 0; }

.point li .txt{ background: #fff; border-radius: 0 0 0.8rem 0.8rem; padding: 2rem 2.5rem 1.5rem; }

.point li h3{ text-align: center; font-size: 1.8rem; white-space: nowrap; letter-spacing: 0.03em; margin-bottom: 0.5rem; }
.point.point-mouthpiece li h3{ color: #00a4ee; }
.point.point-wire li h3{ color: #ff527b; }
.point li h3 + p{ font-size: 1.4rem; text-align: justify; line-height: 1.7; }

/* flow----------------- */
.flow{ padding: 10rem 0 10.5rem; position: relative; background-image: url("../images/lp04/webp/flow-bg.webp"); background-repeat: no-repeat; background-position: center bottom; background-size: cover; }
.no-webp .flow{ background-image: url("../images/lp04/flow-bg.jpg"); }

.flow h2{ display: table; font-size: 4.3rem; margin: 0 auto 1rem; letter-spacing: 0.08em; background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; z-index: 1; }
.flow.flow-wire h2{ background: var(--grad02); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.flow h2 + h3{ display: table; font-family: source-han-sans-japanese, sans-serif; font-size: 1.8rem; color: var(--color03); margin: 0 auto 5rem; border: solid; border-width: 1px 0; padding: 1rem 4.5rem; position: relative; z-index: 1; }
.flow.flow-wire h2 + h3{ color: #ff527b; }

.flow ol{ padding: 0 5rem; }

.flow ol li{ background: var(--color03); color: #fff; counter-increment: flow; border-radius: 0.8rem; padding: 2.5rem 27.5rem 2rem 11.5rem; filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25)); transform: translateZ(0); position: relative; }
.flow ol li:nth-child(even){ background: var(--color04); }
.flow ol li:not(:last-child){ margin-bottom: 2rem; }

.flow.flow-wire ol li{ background: #ff86a2; }
.flow.flow-wire ol li:nth-child(even){ background: #ff527b; }

.flow ol li:before{ content: ""; width: 25rem; height: 100%; border-radius: 0 0.8rem 0.8rem 0; background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; right: 0; top: 0; }

.flow.flow-mouthpiece ol li:nth-child(1):before{ background-image: url("../images/lp04/webp/flow-mouthpiece01.webp"); }
.flow.flow-mouthpiece ol li:nth-child(2):before{ background-image: url("../images/lp04/webp/flow-mouthpiece02.webp"); }
.flow.flow-mouthpiece ol li:nth-child(3):before{ background-image: url("../images/lp04/webp/flow-mouthpiece03.webp"); }
.flow.flow-mouthpiece ol li:nth-child(4):before{ background-image: url("../images/lp04/webp/flow-mouthpiece04.webp"); }

.no-webp .flow.flow-mouthpiece ol li:nth-child(1):before{ background-image: url("../images/lp04/flow-mouthpiece01.jpg"); }
.no-webp .flow.flow-mouthpiece ol li:nth-child(2):before{ background-image: url("../images/lp04/flow-mouthpiece02.jpg"); }
.no-webp .flow.flow-mouthpiece ol li:nth-child(3):before{ background-image: url("../images/lp04/flow-mouthpiece03.jpg"); }
.no-webp .flow.flow-mouthpiece ol li:nth-child(4):before{ background-image: url("../images/lp04/flow-mouthpiece04.jpg"); }

.flow.flow-wire ol li:nth-child(1):before{ background-image: url("../images/lp04/webp/flow-wire01.webp"); }
.flow.flow-wire ol li:nth-child(2):before{ background-image: url("../images/lp04/07.jpeg"); }
.flow.flow-wire ol li:nth-child(3):before{ background-image: url("../images/lp04/webp/flow-wire02.webp"); }
.flow.flow-wire ol li:nth-child(4):before{ background-image: url("../images/lp04/08.jpeg"); }

.no-webp .flow.flow-wire ol li:nth-child(1):before{ background-image: url("../images/lp04/flow-wire01.jpg"); }
.no-webp .flow.flow-wire ol li:nth-child(2):before{ background-image: url("../images/lp04/flow-wire02.jpg"); }
.no-webp .flow.flow-wire ol li:nth-child(3):before{ background-image: url("../images/lp04/flow-wire03.jpg"); }
.no-webp .flow.flow-wire ol li:nth-child(4):before{ background-image: url("../images/lp04/flow-wire04.jpg"); }

.flow ol{ margin-bottom: 8rem; }
.flow ol li:after{ content: counter(flow); font-size: 5.9rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; color: var(--color03); line-height: 1; box-sizing: border-box; text-align: center; padding-top: 3.5rem; width: 7.55rem; height: 14rem; background-image: url("../images/lp04/flow-parts.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 0; left: 2.8rem; filter: drop-shadow(0.3rem 0.3rem 0.2rem rgba(0,6,53,0.25)); transform: translateZ(0); }
.flow ol li:nth-child(even):after{ color: var(--color04); }
.flow.flow-wire ol li:after{ color: #ff527b; }

.flow ol li h4{ font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; font-size: 1.8rem; line-height: 1.44; letter-spacing: 0.08em; margin-bottom: 1rem; }

.flow ol li p{ font-size: 1.4rem; text-align: justify; line-height: 1.7; }

.flow .price h2{ margin-bottom: 4rem; }
.flow .price h2:after{ content: ""; display: block; width: 5rem; height: 0.1rem; background: #00a4ee; margin: 2.5rem auto 0; }
.flow.flow-wire h2:after{ background: #ff527b; }

.flow .price h3{ text-align: center; font-size: 2.8rem; letter-spacing: 0.12em; background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 2.5rem; }
.flow.flow-wire .price h3{ background: var(--grad02); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.flow .price h3:before,
.flow .price h3:after{ content: ""; display: inline-block; width: 4rem; height: 0.1rem; background: #00a4ee; vertical-align: 0.7rem; margin: 0 1.5rem; }

.flow.flow-wire .price h3:before,
.flow.flow-wire .price h3:after{ background: #ff527b; }

.flow .price table{ width: 100%; background: #fff; border-collapse: separate; border-radius: 0.8rem; overflow: hidden; border: 1px solid; font-size: 1.6rem; }
.flow .price tr:not(:last-child) > *{ border-bottom: 1px solid var(--color01); }
.flow .price tr > *{ height: 6rem; vertical-align: middle; }
.flow .price tr > *:not(:last-child){ border-right: 1px solid var(--color01); }

.flow .price .fee{ margin-bottom: 4rem; }
.flow .price .fee th{ width: 25rem; background: #00a4ee; color: #fff; padding: 0 2.5rem; }
.flow.flow-wire .price .fee th{ background: #ff7595; }
.flow .price .fee td{ text-align: center; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; letter-spacing: 0.155em; }

.flow .price .loan{ text-align: center; }
.flow .price .loan tr:not(:first-child) > *{ width: 11.6rem; }
.flow .price .loan tr:nth-child(1) th{ background: #00a4ee; color: #fff; }
.flow.flow-wire .price .loan tr:nth-child(1) th{ background: #ff7595; color: #fff; }

.flow .price .loan tr:nth-child(2) th{ background: #adadad; color: #fff; }
.flow .price .loan td{ font-size: 1.5rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif"; font-weight: 600; letter-spacing: 0.115em; }

/* push----------------- */
.push{ height: 64rem; margin-bottom: -14.2vw; position: relative; background-image: url("../images/lp04/webp/push-bg.webp"); background-repeat: no-repeat; background-position: top center; background-size: cover; }
.no-webp .push{  background-image: url("../images/lp04/push-bg.jpg"); }

.push h2{ position: absolute; left: 0; top: -3.5rem; z-index: 1; }

.push p{ position: absolute; left: 10rem; bottom: -2rem; z-index: 2; }

/* case----------------- */
.case{ position: relative; z-index: 0; padding: 16rem 0 calc(40rem + 12.5vw); margin-bottom: -14.2vw; }

.case:before{ content: ""; width: 27.45rem; height: 27.8rem; background-image: url("../images/lp04/webp/parts02.webp"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 1.2rem; left: -5rem; z-index: 1; }
.no-webp .case:before{ background-image: url("../images/lp04/parts02.png"); }

.case:after{ content: ""; width: 100%; height: 45.8rem; background-image: url("../images/lp04/webp/wire-sec.webp"); background-repeat: no-repeat; background-position: center; background-size: cover; position: absolute; left: 0; bottom: 0; }
.no-webp .case:after{ background-image: url("../images/lp04/wire-sec.jpg"); }

.case .content{  padding: 9.5rem 0 7.5rem; position: relative; z-index: 0;  }
.case .content:before{ content: ""; width: calc(100% + 20rem); height: 100%; background: #efefef; border-radius: 0.8rem; position: absolute; top: 0; left: -10rem; z-index: -1; }

.case h2{ width: 64.3rem;
    height: 13.25rem;
    text-align: center;
    font-size: 4.1rem;
    color: #fff;
    padding-top: 0;
    background-image: url(../images/lp04/ribbon-pk.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: -7rem;
    left: 50%;
    filter: drop-shadow(0.8rem 0.8rem 0.6rem rgba(0,6,53,0.25));
    transform: translateX(-50%) translateZ(0);
    line-height: 1;}
.case h2 span{ font-size: 5.4rem; }

.case .content > div:not(:last-child){ position: relative; padding-bottom: 3rem; margin-bottom: 4rem; }
.case .content > div:not(:last-child):after{ content: ""; width: calc(100% + 20rem); height: 0.1rem; background: #fff; position: absolute; bottom: 0; left: -10rem; }

.case .fee-box > div p:last-child{ background: #fff; }
.case .case-box ul{ background-image: url("../images/lp04/case-arrow-pk.png");}

.case h2 .sml_txt{
	font-size: 21px;
	letter-spacing: 3px;
}

/* e-line----------------- */
.e-line{ padding: 9rem 0 6rem; position: relative; background-image: url("../images/lp04/webp/e-line-bg.webp"); background-repeat: no-repeat; background-position: top 3rem center; background-size: cover; }
.no-webp .e-line{ background-image: url("../images/lp04/e-line-bg.png"); }

.e-line .content{ position: relative; }
.e-line .content:after{ content: ""; width: 43.65rem; height: 59.55rem; background-image: url("../images/lp04/webp/e-line.webp"); background-repeat: no-repeat; background-position: center bottom; background-size: contain; position: absolute; left: -10rem; bottom: -6rem; }
.no-webp .e-line .content:after{ background-image: url("../images/lp04/e-line.png"); }

.e-line .txt{ width: 53.5rem; border-radius: 0.8rem; padding: 2rem 5rem 3rem; margin: 0 -5rem 0 auto; background: linear-gradient(to bottom,#fff,rgba(255,255,255,0.2)); }

.e-line h2{ font-size: 4.3rem; letter-spacing: 0.08em; white-space: nowrap; margin-bottom: 1.5rem; }
.e-line h2 span{ background: var(--grad01); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.e-line h2 strong{ display: inline-flex; justify-content: center; align-items: center; font-weight: 600; font-size: 8rem; width: 12.6rem; height: 12.6rem; line-height: 1; background-image: url("../images/lp04/e-line-parts.png"); background-repeat: no-repeat; background-position: center; background-size: contain; margin-top: -3.5rem; }

.e-line h3{ font-size: 2.4rem; white-space: nowrap; letter-spacing: 0.1em; border-bottom: 1px solid; padding-bottom: 1rem; margin-bottom: 2rem; }

.e-line .txt p{ text-align: justify; line-height: 2; }


/* dr----------------- */
.dr{ padding: 13.5rem 0 14rem; background-image: url("../images/lp04/webp/dr-bg.webp"); background-repeat: no-repeat; background-position: top center; background-size: cover; position: relative; z-index: 0; }
.no-webp .dr{ background-image: url("../images/lp04/dr-bg.jpg"); }

.dr:before{ content: ""; width: 48.85rem; height: 61rem; background-image: url("../../images/doctor/dr03.png"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; left: calc(50vw + 4rem); bottom: 11.5rem }
.no-webp .dr:before{ background-image: url("../../images/doctor/dr03.png"); }

.dr:after{ content: ""; width: 100%; height: 43vw; background-image: url("../images/lp04/webp/dr-bg02.webp"); background-repeat: no-repeat; background-position: center bottom; background-size: 100%; position: absolute; left: 0; bottom: -0.5rem; pointer-events: none; }
.no-webp .dr:after{ background-image: url("../images/lp04/dr-bg02.png"); }

.dr .txt{ width: 37.2rem; position: relative; z-index: 1; }
.dr h2{ font-size: 3.2rem; letter-spacing: 0.08em; border-bottom: 1px solid; padding-bottom: 1.5rem; margin-bottom: 2.5rem; }
.dr .txt > p:not([class]){ line-height: 2; text-align: justify; }

.dr .txt .name{ margin-top: 2rem; }

.dr .txt .name p:first-child{ font-size: 1.4rem; line-height: 1.42; margin-right: 2rem; }
.dr .txt .name p:last-child{ font-size: 3.6rem; line-height: 1; } 


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

.qa:before{ content: ""; width: 41.95rem; height: 51.05rem; background-image: url("../images/lp04/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/lp04/qa-img.png"); }

.qa h2{ display: table; font-size: 5.63rem; 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; }
.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; }

video{
	display: block;
}

.price .box h3 span{
	font-size: 24px;
}


h3.case_h3{
	font-size: 22px;
    text-align: center;
    margin-bottom: 25px;
    background: #33b7f2;
    color: #fff;
    border-radius: 0.5rem;
    padding: 3px;
	font-family: source-han-sans-japanese, sans-serif;
}

.kome{
	margin-top: 10px;
	background: #efefef;
	padding: 15px;
	border-radius: 0.5rem;
}

.flow .price .fee td{
	position: relative;
}

.flow .price .fee td span{
	position: absolute;
	font-size: 12px;
	letter-spacing: 0.7px;
	padding-top: 5px;
    padding-left: 3px;
	color: #555;
}

.flow .price .fee th span{
	position: absolute;
	font-size: 12px;
	letter-spacing: 0.7px;
	padding-top: 5px;
    padding-left: 3px;
}

.flow .price h4.invi_fee{
	color: #fff !important;
	background: #00a4ee;
	border-radius: 0.5rem;
	text-align: center;
	font-size: 17px;
    margin-bottom: 18px;
    padding: 8px;
	
}

.flow .price h4.fee_d {
    font-size: 16px;
    margin-bottom: 15px;
}


.flow .price h4.fee_d span{
	border: 1px solid;
	border-radius: 0.5rem;
	 padding: 2px;
	padding-left: 7px;
	padding-right: 7px;
	font-weight: 500;
	font-weight: 600;
}

.case-box ul + p .sml{
	font-size: 4rem;
}

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

a.btn2{
	  margin: auto;
	margin-bottom: 50px !important;
    text-align: center;
  
}

.flow .price .fee2{
	margin-bottom: 2rem;
}
	.case .case-box ul + p.sub-font2 {
       padding-top: 2.8rem;
		letter-spacing: 0px;
}

.free {
    position: absolute;
    bottom: 5px;
    right: 5px;
    font-size: 20px;
    background: #fff;
    color: #ff527b;
    font-size: 17px !important;
    border-radius: 250px;
    padding: 10px;
	padding-left: 12px;
    width: 64px;
    height: 64px;
    text-align: center !important;
    line-height: 2.3 !important;
    border: 2px solid #ff527b;
    font-weight: 600;
    letter-spacing: 2px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", yu-mincho-pr6, "serif";
}

.free2{
	color: #1271CC;
	border: 2px solid #1271CC;
}