/* 固定ラフの構図と本文を保った清書。KR-D10・KR-D11、K-0030〜K-0040。 */
:root{--paper:#faf8f0;--main-bg:#edf5ee;--main-pop:#b9dfc9;--main:#1b674e;--main-deep:#174e3d;--ink:#243d32;--sub:#4a5d52;--line:#c7d8ca;--mute-bg:#f0f0e8;--mute:#67766b;--foot:#f0f3e9}
body{overflow-x:visible;text-spacing-trim:normal;line-height:1.9}
.wrap{max-width:1160px;padding:0 32px}
main{overflow:clip}
.hero{border-radius:0;background:var(--paper) url('assets/frame.webp') right top/cover no-repeat;border-bottom:1px solid var(--line);padding-bottom:54px}
.hero .dot{display:none}
.hero .pr{font-size:13px;line-height:1.8;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:24px;color:var(--sub)}
.pr b{border-radius:2px;background:var(--main-deep);font-size:11px;letter-spacing:.05em;padding:1px 7px}
.hero-grid{gap:34px;align-items:center}
.hero-grid>div{min-width:0}
.eyebrow{background:transparent;border-radius:0;padding:0 0 10px;margin-top:0;border-bottom:2px solid var(--main);font-size:14px;line-height:1.8}
h1{font-size:60px;line-height:1.27;margin:24px 0;letter-spacing:-.025em}
.lead{font-size:16px;line-height:1.95;max-width:34em}
.art{display:block;width:100%;height:auto;max-width:100%}
.art-hero{border-radius:4px;outline:1px solid #d9dfcf;outline-offset:7px}
.hero-grid>div:last-child{position:relative;padding:8px}
.cap{font-size:13px;line-height:1.8;margin-top:12px;color:var(--sub)}
.cta{border:2px solid var(--main-deep);border-radius:12px;box-shadow:0 5px 0 var(--main-deep);font-size:18px;line-height:1.8;margin-top:26px;padding:17px 24px;min-height:64px;max-width:100%;white-space:nowrap}
.cta:hover{background:var(--main-deep);box-shadow:0 3px 0 var(--main-deep)}
a:focus-visible{outline:3px solid #ad4b2d;outline-offset:5px}
.cond{font-size:15px;line-height:1.9;margin-top:22px}
.cond .price{font-size:21px;color:var(--main-deep)}
.cond .ln+.ln{margin-top:4px}
.cond a{margin-top:8px;text-underline-offset:5px}
section{padding:80px 0}
.label{background:none;border-radius:0;padding:0;display:flex;gap:12px;align-items:center;margin-bottom:16px;letter-spacing:.04em;font-size:14px}
.label:before{content:'';width:28px;height:3px;background:var(--main);flex-shrink:0}
h2{font-size:40px;line-height:1.45;letter-spacing:-.025em;margin-bottom:32px}
.ba{gap:24px;align-items:start}
.ba-card{padding:0!important;border-radius:0;background:none!important;border:0!important;box-shadow:none!important}
.ba-tag{padding:0 0 13px!important;border-radius:0;background:none!important;font-size:21px!important;width:100%;border-bottom:2px solid var(--line);margin-bottom:20px;color:var(--ink)!important}
.after .ba-tag{border-bottom-color:var(--main);color:var(--main-deep)!important}
.ba .art{margin:0 auto 22px;max-width:100%;border-radius:4px}
.ba-arrow{padding-top:220px}
.ba-arrow svg{width:32px}
.checks,.ticks{gap:0}
.checks li,.ticks li{background:transparent;border-radius:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.8}
.ticks li:before{flex-basis:20px;width:20px;height:20px;background-color:var(--main);background-size:14px}
.ba-note{margin-top:24px;border-left:3px solid var(--line);padding-left:18px;max-width:58em;font-size:15px}
.items{gap:0;margin-top:28px;grid-template-columns:1fr 1fr}
.items li{padding:24px 26px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.items li:nth-child(2n+3){border-right:1px solid var(--line)}
.items li.main{display:grid;grid-template-columns:30% 1fr;gap:24px;background:var(--main-bg);border-top:2px solid var(--main);margin-bottom:22px;padding:28px;grid-column:1/-1}
.items li.main b{font-size:23px}
.items li.main .how{margin:0}
.items b{font-size:19px}
.items .how{line-height:1.95;margin-top:12px}
.items .how>br{display:block;content:'';margin-top:9px}
.items~.pl{max-width:57em;margin-top:24px;padding-left:22px;border-left:2px solid var(--line)}
.items~.pl b{display:inline-block;margin-bottom:7px;color:var(--main-deep)}
.steps{gap:0 40px;counter-reset:steps}
.step{padding:28px 0 32px;border-radius:0;border:0;border-top:2px solid var(--main);background:transparent}
.step .no{width:auto;height:auto;border-radius:0;display:block;text-align:left;background:transparent;color:var(--main);font-size:42px;line-height:1.2;margin-bottom:18px}
.step h3{font-size:23px;line-height:1.6;margin-bottom:15px}
.step p{line-height:1.95}
.step .price{font-size:24px!important}
.steps+.pl{max-width:57em;margin-top:12px;border-left:3px solid var(--line);padding-left:20px}
.final{padding:30px 24px;background:var(--main-bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:42px}
.final .cta{margin-top:0}
.final .cond{max-width:760px;text-align:left}
.final .cond a{justify-content:flex-start}
.terms{padding:40px 44px;border:1px solid var(--line);border-top:5px solid var(--main);border-radius:0;box-shadow:none;background:#fffef9}
.terms h2{margin-bottom:16px}
.terms .sum{line-height:1.9;margin-bottom:30px}
.trow{grid-template-columns:12em minmax(0,1fr);gap:30px;padding:26px 0;font-size:16px}
.trow dt{color:var(--main-deep);line-height:1.9}
.trow dd{min-width:0;line-height:1.9}
.trow dd small{line-height:1.95;margin-top:14px}
.trow small .d{border:0;padding:0;margin:24px 0 9px;font-size:16px;color:var(--main-deep);line-height:1.8}
.trow small .d:first-child{margin-top:14px}
.trow.key{border-radius:0;border-top:1px solid var(--line);padding:26px 18px;margin:0 -18px;background:var(--main-bg)}
.trow dd .big{font-size:23px;color:var(--main-deep)}
footer{font-size:13px;line-height:1.9;padding:38px 0;margin-top:0;background:var(--main-deep)}
footer p{max-width:78em}
footer p+p{margin-top:12px}
@media(min-width:860px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}.ba{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)}}
@media(max-width:859px){
 .wrap{padding:0 24px}.hero{background-image:none;padding-bottom:36px}
 .hero-grid{grid-template-columns:1fr;gap:32px}.hero-grid>div:last-child{max-width:600px;width:100%;margin:auto;background:url('assets/frame-mobile.webp') center top/100% 100% no-repeat;padding:18px 12px}
 h1{font-size:52px}.lead{max-width:none}section{padding:56px 0}h2{font-size:33px}
 .ba{gap:22px}.ba-arrow{padding:0}.ba-arrow svg{transform:rotate(90deg)}
 .ba .art{max-width:520px}.ba-tag{margin-bottom:16px}
 .items{grid-template-columns:1fr}.items li{padding:24px 0}.items li:nth-child(2n+3){border-right:0}
 .items li.main{display:block;padding:24px 22px}.items li.main .how{margin-top:12px}
 .steps.two{grid-template-columns:1fr}.step{padding:24px 0 28px}.step .no{font-size:36px}
 .terms{padding:30px 24px}.trow{grid-template-columns:1fr;gap:12px}.trow dt{font-size:18px}.trow.key{padding:24px 14px;margin:0 -14px}
 .final{padding:28px 20px}
}
@media(max-width:559px){
 .wrap{padding:0 22px}.hero .pr{font-size:12px;margin-bottom:22px}.eyebrow{font-size:13px}
 h1{font-size:43px;line-height:1.3;margin:22px 0}.lead{font-size:16px}
 .cta{font-size:17px;padding:16px 14px;width:100%;gap:6px;min-height:66px}
 .cta svg{width:18px;height:18px}.cond{font-size:15px}.cond .price{font-size:20px}
 h2{font-size:29px;line-height:1.5}.nb{display:inline-block;white-space:nowrap;max-width:100%}
 .hero-grid{gap:28px}.art-hero{outline-offset:5px}.cap{font-size:12px}
 .ba-tag{font-size:20px!important}.ba-note{font-size:15px;padding-left:14px}
 .items li.main b{font-size:21px}.items .how{line-height:1.9}.items~.pl{padding-left:14px}
 .step h3{font-size:22px}.step .price{font-size:23px!important}
 .final{padding:26px 16px}.final .cond{font-size:15px}
 .terms{padding:26px 18px}.trow{padding:24px 0}.trow.key{padding:24px 12px;margin:0 -12px}
 .trow dd .big{font-size:21px}.trow dd small{line-height:1.95}.trow dd{overflow-wrap:normal}
 footer{font-size:12px;padding:32px 0}
}
@media(max-width:350px){.wrap{padding:0 18px}h1{font-size:37px}h2{font-size:25px}.cta{font-size:15px;padding:15px 10px}.cond{font-size:14px}.cond .price{font-size:19px}.terms{padding:24px 15px}.trow dd .big{font-size:19px}.final{padding:24px 12px}.step .price{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}

/* v2: 固定本文の階層・費用の条件・章ごとの紙面。KR-D11、CK-LP-TYPOGRAPHY-013。 */
body{word-break:normal;overflow-wrap:break-word;font-weight:450}
.unit{white-space:nowrap}
.nb{white-space:nowrap}
.hero-grid>div:first-child{position:relative}
.hero .cta{width:100%;max-width:460px;border-width:1px;border-radius:9px;box-shadow:0 3px 0 var(--main-deep);min-height:62px;padding:15px 18px}
.cta{border-width:1px;border-radius:9px;box-shadow:0 3px 0 var(--main-deep)}
/* 条件本文16px: DESIGN_FIX 対応5、KR-73・LP_LESSONS A5。 */
.cond,.final .cond{font-size:16px;line-height:1.9}
.cond{max-width:460px}
.cond .ln{display:block;padding:6px 0}
.cond .ln+.ln{margin-top:0}
.cond .price{display:inline;font-size:22px}
.cond .food-cost{display:inline-block;white-space:nowrap;font-weight:700;color:var(--main-deep);text-decoration:underline;text-decoration-color:#9ab6a1;text-underline-offset:5px;text-decoration-thickness:1px}
.cond>a{display:inline-block;margin-top:16px;line-height:1.8;font-weight:700}
.cap{display:table;max-width:100%;background:#fffef9;color:#243d32;padding:7px 10px;font-size:13px;border-left:2px solid var(--line);margin-top:15px;text-align:left;text-wrap:pretty}
.lead,.cond .ln{ text-wrap:pretty }
.hero-grid>div:last-child{align-self:start;margin-top:32px}
.hero-grid>div:last-child .cap{position:relative}
.art-hero{aspect-ratio:1.15;object-fit:cover;object-position:56% center;border-radius:48% 48% 3px 3px;outline:0;border:1px solid #a5b9a7}
.ba-tag{font-size:18px!important;line-height:1.7;padding-bottom:10px!important}
.ba .art{border-radius:0}
.ba .art-after{aspect-ratio:1.16;object-fit:cover;object-position:center 27%;border:1px solid var(--line);border-bottom:4px solid var(--main)}
.ba .art-before{aspect-ratio:1.16;object-fit:cover;object-position:center 33%;border:1px solid var(--line)}
.ba-arrow{padding-top:200px}
.ba-note{font-size:16px}
.comparison{padding-bottom:76px}
/* 章入口だけに生成画を置き、本文は無地に保つ。 */
.chapter-head{position:relative;isolation:isolate;padding:29px 0 26px;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:164px}
.chapter-head:after{content:'';position:absolute;z-index:-1;inset:0 0 0 auto;width:28%;background:url('assets/chapter.webp') right center/auto 100% no-repeat}
.chapter-head>.label,.chapter-head>h2{max-width:74%;position:relative}
.chapter-head h2{margin-bottom:0}
.chapter-head .label{margin-bottom:13px}
.services .chapter-head{border-left:4px solid var(--main);padding-left:26px}
.services>.wrap>.pl:first-of-type{margin:0 0 32px;max-width:52em}
.items{margin-top:0;column-gap:34px}
.items li.main{grid-template-columns:27% 1fr;background:#eef3ea;border-top:0;border-left:2px solid #a3bca5;padding:30px 32px;margin-bottom:18px}
.items li.main+.main{background:#f3f1e6;border-left-color:#c4b796}
.items li:not(.main){padding:30px 0 30px 2px}
.items li:nth-child(2n+3){border-right:0}
.items li>b{margin-bottom:19px}
.items li.main>b{margin-bottom:0}
.items li>b>.sub{margin-top:14px!important;line-height:1.9!important;color:var(--ink)!important}
.items .how{color:var(--ink);line-height:1.9}
.items .how>br{margin-top:13px}
.items .extra-cost{border-top:3px solid var(--main);border-left:0}
.items .extra-cost>b{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:0}
.cost-clause{display:block;margin-top:17px;padding-left:15px;border-left:2px solid #c1d2c3}
.cost-source{display:block;margin-top:20px}
.items .extra-cost .how{margin-top:20px}
.items .extra-cost .cost-clause:first-child{margin-top:0}
.items~.pl{max-width:54em;margin-top:34px;padding-left:24px}
.items~.pl>b{margin-bottom:13px}
.prose-part{display:block}
.prose-part+.prose-part{margin-top:17px}
.process .chapter-head{margin-bottom:10px}
.steps.two{column-gap:52px}
.step{padding:32px 0 38px;border-top:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:19px;align-content:start}
.step .no{grid-column:1;grid-row:1/4;color:var(--main);border-top:3px solid var(--main);padding-top:14px;margin:0;font-size:39px}
.step>h3,.step>p{grid-column:2}
.step h3{font-size:22px;line-height:1.65;padding-top:10px;margin-bottom:16px}
.step p{color:var(--ink);line-height:1.9}
.steps+.pl{margin-top:29px;max-width:55em}
.final{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;text-align:left;max-width:760px;margin:48px auto 0;padding:32px 44px;border:1px solid var(--line);border-left:4px solid var(--main);background:#f0f5ed}
.final .cta{width:100%;max-width:none;margin:0;min-height:62px}
.final .cond{margin:20px 0 0;max-width:none;font-size:16px}
.final .cond a{display:inline-block}
/* 条件の入口はタブ状の余白、本文は整列した台帳。札の反復を避ける。 */
.terms{padding:0 44px 22px;border:1px solid #a9bcae;border-top:0;position:relative;background:#fffef9}
.terms-head{position:relative;isolation:isolate;margin:0 -45px 0;padding:32px 44px 22px;background:var(--paper);border-top:4px solid var(--main);border-left:1px solid #a9bcae;border-right:1px solid #a9bcae}
.terms-head:after{content:'';position:absolute;inset:0 0 0 auto;width:24%;background:url('assets/chapter.webp') right center/auto 100% no-repeat;z-index:-1}
.terms-head .label,.terms-head h2{max-width:75%}
.terms-head h2{margin:0}
.terms .sum{margin:26px 0 30px;max-width:54em;color:var(--ink)}
.trow{grid-template-columns:11em minmax(0,1fr);column-gap:38px;padding:30px 0;border-top:1px solid #c7d8ca}
.trow dt{font-size:17px;font-weight:700;color:var(--main-deep);padding-top:0;line-height:1.8}
.term-summary{font-size:18px;line-height:1.85;font-weight:700;color:var(--ink);margin-bottom:20px;max-width:37em}
.trow.priority .term-summary{font-size:19px}
.trow:first-child .term-summary{font-family:var(--round);font-size:25px;color:var(--main-deep)}
.trow dd small{font-size:16px;color:var(--ink);font-weight:400;line-height:1.95;margin-top:0;max-width:43em}
.trow.key{background:transparent;margin:0;padding:30px 0;border-top:1px solid #c7d8ca}
.trow.priority{background:linear-gradient(90deg,#edf4ed 0 3px,transparent 3px);padding-left:19px;margin-left:-19px}
.detail-part{display:block;font-size:16px;color:var(--ink);line-height:1.95}
.detail-part+.detail-part{margin-top:22px;padding-top:19px;border-top:1px dotted var(--line)}
.detail-part strong{font-weight:700;color:var(--main-deep)}
.trow small .d{font-family:var(--round);font-size:17px;line-height:1.85;margin:30px 0 15px;color:var(--main-deep);font-weight:700}
.trow small .d:first-child{margin-top:0}
.extra-costs .term-summary{padding-bottom:16px;border-bottom:2px solid var(--line)}
.extra-costs .cost-clause{padding:0 0 0 17px;border-left:2px solid #b2c6b6;margin-top:19px}
.extra-costs .cost-clause:first-child{margin-top:0}
.trow dd .big{display:inline-block;margin:9px 0;font-size:24px}
@media(min-width:860px){
 .hero-grid{align-items:start}.hero-grid>div:last-child{margin-top:70px}
 .hero .cta{font-size:18px}.hero .cond{max-width:478px}
 .hero h1{font-size:58px}.hero .lead{max-width:30em}
}
@media(max-width:859px){
 .hero-grid>div:last-child{margin-top:0;padding:17px 12px 10px}
 .hero .cta,.hero .cond{max-width:none}
 .comparison{padding-bottom:56px}
 .ba-arrow{padding-top:0}
 .chapter-head{min-height:0;padding:24px 0;margin-bottom:25px}
 .services .chapter-head{padding-left:17px}
 .chapter-head:after{width:16%;background-size:auto 100%}
 .chapter-head>.label,.chapter-head>h2{max-width:83%}
 .items li.main{display:block;padding:25px 23px}.items li.main>b{margin-bottom:17px}
 .items li:not(.main){padding:28px 0}
 .items~.pl{padding-left:17px}
 .step{grid-template-columns:44px minmax(0,1fr);column-gap:18px;padding:25px 0 30px}
 .step .no{font-size:34px}.step h3{font-size:22px}
 .terms{padding:0 24px 12px}
 .terms-head{margin:0 -25px;padding:28px 24px 22px}
 .trow,.trow.key{grid-template-columns:1fr;gap:17px;padding:28px 0}
 .trow.priority{padding-left:14px;margin-left:-14px}
 .trow dt{font-size:18px}
 .term-summary,.trow.priority .term-summary{font-size:18px;margin-bottom:20px}
 .trow:first-child .term-summary{font-size:23px}
 .trow small .d{font-size:17px}
 .final{padding:28px 26px}
}
@media(max-width:559px){
 .hero h1{font-size:43px}.hero .cta{font-size:17px;min-height:62px}
 .hero .cond,.final .cond,.cond{font-size:16px}
 .cond .price{font-size:21px}
 .cond .ln{padding:7px 0}
 .cap{font-size:13px;line-height:1.8}
 .chapter-head{padding-top:25px;padding-bottom:23px}
 .chapter-head>.label,.chapter-head>h2{max-width:100%;padding-right:0}
 .chapter-head:after{height:64px;top:0;bottom:auto;width:96px;background-size:96px 64px;background-position:right top}
 .chapter-head h2{font-size:28px;line-height:1.55}
 .services .chapter-head{padding-left:16px}
 .items li.main{padding:24px 20px}.items .how{font-weight:450}
 .terms{padding:0 19px 10px}
 .terms-head{margin:0 -20px;padding:28px 19px 22px}
 .terms-head:after{width:22%}.terms-head h2{font-size:29px}
 .terms .sum{margin:24px 0 28px}
 .trow,.trow.key{padding:29px 0}
 .trow.priority{padding-left:11px;margin-left:-11px}
 .trow dd small,.detail-part{font-size:16px;line-height:1.95}
 .term-summary{line-height:1.85}
 .final{padding:25px 21px;border-left-width:3px}
 .final .cta{font-size:17px;padding:15px 8px;gap:5px}
 .final .cond .price{font-size:21px}
 .step{grid-template-columns:35px minmax(0,1fr);gap:0 15px}
 .step .no{font-size:31px}.step h3{font-size:21px}
 .step .price{font-size:22px!important}
}
@media(max-width:350px){
 .hero h1{font-size:37px}.hero .cta{font-size:15px;padding:15px 10px}
 h2{font-size:25px}.chapter-head h2{font-size:25px}
 .cond,.hero .cond,.final .cond{font-size:16px}
 .cond .price,.final .cond .price{font-size:20px}
 .final{padding:24px 15px}.final .cta{font-size:15px;padding:15px 5px}
 .terms{padding:0 16px 10px}.terms-head{margin:0 -17px;padding:27px 16px 21px}
 .trow:first-child .term-summary{font-size:20px}
 .trow.priority .term-summary,.term-summary{font-size:18px}
 .trow dd .big{font-size:20px}
 .step .price{font-size:20px!important}
}
/* v3: 情報の重要度に応じた紙面と、費用の適用条件を含むまとまり。 */
body{font-family:"Meiryo","Hiragino Sans","Yu Gothic UI",sans-serif;font-weight:400;line-height:1.95}
.pr b{font-size:12px}
.cond .ln{line-height:2;text-wrap:pretty}
.hero .cond{max-width:100%}
.cap{margin-top:8px}
.hero-grid>div:last-child{padding:8px 0}
.hero-grid>div:last-child .cap{width:100%;margin-top:9px;border-left:0;border-top:1px solid #a5b9a7;padding:10px 0;background:var(--paper)}
.ba{align-items:start}
.ba .art-before{aspect-ratio:1.06;object-position:center 32%}
.ba .art-after{aspect-ratio:1.06;object-position:64% 38%;border:0;border-left:6px solid #a3bca5;border-bottom:1px solid #a3bca5;padding-left:10px;border-radius:0 28% 0 0}
.comparison-cap{width:100%;border-left:0;border-top:1px solid var(--line);padding:10px 0;margin-top:14px;background:transparent}
/* 生成背景の全体を見せ、文字とは別の領域に置く。 */
.chapter-head,.terms-head{overflow:visible}
.chapter-head:after,.terms-head:after{width:174px;height:116px;inset:50% 16px auto auto;transform:translateY(-50%);background:url('assets/chapter.webp') center/100% 100% no-repeat;border:1px solid #dddcca}
.chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 220px)}
.terms-head>.label,.terms-head>h2{max-width:calc(100% - 200px)}
/* 費用の比較は同じカードにせず、内訳の台帳と追加負担の面で分ける。 */
.items{column-gap:26px;row-gap:0}
.items .included-cost{border-top:4px solid var(--main);padding:28px 26px!important;background:#edf4ed}
.items .included-cost>b{color:var(--main-deep);padding-bottom:15px;border-bottom:1px solid #a8c1b0}
.items .included-cost .how{font-weight:700;line-height:2.2}
.items .extra-cost{background:#f6efdf;border-top:4px solid #987647;padding:28px 26px!important}
.items .extra-cost>b{color:#57462f;border-bottom-color:#cebea0}
.items .extra-cost .cost-clause,.extra-costs .cost-clause{padding:14px 16px;margin-top:10px;background:#fffdf7;border:1px solid #ded1b9;border-left:3px solid #987647;color:var(--ink);line-height:1.95;font-weight:500}
.items .extra-cost .alternate-answer{padding:20px 0 0;margin-top:24px;background:transparent;border:0;border-top:2px solid #c4b391;font-weight:400}
.cost-source{margin-top:18px;padding-top:4px}
.items~.pl{padding:24px 28px;margin-top:28px;max-width:none;background:#f0f3e8;border:1px solid #c7d2b9;border-left:5px solid #a2b58d}
/* 手順の全体に外周と連続する番号軸を置く。 */
.steps.two{position:relative;gap:0 38px;padding:12px 28px 0;border-left:2px solid #a7bca5;border-right:1px solid #c7d8ca;background:#fffdf6}
.step{grid-template-columns:50px minmax(0,1fr);gap:0 20px;padding:28px 0 34px;border-bottom:1px solid #b9cbbb}
.step .no{color:var(--main-deep);padding-top:10px;border-top:4px solid #a7bca5;font-size:38px}
.step>p{line-height:1.95}
.step:last-child .price{background:#edf4ed;border-top:2px solid #a6beac;border-bottom:1px solid #a6beac;padding:14px 16px;margin:0 0 18px!important;line-height:1.9}
.steps+.pl{padding:24px 28px;margin:0;max-width:none;border:0;border-left:2px solid #a7bca5;border-right:1px solid #c7d8ca;border-bottom:2px solid #a7bca5;background:#eef3e9}
/* 通常項目は罫線、判断に関わる5項目は項目名の面と太い上辺。 */
.terms{border-left:2px solid #a7bca5;border-right:2px solid #a7bca5;background:#fffef9;padding-bottom:28px}
.trow{padding:30px 0;grid-template-columns:10.5em minmax(0,1fr);gap:28px;position:relative}
.trow dt{font-size:16px;padding:6px 0;font-weight:700}
.term-summary{font-size:18px;margin-bottom:19px;font-weight:700;text-wrap:pretty}
.trow dd small,.detail-part{font-size:16px;font-weight:400;line-height:2;color:var(--ink);max-width:none}
.trow.important{margin:22px -20px;padding:0 20px 27px;border:1px solid #bacaba;border-top:4px solid var(--main);background:#fffdf6;column-gap:28px}
.trow.important dt{background:#e6efe3;padding:19px 15px;margin-left:-20px;font-family:var(--round);font-size:18px;line-height:1.8;align-self:start;border-bottom:1px solid #bacaba}
.trow.important dd{padding-top:19px}
.trow.important .term-summary{font-size:19px;padding:0 0 18px;border-bottom:2px solid #b9cdb9;margin-bottom:20px}
.trow.trial-price .term-summary{font-size:26px;font-family:var(--round);color:var(--main-deep)}
.trow.eligibility .term-summary>span{display:block}
.trow.eligibility .term-summary>br{display:none}
.trow.extra-costs{border-top-color:#987647;background:#fbf6eb}
.trow.extra-costs dt{background:#f0e5cf;color:#57462f}
.trow.cancellation{border-top-color:#7b7055;background:#faf7ef}
.trow.cancellation dt{background:#eee9dc;color:#514a38}
.trow.recurring{border-top-width:6px;background:#f4f7ee}
.trow.recurring .term-summary{padding:17px 20px;background:#e8f0e1;border:1px solid #c2d2b8}
.trow small .d{margin:28px 0 15px}
.trow small .d:first-child{margin-top:0}
.trow .detail-block{border:0;padding:0;margin-top:18px}
.trow .detail-block:first-child{margin-top:0}
.trow .detail-emphasis{padding:16px 18px;background:#eef3e9;border-left:3px solid #b6c8ad}
.extra-costs .cost-clause:first-child{margin-top:0}
.extra-costs .cost-source{font-size:16px}
.trow dd .big{font-size:24px;margin:12px 0}
@media(min-width:860px){
 .hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:36px}
 .hero-grid>div:last-child{margin-top:70px}
 .hero .cond{max-width:510px}
 .terms-head:after{right:44px}
}
@media(max-width:859px){
 .chapter-head:after,.terms-head:after{width:126px;height:84px;right:8px}
 .chapter-head>.label,.chapter-head>h2,.terms-head>.label,.terms-head>h2{max-width:calc(100% - 150px)}
 .items{row-gap:20px}.items .included-cost,.items .extra-cost{padding:25px 22px!important}
 .steps.two{padding:0 22px;gap:0}
 .step{grid-template-columns:42px minmax(0,1fr);gap:0 16px}
 .step .no{grid-row:1;align-self:start}
 .step>h3{grid-column:2;grid-row:1;padding-top:5px;min-height:54px}
 .step>p{grid-column:1/-1}
 .step p+p{margin-top:18px}
 .steps+.pl{padding:22px}
 .trow{grid-template-columns:1fr;gap:10px}
 .trow.important{margin:22px -11px;padding:0 14px 25px;grid-template-columns:1fr;gap:0}
 .trow.important dt{margin:0 -14px;padding:15px 14px;font-size:18px}
 .trow.important dd{padding-top:21px}
 .trow.important .term-summary{font-size:18px}
 .trow.trial-price .term-summary{font-size:24px}
 .trow.recurring .term-summary{padding:16px 14px}
 .hero-grid>div:last-child{padding:18px 12px 8px}
}
@media(max-width:559px){
 .chapter-head,.services .chapter-head{padding:25px 0 22px 14px;border-left:3px solid var(--main)}
 .chapter-head:after,.terms-head:after{width:90px;height:60px;right:0;top:20px;transform:none}
 .chapter-head>.label,.terms-head>.label{max-width:calc(100% - 102px);min-height:66px;margin-bottom:9px;padding-right:4px;line-height:1.8}
 .chapter-head>h2,.terms-head>h2{max-width:100%;padding-right:0}
 .terms-head:after{right:14px}
 .items .included-cost,.items .extra-cost{padding:23px 20px!important}
 .items .extra-cost .cost-clause,.extra-costs .cost-clause{padding:13px 12px}
 .items .extra-cost .alternate-answer{padding:20px 0 0}
 .items~.pl{padding:22px 20px}
 .steps.two{padding:0 18px}
 .step{padding:24px 0 28px;grid-template-columns:36px minmax(0,1fr);gap:0 12px}
 .step .no{font-size:31px}
 .step h3{font-size:20px;min-height:54px;margin-bottom:15px}
 .step>p{font-size:16px}
 .step:last-child .price{padding:13px 12px;font-size:21px!important}
 .steps+.pl{padding:22px 18px}
 .terms .sum{font-size:16px}
 .trow.important .term-summary{line-height:1.9}
 .trow.trial-price .term-summary{font-size:22px}
 .trow.recurring .term-summary{padding:14px 10px}
 .trow dd .big{font-size:22px}
 .trow .detail-emphasis{padding:14px 12px}
 .final .cond .ln{padding:7px 0}
}
@media(max-width:350px){
 .wrap{padding:0 16px}
 .terms{padding-left:15px;padding-right:15px}
 .terms-head{margin-left:-17px;margin-right:-17px;padding-left:15px;padding-right:15px}
 .steps.two{padding-left:14px;padding-right:14px}.steps+.pl{padding:20px 14px}
 .items .included-cost,.items .extra-cost{padding:22px 16px!important}
 .trow.important{margin-left:-7px;margin-right:-7px;padding-left:11px;padding-right:11px}
 .trow.important dt{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px}
 .trow.trial-price .term-summary{font-size:20px}
 .trow dd .big{font-size:20px}
 .trow.recurring .term-summary{padding:14px 9px}
 .step:last-child .price{font-size:20px!important}
 .hero .cond{max-width:none}
}
/* 条件の異なる回答は枠から外し、本文のまとまりを維持する。 */
.items .extra-cost .cost-clause.alternate-answer{background:transparent;border:0;border-top:2px solid #c4b391;padding:20px 0 0;margin-top:24px;font-weight:400}
.how,.trow dd small,.detail-part,.prose-part,.ba-note,.pl{ text-wrap:pretty }
@media(min-width:860px){
 .trow.recurring{grid-template-columns:1fr;gap:0}
 .trow.recurring dt{margin-right:-20px;padding:18px 20px}
 .trow.recurring dd{padding-top:24px}
 .trow.recurring .term-summary{max-width:none}
}
/* 費用を横断して読む帯と三つの条件文。片側に広い空の面を残さない。 */
.items .included-cost{grid-column:1/-1;display:grid;grid-template-columns:27% minmax(0,1fr);gap:24px;align-items:start;margin-bottom:22px}
.items .included-cost>b{border-bottom:0;margin-bottom:0;padding-bottom:0}
.items .included-cost .how{margin-top:0}
.items .extra-cost{grid-column:1/-1}
.items .extra-cost .how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.items .extra-cost .cost-clause{margin:0}
.items .extra-cost .cost-clause.alternate-answer{grid-column:1/-1;margin-top:6px}
.items~.pl{background:transparent;border:0;border-left:2px solid var(--line);padding:8px 0 8px 24px}
.items+.pl{background:#eef3e9;border:1px solid var(--line);border-left:4px solid #a2b58d;padding:24px 28px}
@media(max-width:859px){
 .items .included-cost{display:block;margin-bottom:0}
 .items .included-cost>b{margin-bottom:16px}
 .items .extra-cost .how{grid-template-columns:1fr;gap:12px}
 .items~.pl{padding-left:17px}.items+.pl{padding:22px 20px}
}


body{color:var(--ink);word-break:normal;overflow-wrap:break-word;line-break:strict}
.items span.how{color:var(--ink);font-weight:400;line-height:1.95}
.unit{white-space:nowrap}
.cond .ln,.term-summary,.trow dd small,.detail-part,.prose-part{word-break:normal;text-wrap:pretty}

.hero{background:var(--paper);position:relative;isolation:isolate}
.hero-grid>div:last-child{isolation:isolate;position:relative}
.hero-grid>div:last-child:before{content:'';position:absolute;z-index:-1;inset:-35px -52px -28px -26px;background:url('assets/frame.webp') right center/auto 100% no-repeat}
.art-hero{aspect-ratio:1.25;object-fit:cover;object-position:center center;border-radius:47% 47% 2px 2px}
.hero-grid>div:last-child .cap{background:var(--paper);position:relative}
.ba .art-after{aspect-ratio:1.30;object-position:58% 35%;border-radius:0;border:1px solid #a3bca5;border-left:5px solid var(--main);padding:9px;outline:0;background:#fffef9}
.ba .art-before{aspect-ratio:1.06}

.chapter-head,.services .chapter-head{background:var(--paper);padding:30px 0 29px 26px;min-height:170px;overflow:hidden;border-left:3px solid var(--main)}
.chapter-head:after,.terms-head:after{inset:0 0 0 auto;width:300px;height:100%;transform:none;border:0;background:url('assets/chapter.webp') right center/auto 100% no-repeat}
.chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 200px)}
.chapter-head>.label{min-height:0;margin-bottom:14px;padding:0}
.terms-head{overflow:hidden}
.terms-head>.label,.terms-head>h2{max-width:calc(100% - 190px)}
.terms-head:after{right:0}

.items~.pl{padding:22px 0 24px;margin-top:18px;border:0;border-top:1px solid var(--line);background:transparent;max-width:none}
.items~.pl>b{font-family:var(--round);font-size:19px;line-height:1.75;margin-bottom:13px;color:var(--main-deep)}
.items+.pl{border-top:2px solid #a2b58d;border-left:4px solid #a2b58d;background:#eef3e9;padding:25px 28px;margin-top:28px}
.items~.pl>b+br{display:none}
.items~.pl>span{display:block;max-width:57em}
.items~.pl .prose-part+.prose-part{margin-top:16px}
.steps.two{gap:0 34px;padding-top:8px}
.step{padding:28px 0 35px;grid-template-columns:44px minmax(0,1fr);column-gap:18px}
.step .no{font-size:38px;border-top:3px solid #a7bca5}
.step h3{font-size:22px;margin-bottom:18px;line-height:1.7}
.step:nth-child(n+3){padding-top:33px;border-top:2px solid #a7bca5;border-bottom:0}
.step>p{font-size:16px;color:var(--ink)}
.steps+.pl{border-top:1px solid #a7bca5;padding-top:25px;padding-bottom:26px}

.trow{grid-template-columns:12em minmax(0,1fr);column-gap:30px;padding:32px 0}
.trow dt{font-size:16px;line-height:1.95}
.trow dt .unit{white-space:nowrap}
.trow.decision{margin:0;padding:34px 0;border-top:1px solid #afc3b4;background:transparent}
.trow.decision dt{font-family:var(--round);font-size:18px;font-weight:700;padding:3px 0 5px 14px;border-left:3px solid var(--main);align-self:start;color:var(--main-deep)}
.trow.decision .term-summary{color:var(--main-deep);font-size:19px;padding-bottom:16px;border-bottom:1px solid #afc3b4;margin-bottom:20px;line-height:1.85;max-width:none}
.trow dd small,.trow .detail-part{font-size:16px;color:var(--ink);font-weight:400;line-height:2;max-width:none}
.trow.company{padding-top:28px;border-top:1px solid var(--line)}
.trow.company dt{font-family:inherit;font-size:16px;color:var(--sub);border:0;padding-left:0}
.trow.company .term-summary{font-size:16px;color:var(--ink);border:0;margin-bottom:12px;font-weight:400}
.trow.important{column-gap:30px}
.trow.important dt{font-size:18px;padding:19px 14px}
.trow.important .term-summary{line-height:1.9}
.trow.consultation .detail-emphasis{background:#f0f4eb;border-left:2px solid #9eb79e;padding:16px 18px}
.trow .detail-block+.detail-block{margin-top:22px}
.trow dd small .d{padding-bottom:9px;border-bottom:1px solid #c1d2c0;margin-top:30px;margin-bottom:17px;line-height:1.9}
.trow dd small .d:first-child{margin-top:0}
.trow.insurance .term-summary{color:var(--main-deep)}
@media(min-width:860px){
 .hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:36px}
 .hero-grid>div:last-child{margin-top:88px}
 .hero .cond{max-width:none}
 .cond .ln{line-height:2}
 .trow.recurring{grid-template-columns:1fr}
 .trow.recurring dt{padding:18px 20px}
 .trow.recurring dd{padding-top:24px}
 .step .no{grid-row:1/5}
}
@media(max-width:859px){
 .hero-grid>div:last-child{background:none;padding:14px 8px 8px;margin-top:8px}
 .hero-grid>div:last-child:before{inset:-12px -18px -16px -18px;background-image:url('assets/frame-mobile.webp');background-size:100% 100%}
 .chapter-head,.services .chapter-head{padding:26px 18px;min-height:0}
 .chapter-head:after,.terms-head:after{width:170px;height:100%;right:0;top:0;transform:none;background-size:auto 100%}
 .chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 110px);min-height:0}
 .terms-head>.label,.terms-head>h2{max-width:calc(100% - 90px);min-height:0}
 .chapter-head>.label,.terms-head>.label{line-height:1.8;margin-bottom:16px;padding:0}
 .items~.pl{padding:22px 0;margin-top:14px}
 .items+.pl{padding:23px 20px;margin-top:26px}
 .items~.pl>b{font-size:18px;line-height:1.8}
 .steps.two{padding:0 20px}
 .step{grid-template-columns:38px minmax(0,1fr);column-gap:15px;padding:27px 0 31px;border-top:0!important;border-bottom:1px solid #b9cbbb}
 .step:nth-child(n+3){padding-top:27px;border-bottom:1px solid #b9cbbb}
 .step:last-child{border-bottom:0}
 .step .no{grid-row:1;font-size:33px}
 .step h3{font-size:21px;line-height:1.7;min-height:0;margin-bottom:20px;padding-top:5px}
 .step>p{grid-column:1/-1}
 .step>p+p{margin-top:18px}
 .steps+.pl{padding:23px 20px}
 .trow,.trow.decision{grid-template-columns:1fr;row-gap:15px}
 .trow.decision dt{font-size:18px;padding:2px 0 3px 12px;line-height:1.85}
 .trow.decision .term-summary{font-size:18px;line-height:1.95;margin-bottom:20px;padding-bottom:17px}
 .trow.important{grid-template-columns:1fr;gap:0}
 .trow.important dt{padding:15px 14px}
 .trow.company{row-gap:8px}
 .trow.consultation .detail-emphasis{padding:15px 12px}
 .ba .art-after{aspect-ratio:1.24;padding:7px}
}
@media(max-width:559px){
 .chapter-head,.services .chapter-head{padding:25px 14px 24px}
 .chapter-head:after,.terms-head:after{width:116px;background-size:auto 100%;right:0}
 .chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 62px)}
 .chapter-head>h2{font-size:28px;line-height:1.55}
 .terms-head>.label,.terms-head>h2{max-width:calc(100% - 58px)}
 .terms-head>h2{font-size:29px}
 .chapter-head .label,.terms-head .label{font-size:13px;letter-spacing:0}
 .chapter-head .label:before{width:18px}
 .items~.pl>b{font-size:18px}
 .steps.two{padding:0 18px}
 .step{grid-template-columns:34px minmax(0,1fr);column-gap:13px}
 .step h3{font-size:20px}
 .step .no{font-size:31px}
 .step:last-child .price{padding:13px 10px}
 .steps+.pl{padding:23px 18px}
 .trow,.trow.decision{padding:29px 0}
 .trow.important{padding-top:0}
 .trow.important dt{padding:15px 14px}
 .trow.important dd{padding-top:20px}
 .trow dd small,.trow .detail-part{line-height:1.95}
 .trow dd small .d{font-size:17px}
 .trow .detail-block+.detail-block{margin-top:20px}
 .final{padding:25px 17px}
}
@media(max-width:350px){
 .wrap{padding-left:16px;padding-right:16px}
 .chapter-head,.services .chapter-head{padding-left:12px;padding-right:10px}
 .chapter-head>h2{font-size:25px}
 .chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 50px)}
 .chapter-head:after,.terms-head:after{width:94px}
 .chapter-head .label:before{width:12px}
 .chapter-head .label{font-size:12px;gap:9px}
 .steps.two{padding-left:14px;padding-right:14px}
 .steps+.pl{padding-left:14px;padding-right:14px}
 .step h3{font-size:20px}
 .final{padding-left:12px;padding-right:12px}
 .trow.important dt{padding-left:11px;padding-right:11px}
}

/* 短い末尾行を避け、見出しと要約の行配分を揃える。 */
.term-summary{text-wrap:balance}
.trow.eligibility .term-summary>span{text-wrap:balance}
@media(max-width:559px){
 .chapter-head>h2{max-width:100%;text-wrap:balance}
 .chapter-head:after{opacity:.5}
 .terms-head:after{opacity:.7}
}

.cond .ln{text-wrap:balance}
.rate-comparison{display:block;text-wrap:balance}
@media(max-width:559px){.services .chapter-head .heading-line{display:block}}

/* v5: 条件見出し・折返し・背景・罫線の調整。 */
.cond .ln{text-wrap:pretty}
.term-summary{text-wrap:pretty}
.trow.decision dt{background:#edf3e9;border-left:3px solid #729a7a;border-bottom:1px solid #bfd0bd;padding:12px 14px;margin:0;color:var(--main-deep);font-family:var(--round);font-size:18px;line-height:1.85}
.trow.decision .term-summary{font-size:19px;color:var(--main-deep);font-weight:700;padding:0 0 17px;margin:0 0 20px;line-height:1.9;border-bottom:1px solid #afc3b4}
.trow.important .term-summary{max-width:none;width:100%;border-bottom:2px solid #b9cdb9}
.trow.recurring .term-summary{border:1px solid #c2d2b8}
.trow dd small{color:var(--ink);font-size:16px;font-weight:400}
.detail-topic{display:block;width:fit-content;max-width:100%;font-family:var(--round);font-weight:700;color:var(--main-deep);border-bottom:1px solid #b4c9b4;padding-bottom:7px;margin-bottom:11px;line-height:1.85}
.trow .detail-block+.detail-block{margin-top:26px}
.trow.consultation .detail-emphasis{background:transparent;border:0;border-top:1px solid #c7d8ca;padding:19px 0 0}
.trow.consultation .detail-emphasis strong.detail-topic{font-size:17px}
.chapter-head,.services .chapter-head,.terms-head{isolation:isolate;overflow:hidden;min-height:176px}
.chapter-head:after,.terms-head:after{width:260px;height:100%;inset:0 0 0 auto;transform:none;background:url('assets/chapter.webp') right center/300% 100% no-repeat;border:0;opacity:1}
.chapter-head>.label,.chapter-head>h2{max-width:calc(100% - 290px)}
.terms-head>.label,.terms-head>h2{max-width:calc(100% - 270px)}
.hero-grid>div:last-child:before{inset:-22px -20px 0 -16px;background:url('assets/frame.webp') right center/100% 100% no-repeat}
.hero-grid>div:last-child .cap{margin-top:18px;margin-right:0}
.art-hero{aspect-ratio:1.13;object-position:64% 40%;border-radius:48% 48% 2px 2px}
.ba .art-after{aspect-ratio:1.58;object-position:55% 38%;padding:0;border:0;border-bottom:3px solid #91ae98;border-radius:0}
.items~.pl{margin-top:0;padding:28px 0 32px;border-top:0;border-bottom:1px solid var(--line)}
.items+.pl{padding:25px 28px;margin-top:28px;margin-bottom:10px;border-top:2px solid #a2b58d;border-bottom:1px solid #c7d8ca}
.items~.pl>b{display:block;line-height:1.75;margin:0 0 15px}
.items~.pl>span{max-width:58em}
.items li:not(.main):not(.included-cost):not(.extra-cost){padding-top:32px;padding-bottom:25px}
.items li:not(.main):not(.included-cost):not(.extra-cost)>b{padding-bottom:12px;border-bottom:1px solid #d6dfcf;margin-bottom:16px}
.steps.two{align-items:start;background:transparent}
.step{align-self:start;border-bottom:1px solid #b9cbbb;padding-bottom:27px}
.step:nth-child(n+3){border-top:0;border-bottom:1px solid #b9cbbb;padding-top:29px}
@media(min-width:860px){
 .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:42px}
 .hero-grid>div:last-child{margin-top:100px;padding-right:0}
 .hero .lead{max-width:none}
 .hero .cond{max-width:none;width:100%}
 .cond .ln{line-height:2}
 .trow{grid-template-columns:12em minmax(0,1fr);column-gap:30px}
 .trow.important{grid-template-columns:12em minmax(0,1fr);column-gap:30px}
 .trow.recurring{grid-template-columns:1fr}
 .trow.important dd{min-width:0}
 .trow.decision dt{font-size:17px}
 .step .no{grid-row:1/6}
}
@media(max-width:859px){
 .hero-grid>div:last-child{margin-top:8px}
 .hero-grid>div:last-child:before{inset:-12px -12px 0;background-image:url('assets/frame-mobile.webp')}
 .chapter-head,.services .chapter-head,.terms-head{padding-top:25px;padding-bottom:25px;min-height:164px}
 .chapter-head:after,.terms-head:after{width:108px;background-size:300% 100%;opacity:1}
 .chapter-head>.label,.chapter-head>h2,.terms-head>.label,.terms-head>h2{max-width:calc(100% - 102px)}
 .chapter-head>h2{font-size:28px;line-height:1.55;text-wrap:pretty}
 .services .chapter-head .heading-line{display:block;white-space:normal}
 .trow.decision dt{padding:11px 13px;font-size:18px}
 .trow.decision .term-summary{font-size:18px}
 .ba .art-after{aspect-ratio:1.48;object-position:55% 35%}
 .step:nth-child(n+3){padding-top:27px}
 .items~.pl{padding-top:26px;padding-bottom:29px}
 .items+.pl{padding:23px 20px}
}
@media(max-width:559px){
 .chapter-head,.services .chapter-head{padding-left:14px;padding-right:14px}
 .chapter-head>h2{font-size:26px}
 .chapter-head:after,.terms-head:after{width:88px}
 .chapter-head>.label,.chapter-head>h2,.terms-head>.label,.terms-head>h2{max-width:calc(100% - 82px)}
 .chapter-head .label{font-size:13px;gap:9px;letter-spacing:0}
 .chapter-head .label:before{width:14px}
 .terms-head>h2{font-size:28px}
 .trow .detail-block+.detail-block{margin-top:25px}
}
@media(max-width:350px){
 .chapter-head,.services .chapter-head{padding-left:12px;padding-right:10px}
 .chapter-head:after,.terms-head:after{width:68px}
 .chapter-head>.label,.chapter-head>h2,.terms-head>.label,.terms-head>h2{max-width:calc(100% - 64px)}
 .chapter-head>h2{font-size:25px}
 .chapter-head .label{font-size:12px}
 .terms-head>h2{font-size:27px}
 .trow.important .term-summary{font-size:18px}
 .trow.trial-price .term-summary{font-size:20px}
}

.hero-grid>div:last-child:before{content:none}
.hero-art{position:relative;isolation:isolate}
.hero-art:before{content:'';position:absolute;z-index:-1;inset:-24px -18px 0 -16px;background:url('assets/frame.webp') right center/100% 100% no-repeat}
.hero-grid>div:last-child .cap{margin-top:19px}
@media(max-width:859px){.hero-art:before{inset:-14px -12px 0;background-image:url('assets/frame-mobile.webp')}}

@media(min-width:860px){.hero .lead{max-width:31em}}

.hero-art:before{inset:-24px 0 0 -16px}
@media(max-width:859px){.hero-art:before{inset:-14px 0 0}}


/* v6: ??????????????????? */
.trow.consultation strong.detail-topic,
.trow.service-hours strong.detail-topic{
 display:inline;width:auto;max-width:none;border:0;
 padding:0;margin:0;font-family:inherit;font-size:inherit;
 font-weight:700;line-height:inherit;color:var(--main-deep);
}
.trow.consultation .detail-emphasis{
 border:0;padding:0;background:transparent;
}
.trow.consultation .detail-emphasis strong.detail-topic{font-size:inherit}
.trow.consultation .detail-block+.detail-block{margin-top:19px}
.trow.service-hours .detail-block+.detail-block{margin-top:19px}
.trow.consultation .detail-emphasis>.detail-topic:not(strong){
 display:inline;border:0;padding:0;margin:0;line-height:inherit;
}
.trow.payment dt,.trow.limitations dt{
 background:#edf3e9;border-left:3px solid #729a7a;
 border-bottom:1px solid #bfd0bd;padding:12px 14px;
 font-family:var(--round);font-size:17px;font-weight:700;
}
.trow.payment .term-summary,.trow.limitations .term-summary{
 font-size:18px;font-weight:700;line-height:1.9;
 color:var(--main-deep);
}
.chapter-head,.services .chapter-head,.terms-head{
 padding:28px 26px;min-height:170px;
}
.chapter-head:after,.terms-head:after{
 width:255px;background-size:auto 100%;background-position:right center;
 opacity:1;
}
.chapter-head>.label,.chapter-head>h2,
.terms-head>.label,.terms-head>h2{max-width:calc(100% - 255px)}
.chapter-head>h2,.terms-head>h2{text-wrap:balance}
.services .chapter-head .heading-line{display:block;white-space:normal}
.cond .ln{line-height:1.95;padding:8px 0;text-wrap:pretty}
.cond .ln:nth-child(2){text-wrap:balance}
.cond .ln:nth-child(4){text-wrap:pretty}
.hero-art .art-hero{
 aspect-ratio:1.16;object-fit:cover;object-position:50% 50%;
}
.ba .art-after{
 aspect-ratio:1.28;object-fit:cover;object-position:67% 43%;
}
.items li:not(.main):not(.included-cost):not(.extra-cost)>b{
 border:0;margin-bottom:10px;padding-bottom:0;
}
.items~.pl{
 border-left:0;border-top:0;border-bottom:1px solid var(--line);
 padding:23px 0 27px;margin:0;
}
.items+.pl{
 margin-top:24px;padding:23px 26px;border-left:3px solid #a2b58d;
 border-top:0;border-bottom:0;
}
.items~.pl>b{margin-bottom:10px;line-height:1.7}
.items+.pl>b{font-size:19px}
.items~.pl:not(:first-of-type)>b{font-size:18px}
.items~.pl .prose-part+.prose-part{margin-top:14px}
.steps.two{column-gap:36px;row-gap:0}
.step{grid-template-columns:44px minmax(0,1fr);column-gap:18px}
.step .no{border-top:0;margin:0;padding:0;line-height:1.35}
.step h3{margin:0 0 16px;line-height:1.7}
.step:nth-child(n+3){border-top:0}
.terms{border-left:0;border-right:0;padding-left:32px;padding-right:32px}
.trow.important .detail-part,
.trow.important .cost-clause{
 border-left:0;border-right:0;box-shadow:none;
}
@media(min-width:860px){
 .step{padding-top:27px;padding-bottom:23px}
 .step>p:last-child{margin-bottom:0}
 .step .no{grid-row:1/8}
 .steps.two{align-items:start}
 .trow.payment dt,.trow.limitations dt{font-size:17px}
}
@media(max-width:859px){
 .chapter-head,.services .chapter-head,.terms-head{padding:24px 18px;min-height:158px}
 .chapter-head:after,.terms-head:after{width:96px;background-size:auto 120px;background-position:right bottom}
 .chapter-head>.label,.chapter-head>h2,
 .terms-head>.label,.terms-head>h2{max-width:calc(100% - 76px)}
 .chapter-head>h2{font-size:28px;line-height:1.55}
 .chapter-head .label,.terms-head .label{font-size:13px;letter-spacing:0}
 .chapter-head .label:before,.terms-head .label:before{width:14px}
 .terms{padding-left:12px;padding-right:12px}
 .trow,.trow.decision{row-gap:15px}
 .trow.payment dt,.trow.limitations dt{font-size:18px;padding:11px 13px}
 .trow.important{margin-left:0;margin-right:0;padding-left:0;padding-right:0}
 .trow.important dd{padding-left:13px;padding-right:13px}
 .trow.important .detail-part,.trow.important .cost-clause{
  padding:12px 0;background:transparent;
 }
 .step{grid-template-columns:34px minmax(0,1fr);column-gap:14px}
 .step .no{font-size:31px;padding-top:4px}
 .step h3{font-size:20px;padding-top:0}
 .steps.two{padding-left:0;padding-right:0}
 .steps+.pl{padding-left:16px;padding-right:16px}
 .ba .art-after{aspect-ratio:1.30;object-position:67% 43%}
 .items~.pl{padding:22px 0 26px}
 .items+.pl{padding:22px 18px}
}
@media(max-width:559px){
 .chapter-head,.services .chapter-head,.terms-head{
  padding:22px 12px 24px;min-height:172px;
 }
 .chapter-head:after,.terms-head:after{
  width:64px;background-size:auto 110px;
 }
 .chapter-head>.label,.chapter-head>h2,
 .terms-head>.label,.terms-head>h2{max-width:calc(100% - 52px)}
 .chapter-head>h2{font-size:26px;line-height:1.55}
 .services .chapter-head .heading-line{white-space:normal}
 .terms-head>h2{font-size:28px}
 .cond .ln:nth-child(2){text-wrap:pretty}
 .terms{padding-left:8px;padding-right:8px}
 .trow.important dd{padding-left:11px;padding-right:11px}
 .final{padding-left:10px;padding-right:10px}
 .trow dd small .d{margin-top:24px;margin-bottom:12px}
}
@media(max-width:350px){
 .chapter-head,.services .chapter-head,.terms-head{padding-left:11px;padding-right:8px}
 .chapter-head:after,.terms-head:after{width:49px;background-size:auto 99px}
 .chapter-head>.label,.chapter-head>h2,
 .terms-head>.label,.terms-head>h2{max-width:calc(100% - 41px)}
 .chapter-head>h2{font-size:25px}
 .chapter-head .label,.terms-head .label{font-size:12px;gap:8px}
 .chapter-head .label:before,.terms-head .label:before{width:10px}
 .terms-head>h2{font-size:27px}
 .terms{padding-left:5px;padding-right:5px}
}
