/* 清書 v3：固定本文を保った紙面・読み幅・情報階層 */
body{word-break:normal;line-break:strict;overflow-wrap:anywhere}
p,dd,.a,.checks li,.ticks li{text-wrap:pretty}
.unit{display:inline-block;white-space:nowrap;text-indent:0}
.phrase{white-space:normal}
.nb{white-space:nowrap}
.checks li>span,.ticks li>span{flex:1 1 0;min-width:0}
.checks li::before,.ticks li::before{flex-shrink:0}
.chapter-head{position:relative;isolation:isolate;padding:24px 0 12px;margin-bottom:28px}
.chapter-head h2{position:relative;z-index:1;margin-bottom:0;max-width:24em}
.chapter-head .label{position:relative;z-index:1}
.process .chapter-head{border-top:1px solid #D8B99F;padding-right:64px}
.process .chapter-head::after{content:"";position:absolute;right:0;top:0;width:52px;height:52px;border:1px solid #D8B99F;border-top:0;border-right:0;border-radius:0 0 0 52px;background:#FFF0E4;z-index:-1}
.step{border-top:0;border-left:2px solid #E1C7B2;padding-left:64px}
.step .no{left:-21px;top:22px;outline:8px solid var(--paper)}
.step.free{border:1px solid #DEBDA3;border-left:3px solid var(--main);border-radius:0;padding-left:68px;background:linear-gradient(90deg,#FFF0E4,#FFF8F1)}
.step.free .no{left:14px;outline:0}
.step h3{font-size:22px;text-wrap:pretty}
.questions .chapter-head{padding-left:28px;border-left:3px solid var(--main);background:linear-gradient(90deg,#FFF0E4,transparent 78%)}
.qa h3{font:900 20px/1.7 var(--round);color:var(--ink);margin:0;text-wrap:pretty}
.qa li.main h3{font-size:23px;line-height:1.65;max-width:30em}
.qa li.main{border-radius:0;border:1px solid #DAB699;border-top:3px solid var(--main);background:#FFF3E9}
.fees .chapter-head{padding-left:28px;border-left:3px solid #D9B191}
.fees .chapter-head::before{content:"";position:absolute;left:-3px;top:0;width:48px;height:16px;background:#F4D4BB;z-index:-1}
.plans{border-radius:0;border:1px solid #D3B89F;border-top:3px solid var(--main)}
.plans li{background:#FFF8F1}
.incl{border-left:3px solid #B89171;background:#F8F1E9;border-radius:0}
.incl b{max-width:none;font-size:21px}
.sub{text-wrap:pretty}
.terms{border-radius:0;border:1px solid #CEB49E;border-top:4px solid var(--main);padding:36px 32px 16px}
.conditions .chapter-head{margin-bottom:8px;padding-top:4px}
.trow{grid-template-columns:10em minmax(0,1fr);gap:28px;padding:24px 20px}
.trow dt{align-self:start;font-size:17px;line-height:1.75;color:var(--ink);padding-top:2px}
.trow dt>span{border-bottom:1px solid #D8C2B1;padding-bottom:5px;display:inline-block}
.trow dd{font-size:17px;line-height:1.85}
.trow dd .c{display:inline}
.trow dd .c+.c{margin:0}
.trow dd .c+.c::before{content:"";display:block;height:6px}
.trow dd small{font-size:16px;line-height:1.95;margin-top:16px;color:var(--sub)}
.trow.key{border-left:3px solid var(--main);padding-left:17px;background:#FFF2E7}
.trow.key dt{color:var(--main-deep)}
.trow.key dt>span{border-bottom-color:#C89975}
.cond{color:var(--ink);font-size:16px;line-height:1.9}
.cond .price{font:inherit;font-weight:700;color:inherit}
.free-claim{display:inline-block;white-space:nowrap;font-size:16px;font-weight:700}
.cost-condition{font-weight:700}
.cond .ln+.ln{border-top:1px solid #DBC4B1;padding-top:12px;margin-top:14px}
.final .cond{max-width:780px;background:var(--paper);border:0;border-top:1px solid #D8BCA5;border-bottom:1px solid #D8BCA5;padding:20px 24px}
.cap,.hero-grid .cap{font-size:16px;line-height:1.85;color:var(--sub);text-align:left;margin-top:12px;max-width:36em;text-wrap:pretty}
.comparison .cap{max-width:60em}
.hero-grid .cap{position:relative;z-index:2;background:var(--main-bg)}
@media(max-width:859px){
 .wrap{padding-inline:22px}
 .chapter-head{padding-top:18px;margin-bottom:26px}
 .chapter-head h2{font-size:28px;line-height:1.55}
 .process .chapter-head{padding-right:32px}
 .process .chapter-head::after{width:28px;height:28px;border-radius:0 0 0 28px}
 .questions .chapter-head,.fees .chapter-head{padding-left:18px}
 .steps.four{margin-left:16px;gap:24px}
 .step{padding:20px 0 10px 22px}
 .step .no{left:-18px;top:20px;outline-width:5px}
 .step h3{font-size:21px;line-height:1.65;margin:0 0 16px 2px}
 .step.free{margin-left:-16px;padding:22px 18px 24px 18px}
 .step.free .no{left:14px;top:22px}
 .step.free h3{margin-left:42px}
 .qa h3{font-size:19px}
 .qa li.main{padding:22px 18px 24px}
 .qa li.main h3{font-size:21px}
 .ba-card{padding:22px 18px}
 .checks li,.ticks li{gap:9px}
 .terms{padding:26px 14px 8px}
 .trow,.trow.key{grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 12px}
 .trow.key{padding-left:9px}
 .trow dt{font-size:17px}
 .trow dt>span{padding-bottom:4px}
 .trow dd .c+.c::before{height:5px}
 .trow dd small{margin-top:14px;line-height:1.9}
 .final .cond{padding:20px 0}
 .hero-grid>div:last-child{margin-bottom:20px}
 .hero-grid .cap{max-width:340px}
 .hero-grid>div:last-child::before{bottom:90px}
 .incl{padding:20px 18px}
 .incl b{font-size:20px}
}

@media(max-width:359px){
 .wrap{padding-inline:18px}
 .chapter-head h2{font-size:26px}
 .ba-card{padding:20px 14px}
 .terms{padding-inline:10px}
 .trow,.trow.key{padding-inline:8px}
 .trow.key{padding-left:5px}
 .trow dt{font-size:16px}
 .step.free{padding-inline:14px}
 .step.free h3{font-size:20px;margin-left:40px}
 .qa li.main{padding-inline:14px}
 .hero-grid .cap{max-width:284px}
}

/* 人物画に含まれるアーチと床面を紙面の主役にする */
.scene-art{display:block;width:100%;height:auto;object-fit:contain}
.hero-grid>div:last-child::before,.hero::after{display:none}
.hero-art{max-width:510px;margin:auto;border-radius:18px}
.hero-grid>div:last-child{margin-top:64px}
.ba-card .scene-art{max-width:340px;margin:20px auto 16px;border-radius:10px}
.unit{display:inline;white-space:normal}
.lex{white-space:nowrap}
p,dd,.a,.checks li,.ticks li{overflow-wrap:normal;line-break:strict;text-wrap:pretty}
.step{align-self:start;border-left:0;border-top:1px solid #D8C2AF;padding:24px 0 12px 58px}
.step .no{left:0;top:23px;outline:0}
.step.free{align-self:start;padding:24px 24px 24px 72px;border:1px solid #D5B59C;border-top:3px solid var(--main);background:#FFF0E4}
.step.free .no{top:24px}
.step-summary{font-weight:700}
.step p+p{padding-top:12px;border-top:1px solid #E3D4C6}
.questions .chapter-head{border-left:0;border-top:1px solid #D8C2AF;padding-left:0;background:transparent}
.qa li.main{border:0;border-left:3px solid var(--main);padding:26px 28px;background:#FFF0E4}
.qa li:not(.main){padding:24px 0 28px;border-top:1px solid #D8C2AF}
.qa h3{max-width:25em;line-height:1.6}
.qa span.a{margin-top:16px;line-height:1.9}
.fee-explainer{position:relative;margin-top:36px;padding:24px 28px 28px;border-top:2px solid #BCA38F;border-bottom:1px solid #DCCABB;background:#F8F5F0}
.fee-explainer .sub{margin:0;padding:0 0 16px;border-top:0;border-bottom:1px solid #DCCABB;font-size:24px}
.fee-explainer .pl{max-width:58em;margin-top:20px}
.fee-explainer .condition-emphasis{font-weight:700;color:var(--ink)}
.fees>.wrap>.pl:last-child{font-size:16px;color:var(--sub)}
.terms{padding:36px 24px 12px;border-left:0;border-right:0;border-bottom:1px solid #CEB49E}
.terms .sum{max-width:55em}
.trow{padding:28px 18px;grid-template-columns:10em minmax(0,1fr);gap:28px}
.trow.key{border-left:0;padding-left:18px}
.trow dt>span{border-bottom:0;padding-bottom:0}
.trow dt{font-size:17px}
.trow dd{font-size:17px;line-height:1.85}
.trow dd small{max-width:46em;margin-top:16px;line-height:1.9}
.trow small .d{border-left:0;margin-left:0;padding:14px 0 0;border-top:1px solid #E2CEBD;font-weight:700}
.conditions .chapter-head{padding-top:4px}
@media(max-width:859px){
 .wrap{padding-inline:20px}
 .hero{padding-bottom:28px}
 .pr{padding-top:10px;padding-bottom:10px}
 .hero-grid h1{font-size:36px;line-height:1.2;margin:14px 0 12px}
 .hero-grid>div:last-child{margin:0 0 12px;max-width:360px}
 .hero-art{height:156px;width:auto;max-width:100%;margin:auto;border-radius:10px}
 .hero-grid .cap{margin-top:8px;max-width:none;font-size:16px;line-height:1.6}
 .hero-grid .lead{line-height:1.8}
 .hero-grid .cta{margin-top:18px}
 .hero-grid .cond{margin-top:20px}
 .steps.four{margin-left:0;gap:26px}
 .step{padding:20px 0 4px;border-top:1px solid #D8C2AF;border-left:0}
 .step .no{left:0;top:20px;outline:0}
 .step h3{margin:0 0 20px 46px;min-height:34px;font-size:21px;line-height:1.6}
 .step p{line-height:1.9}
 .step.free{margin-left:0;padding:22px 16px;border-left:0}
 .step.free .no{left:16px;top:22px}
 .step.free h3{margin-left:46px}
 .ba-card .scene-art{max-width:260px;margin:18px auto}
 .qa li.main{padding:22px 16px 24px}
 .qa h3{font-size:20px}
 .qa li.main h3{font-size:21px}
 .fee-explainer{padding:22px 0 24px;background:transparent;border-top:2px solid #BCA38F}
 .fee-explainer .sub{font-size:22px;padding-bottom:16px}
 .fee-explainer .pl{margin-top:20px}
 .terms{padding:26px 0 0}
 .trow,.trow.key{padding:22px 12px;grid-template-columns:minmax(0,1fr);gap:12px}
 .trow dt{font-size:17px;line-height:1.65}
 .trow dt>span{display:inline}
 .trow dd{font-size:17px}
 .trow dd small{font-size:16px;margin-top:16px;line-height:1.9}
 .terms .chapter-head,.terms>.sum{margin-left:4px;margin-right:4px}
}
@media(max-width:359px){
 .wrap{padding-inline:16px}
 .hero-grid h1{font-size:34px}
 .hero-art{height:136px}
 .hero-grid>div:last-child{margin-bottom:10px}
 .hero-grid .cap{max-width:none}
 .hero-grid .eyebrow{font-size:12px}
 .hero-grid .lead{line-height:1.8}
 .trow,.trow.key{padding-inline:10px}
 .trow dt{font-size:17px}
 .ba-card .scene-art{max-width:240px}
 .qa h3{font-size:19px}
 .step.free{padding-inline:14px}
 .step.free .no{left:14px}
}

h2,h3,.incl b{text-wrap:balance}

.chunk{white-space:nowrap}
