/* 清書：水色の紙面・整列した細い罫線・主役のための生成フレーム */
body{overflow-x:visible;line-height:1.9;text-autospace:normal;word-break:keep-all;line-break:strict}
.wrap{max-width:1140px;padding-inline:32px}
.hero{border-radius:0;padding-bottom:48px;background:#eaf6fd;overflow:clip;border-bottom:1px solid #b5d6eb}
.hero .dot{display:none}
.pr{font-size:13px;line-height:1.8;padding:16px 0;color:#354f65;border-bottom:1px solid #b5d6eb;max-width:1020px}
.pr b{background:#354f65;border-radius:2px;font-size:12px;padding:0 7px}
.hero-grid{gap:26px;align-items:start}
.eyebrow{padding:0 0 6px;background:transparent;border-radius:0;border-bottom:2px solid #1f6fa8;margin-top:28px;font-size:14px}
h1{font-size:clamp(44px,6vw,76px);line-height:1.15;letter-spacing:-.025em;margin:20px 0 26px}
h1 .em{color:#1f6fa8}
.lead{font-size:16px;line-height:1.9;color:#354f65;max-width:38em}
.lead .lead-open{display:block;font-weight:700;font-size:18px;color:#1f3345;margin-bottom:12px}
.lead .lead-service{display:block;margin-bottom:10px}
.lead .lead-price{font-weight:700;color:#1f3345}
.cta{border:1px solid #164f78;border-radius:10px;box-shadow:0 4px 0 #164f78;padding:18px 22px;font-size:18px;line-height:1.8;max-width:420px;margin-top:26px;gap:18px;min-height:64px}
.cta:hover{box-shadow:0 2px 0 #164f78}
.cta:focus-visible,.cond a:focus-visible{outline:3px solid #a4284a;outline-offset:5px}
.cond{font-size:16px;line-height:1.85;margin-top:24px;text-align:left;color:#354f65;word-break:normal;line-break:strict}
.cond .ln{padding:12px 0;border-top:1px solid #bad9eb}
.cond .price{font:700 16px/1.85 "Hiragino Sans","Meiryo",sans-serif;color:#1f3345}
.cond b{color:#1f3345}
.cond a{font-size:15px;text-underline-offset:5px;min-height:44px}
.hero-art{margin-top:26px;padding-top:28px;background:url('assets/frame-mobile.png') center top/100% 100% no-repeat;align-self:start}
.hero-art img{display:block;width:100%;height:530px;object-fit:cover;object-position:50% 50%}
.hero-art .cap{background:#eaf6fd;text-align:left;padding:12px 0 0;line-height:1.75}
.cap{font-size:13px;color:#44586a;line-height:1.75;margin-top:12px}
section{padding:80px 0}
section> .wrap{position:relative}
.label{display:block;width:fit-content;border-radius:0;background:none;padding:0 0 8px;border-bottom:2px solid #1f6fa8;color:#1f6fa8;font-size:14px;margin-bottom:16px}
h2{letter-spacing:-.015em;line-height:1.4;font-size:clamp(27px,3.3vw,40px);margin-bottom:32px}
.ba{gap:24px;align-items:stretch}
.ba-card{padding:24px 28px 28px;border-radius:0;border:0;box-shadow:none}
.ba-card.before{background:#f2f5f7;border-top:3px solid #a0afba}
.ba-card.after{border:0;border-top:3px solid #1f6fa8;background:#eaf6fd;box-shadow:none}
.ba-tag{background:none!important;border-radius:0;padding:0;font-size:22px;color:#354f65!important;margin:0 0 14px}
.ba-card img{display:block;width:100%;height:auto;max-width:350px;margin:0 auto 20px;aspect-ratio:1;object-fit:contain}
.before img{filter:saturate(.65)}
.checks,.ticks{gap:0}
.checks li,.ticks li{background:transparent;border-radius:0;padding:14px 0;border-top:1px solid #c7d7e1;align-items:flex-start;font-size:16px;font-weight:400;line-height:1.85}
.checks li::before{margin-top:10px;width:6px;height:6px;flex-basis:6px;background:#62707c}
.ticks li::before{margin-top:4px;flex-basis:20px;height:20px;background-color:#1f6fa8;background-size:14px}
.ticks li.warn::before{background-color:#62707c}
.ba-arrow{align-self:center}
.ba-arrow svg{width:30px}
.pl,.ba-note{max-width:850px;font-size:16px;line-height:1.9;color:#44586a;margin-top:20px}
.ba-note{border-left:2px solid #bad9eb;padding-left:18px}
.flow-section{background:#f9fcfe;border-block:1px solid #d3e6f2;padding:64px 0!important}
.steps{gap:0 44px}
.step{background:none;border:0;border-radius:0;padding:26px 0;border-top:1px solid #bad9eb}
.step .no{width:34px;height:34px;background:#1f6fa8;border-radius:0;font-size:17px;margin-bottom:14px}
.step h3{font-size:23px;margin-bottom:16px}
.step p{font-size:16px;color:#44586a;line-height:1.9}
.step p+p{margin-top:16px}
.step .opening{font-weight:700;color:#1f3345}
.step.free{border-color:#dfb9c4;background:#fff3f6;padding:26px 22px;margin-inline:-22px}
.step.free .no{background:#a4284a}
.final{padding-top:0}
.final .cond{max-width:850px;text-align:left}
.mid{margin-top:24px;border-top:1px solid #d3e6f2;padding-top:10px}
.qa{gap:0 44px;margin-top:28px}
.qa li{border:0;border-top:1px solid #bad9eb;border-radius:0;background:transparent;padding:24px 0}
.qa li.main{padding:24px 26px;margin-bottom:12px;border:0;border-left:4px solid #1f6fa8;border-radius:0;background:#eaf6fd}
.qa b{font-size:19px;line-height:1.6;margin-bottom:10px}
.qa li.main b{font-size:23px}
.qa span.a{color:#44586a;line-height:1.9}
.plans{gap:28px;margin-top:30px;align-items:stretch}
.plans li{padding:26px 28px;border:1px solid #bad9eb;border-top:4px solid #1f6fa8;border-radius:0;background:#f8fcfe}
.plans li+li{background:#fffafb;border-top-color:#d8a3b3}
.plans .name{font-size:23px;border-bottom:1px solid #bad9eb;padding-bottom:16px;margin-bottom:20px}
.plans dl{grid-template-columns:1fr;gap:0}
.plans dt{font-size:14px;color:#44586a;white-space:normal;margin-top:18px}
.plans dd{font-size:16px;line-height:1.9;margin-top:4px}
.plans dt:first-child{margin-top:0}
.plans .yen{font:900 38px/1.5 var(--round);color:#1f6fa8;font-variant-numeric:tabular-nums}
.incl{border-radius:0;padding:22px 24px;border-left:3px solid #1f6fa8;line-height:1.9;margin-top:24px}
.terms{border:0;border-top:3px solid #1f6fa8;border-radius:0;padding:32px 0 0;box-shadow:none;background:transparent;scroll-margin-top:24px}
.terms h2{margin-bottom:14px}
.terms .sum{line-height:1.9;margin-bottom:28px}
.trow{grid-template-columns:180px minmax(0,1fr);gap:28px;padding:24px 16px;line-height:1.9;border-top:1px solid #bad9eb}
.trow dt{font-size:15px;color:#164f78}
.trow dd{font-size:16px;min-width:0;font-weight:700}
.trow dd small{line-height:1.9;color:#44586a;margin-top:12px}
.trow.key{border:0;border-left:3px solid #1f6fa8;border-radius:0;padding:24px 16px;margin:0 0 12px;background:#eaf6fd}
.trow.key:nth-of-type(4){background:#fff3f6;border-color:#cc91a4}
footer{margin-top:0;background:#1f3345;padding:34px 0 40px;font-size:13px;line-height:1.9}
footer p+p{margin-top:12px}
@media(min-width:860px){
 .hero{background-color:#eaf6fd;background-image:linear-gradient(to bottom,transparent 800px,#eaf6fd 1060px),url('assets/frame-desktop.png');background-position:0 0,center 75px;background-size:auto,1440px auto;background-repeat:no-repeat}
 .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:50px}
 .hero-art{margin-top:42px;background:transparent;padding-top:0}
 .hero-art img{height:670px;object-fit:cover;object-position:54% 50%}
 .hero-art .cap{margin-top:22px;background:transparent}
 .ba{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:20px}
 .steps.four{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .qa{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .qa li.main{grid-column:1 / -1}
 .plans{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:859px){
 .wrap{padding-inline:24px}
 .hero{padding-bottom:32px}
 h1{font-size:58px;max-width:100%}
 .hero-grid{gap:18px}
 .hero-art{width:100%;max-width:430px;margin:8px auto 0}
 .hero-art img{height:500px}
 section{padding:56px 0}
 .flow-section{padding-block:44px!important}
 .ba{gap:14px}
 .ba-card{padding:22px}
 .ba-card img{max-width:320px}
 .ba-arrow{height:30px}
 .step.free{margin:0;padding:24px 18px}
 .qa li.main{padding:22px 20px}
 .plans li{padding:22px}
 .trow{grid-template-columns:1fr;gap:10px;padding:22px 0}
 .trow.key{padding:22px 16px}
 .terms{padding-top:26px}
 .final .cond a{justify-content:center}
}
@media(max-width:359px){
 .wrap{padding-inline:20px}
 h1{font-size:50px}
 h2{font-size:27px}
 .hero-art img{height:430px}
 .ba-card{padding:20px 18px}
 .cta{font-size:16px;padding:17px 12px;gap:8px}
 .lead .lead-open{font-size:17px}
 .qa li.main{padding:20px 16px}
 .plans li{padding:22px 18px}
 .plans .yen{font-size:35px}
 .cond .price .nb{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}

/* v2????????????????????????? */
.cond .ln:last-of-type{color:#1f3345;font-weight:700}
.everyday-section > .wrap > .cap{text-align:left}
.step.free{margin-inline:0;padding-inline:22px}
.answers-section{padding-top:80px}
.plans .first-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.plans .first-cycle{font:700 20px/1.5 var(--round);color:#1f3345;white-space:nowrap}
.plans li+li .yen{color:#164f78}
.plans li+li dt:nth-of-type(3){margin-top:10px}
.plans .commitment-label{font-size:16px;font-weight:700;color:#7c2641;margin-top:12px;border-top:1px solid #d8a3b3;padding-top:12px}
.plans .commitment{font-size:18px;font-weight:700;color:#7c2641;line-height:1.7}
.trow dt{font-size:16px;line-height:1.7}
.trow dd .c{line-height:1.8}
.trow dd small{padding-top:12px;border-top:1px solid #d3e6f2}
.trow.key:nth-of-type(4){background:#eaf6fd;border-color:#1f6fa8}
.trow.key:nth-of-type(3),.trow.key:nth-of-type(5){background:#fff3f6;border-color:#cc91a4}
@media(min-width:860px){
 .hero{background:#eaf6fd}
 .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:64px}
 .hero-art{position:relative;isolation:isolate;padding-top:0;background:none;margin-top:42px}
 .hero-art::before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:640px;background:linear-gradient(to bottom,transparent 75%,#eaf6fd 100%),url('assets/frame-desktop.png') right top/1000px auto no-repeat}
 .hero-art img{height:620px;object-position:54% 50%}
 .hero-art .cap{position:relative;margin-top:20px;padding:14px 16px;background:#eaf6fd;border-top:1px solid #bad9eb}
}
@media(max-width:859px){
 .wrap{padding-inline:22px}
 .hero{background-color:#eaf6fd;background-image:linear-gradient(to bottom,rgba(234,246,253,.65) 110px,#eaf6fd 290px),url('assets/frame-mobile.png');background-position:0 0,center 110px;background-size:auto,100% 720px;background-repeat:no-repeat}
 .pr{padding-block:12px;font-size:13px;line-height:1.7}
 .eyebrow{margin-top:20px;font-size:14px}
 h1{font-size:42px;line-height:1.18;margin:14px 0 18px}
 h1 .em br{display:none}
 .lead{font-size:16px;line-height:1.8}
 .lead .lead-open{font-size:17px;line-height:1.8;margin-bottom:10px}
 .lead .lead-service{margin-bottom:8px}
 .hero .cta{margin-top:20px}
 .hero .cond{margin-top:22px}
 .hero-art{padding-top:22px;background:linear-gradient(to bottom,transparent 76%,#eaf6fd 96%),url('assets/frame-mobile.png') center top/100% auto no-repeat;margin-top:4px}
 .hero-art img{height:420px}
 .hero-art .cap{margin-top:8px;padding-top:12px}
 .answers-section{padding-top:64px}
 .trow dt{font-size:18px;line-height:1.7;margin-bottom:2px}
}
@media(max-width:359px){
 .wrap{padding-inline:18px}
 .pr{padding-block:10px;line-height:1.6}
 .eyebrow{margin-top:16px;font-size:13px}
 h1{font-size:36px;line-height:1.18;margin:12px 0 14px}
 .lead{line-height:1.75}
 .lead .lead-open{font-size:16px;line-height:1.75;margin-bottom:8px}
 .hero-art img{height:360px}
 .plans .first-cycle{font-size:19px}
}

.plans li+li .first-price .yen{line-height:1.25}
.plans li+li dt:nth-of-type(3){margin-top:6px}
.plans li+li dt:nth-of-type(3)+dd{line-height:1.65}
.plans .commitment-label{margin-top:8px;padding-top:8px}
.incl b span{word-break:keep-all;overflow-wrap:normal}

.trow.key:nth-of-type(3){background:#eaf6fd;border-color:#1f6fa8}
.trow.key:nth-of-type(4){background:#fff3f6;border-color:#cc91a4}
