:root{color-scheme:light;--ink:#242424;--muted:#555;--line:#d8d8d5;--control:#737373;--paper:#fff;--shade:#f5f5f3;--radius:8px}

*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.85 system-ui,-apple-system,"Noto Sans JP",sans-serif;overflow-wrap:break-word}
a{color:inherit;text-underline-offset:5px}
button:where(:not(.u-action)),input,select,textarea{font:inherit;color:inherit}
button:where(:not(.u-action)),.button:where(:not(.u-action)){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:1px solid var(--control);border-radius:var(--radius);padding:12px 22px;background:#fff;text-decoration:none;cursor:pointer;text-align:center;line-height:1.6;font-weight:600}
button:where(:not(.u-action)).primary,.button:where(:not(.u-action)).primary{background:var(--ink);border-color:var(--ink);color:#fff}
button:where(:not(.u-action)):disabled{cursor:default;color:#777;background:#eee;border-color:#aaa}
button:where(:not(.u-action)):not(:disabled):hover,.button:where(:not(.u-action)):hover{background:#ededeb}
button:where(:not(.u-action)).primary:hover,.button:where(:not(.u-action)).primary:hover{background:#444}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #242424;outline-offset:4px}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.5;letter-spacing:.015em;text-wrap:balance}
h1{font-size:clamp(2rem,3.6vw,3rem);margin:16px 0 24px}
h2{font-size:clamp(1.625rem,2.5vw,2rem);margin:0 0 32px}
h3{font-size:var(--type-h3);margin:0 0 16px}
p{margin:0 0 24px}
p:last-child{margin-bottom:0}
section{margin:96px 0}
section>p{max-width:780px}
ul,ol{padding-left:24px;margin:0 0 24px}
li+li{margin-top:12px}
strong{font-weight:650}
.container{max-width:1184px;margin:auto;padding:0 32px}
.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:30}
.skip:focus{top:8px}
.wfbar{background:var(--shade);font-size:1rem;padding:6px 0}
.wfbar .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
header{border-bottom:1px solid var(--line);background:#fff}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}
.logo{font-size:20px;font-weight:700;text-decoration:none;line-height:1.5}
.site-nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:16px}
.site-nav a{text-decoration:none;padding:8px 0}
.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline}
.site-nav a[aria-current=page]{font-weight:700}
.phone{white-space:nowrap;font-weight:700;letter-spacing:.02em}
.menu-toggle{display:none}
.breadcrumb{font-size:1rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.breadcrumb span:last-child{max-width:40em}
.eyebrow,.label{font-size:1rem;font-weight:650;letter-spacing:.04em;color:var(--muted);margin:0 0 12px}
.muted{color:var(--muted);font-size:16px}
main{padding-top:40px;padding-bottom:32px}
.hero{padding:24px 0 48px}
.hero-copy{max-width:860px;min-width:0}
.hero.has-photo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
.hero .lead>p{max-width:44em}
.hero .picture{height:auto;width:100%;min-width:0;min-height:300px;aspect-ratio:4/3;margin:0}
.hero.has-photo h1{font-size:clamp(2rem,3.3vw,2.8rem)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.actions>*{max-width:100%}
.picture{display:flex;align-items:center;justify-content:center;min-height:240px;background:#eee;border:1px dashed #969696;border-radius:var(--radius);padding:32px;margin:0 0 24px;color:#555}
.picture.wide{aspect-ratio:16/7}
.picture.small{aspect-ratio:4/3;min-height:160px}
.picture span{max-width:38em;font-size:1rem}
.section-links{display:flex;gap:8px 20px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);margin:0 0 64px}
.section-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;padding:8px 12px;min-height:48px;font-size:16px;font-weight:600}
.section-links a:hover{background:var(--shade)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid.two,.split{grid-template-columns:repeat(2,minmax(0,1fr))}
.split{display:grid;gap:48px;align-items:start}
.box,.card,.cta{padding:32px;border:1px solid var(--line);border-radius:var(--radius)}
.card{display:flex;flex-direction:column;min-width:0}
.card .picture{margin:-8px -8px 24px}
.card .actions{margin-top:auto;padding-top:24px}
.card .facts{grid-template-columns:1fr;font-size:16px}
.card .facts dt{border:0;padding-bottom:0;color:#555}
.card .facts dd{padding-top:4px}
.card .button{width:100%}
.price{font-size:30px;line-height:1.4;font-weight:700;font-variant-numeric:tabular-nums;margin:20px 0}
.price small{display:block;font-size:1rem;font-weight:400;line-height:1.6;margin-top:8px}
.note{background:transparent;padding:0;margin:24px 0;font-size:var(--type-body);border-left:0;border:0;border-radius:0;}
.review-note{font-size:1rem;margin:24px 0;color:#555}
.review-note summary{cursor:pointer;min-height:44px;padding:8px 0}
.review-note p{padding:16px;background:var(--shade)}
.facts{display:grid;grid-template-columns:180px 1fr;margin:0}
.facts dt,.facts dd{margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:650;padding-right:16px}
.facts dd{min-width:0}
.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:700px;font-size:16px}
th,td{padding:22px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);overflow-wrap:anywhere}
th{background:var(--shade);font-weight:650}
thead th{padding-block:24px}
th:first-child{width:18%}
th:last-child,td:last-child{border-right:0}
tr:last-child>*{border-bottom:0}
caption{text-align:left;padding:20px;font-weight:650}
.table-scroll .price{font-size:26px;margin:0}
.table-scroll .button:where(:not(.u-action)){padding:8px 14px}
.steps{list-style:none;counter-reset:step;padding:0;max-width:900px}
.steps li{counter-increment:step;position:relative;padding:0 0 32px 70px;min-height:70px;margin:0}
.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;width:44px;height:44px;border:1px solid #737373;border-radius:50%;display:grid;place-items:center;font-weight:650}
.steps li:not(:last-child):after{content:"";position:absolute;left:22px;top:54px;bottom:12px;border-left:1px solid var(--line)}
.steps strong{display:block;font-size:20px;margin-bottom:10px}
.steps p{max-width:700px}
.faq details{border-bottom:1px solid var(--line);padding:12px 0;max-width:none}
.faq summary{min-height:48px;padding:12px 32px 12px 0;cursor:pointer;font-weight:600}
.faq details p{margin:8px 0 24px;max-width:760px}
.situations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.situations article{padding:8px 0 16px;border-bottom:1px solid var(--line)}
.situations .button:where(:not(.u-action)){border:0;border-radius:0;padding:0;justify-content:flex-start;text-align:left;text-decoration:underline}
.situations h3{font-size:var(--type-h3)}
.situation{padding:28px;background:var(--shade);border-radius:var(--radius)}
.decision-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--shade);border-radius:var(--radius);padding:24px;margin-bottom:24px}
.decision-strip>div{padding:12px 24px;border-right:1px solid var(--line)}
.decision-strip>div:last-child{border:0}
.decision-strip p{margin:10px 0 0}
.cta{background:var(--shade);border:0;padding:40px}
.cta p{max-width:720px}
.reading-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.reading-card{padding:28px 0;border-bottom:1px solid var(--line)}
.reading-card h3{font-size:var(--type-h3)}
.reading-card h3 a{text-decoration:none}
.reading-card h3 a:hover{text-decoration:underline}
.reading-card p{font-size:var(--type-body)}
.reading-card .label{font-size:1rem}
.article-meta{color:#555;font-size:1rem}
body[data-kind=article] main{max-width:880px}
body[data-kind=article] h1{font-size:clamp(1.9rem,3.3vw,2.6rem)}
body[data-kind=article] section{margin:64px 0}
body[data-kind=article] .hero{padding-bottom:16px}
.article-related{border-top:1px solid var(--line);padding-top:32px;margin-top:64px}
.article-related a{display:block;padding:16px 0}
.source-link{font-size:1rem}
.source-copy{max-width:780px}
.review-tree details{margin:12px 0}
.review-tree summary{min-height:48px;padding:12px;background:var(--shade);cursor:pointer;font-weight:650}
.review-tree a{display:inline-block;padding:8px 0}
.review-tree small{display:block}
.contact-details{padding:32px;background:var(--shade);border-radius:var(--radius);max-width:760px}
.contact-details a{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:.015em}
.inline-label{display:block;margin-bottom:24px}
.inline-label>span{display:block;margin-bottom:8px;font-weight:600}
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid var(--control);border-radius:6px;background:#fff;min-height:52px;padding:12px 14px;font:inherit}
form{max-width:760px}
textarea{min-height:140px;resize:vertical}
.check{display:flex;align-items:flex-start;gap:14px;padding:12px 0;cursor:pointer;min-height:48px}
.check input{width:22px;height:22px;flex-shrink:0;margin-top:5px;accent-color:#242424}
.context{border-left:0;padding:0;background:transparent;margin-bottom:32px;border:0;border-radius:0;}
.completion{padding:32px;background:var(--shade);border-radius:var(--radius)}
.worksheet{max-width:820px}
.worksheet-tools{padding:24px;background:var(--shade);border-radius:var(--radius)}
.worksheet-tools p{font-size:var(--type-body)}
.worksheet-tools button+button{margin-left:8px}
.print-value{display:none}
.worksheet section{margin:48px 0}
.worksheet .check{border-bottom:1px solid var(--line)}

/* 診断：選択・進行・結果を一つの視線の流れで示す。 */
.diagnosis{display:block;max-width:820px;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:32px;scroll-margin-top:24px;background:#fff}
.diagnosis-intro{padding:40px 32px;background:var(--shade)}
.diagnosis-intro h3{font-size:var(--type-h3);margin-bottom:24px}
.diagnosis-intro p{font-size:var(--type-body)}
.diagnosis-note{color:#555;padding-top:24px}
.diagnosis-intro>a{font-size:16px}
.diagnosis-main{padding:32px 40px;min-width:0}
.diagnosis-progress>p{font-size:var(--type-body);font-weight:650;margin-bottom:16px}
.diagnosis-progress ol{display:flex;list-style:none;padding:0;margin:0 0 32px;gap:12px}
.diagnosis-progress li{display:flex;align-items:center;gap:8px;flex:1;font-weight:650;border-bottom:3px solid #ddd;padding:0 0 10px;margin:0;font-size:1rem}
.diagnosis-progress li[aria-current=step],.diagnosis-progress li.done{border-color:#242424}
.diagnosis-progress li span{font-size:1rem;font-weight:400}
.diagnosis fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.diagnosis legend{font-size:23px;line-height:1.5;font-weight:650;padding:0;margin:0 0 12px;max-width:100%}
.question-help{font-size:16px;color:#555;margin-bottom:24px}
.choice-list{display:grid;gap:12px}
.choice{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--control);border-radius:8px;cursor:pointer;min-height:60px}
.choice:has(input:checked){background:#f1f1ef;border:2px solid #242424;padding:15px 19px}
.choice:has(input:focus-visible){outline:3px solid #242424;outline-offset:4px}
.choice input{width:22px;height:22px;flex-shrink:0;accent-color:#242424;margin:0}
.choice-copy{display:block;flex:1}
.choice-copy strong{display:block;font-size:17px;line-height:1.6}
.choice-copy>span{display:block;font-size:16px;line-height:1.65;color:#555;margin-top:6px}
.choice-mark{display:none;font-weight:700}
.choice:has(input:checked) .choice-mark{display:block}
.diagnosis-controls{display:flex;gap:16px;justify-content:space-between;margin-top:28px}
.diagnosis-controls .primary{min-width:55%}
[data-choice-error]{font-size:16px;font-weight:600;margin-top:16px}
.result h3{font-size:var(--type-h3)}
.result-price{font-weight:650;font-size:22px;margin:24px 0}
.estimate-fields{margin-top:24px}
[data-configurator]>label,.estimate-fields>label:not(.check){display:grid;gap:8px;margin:20px 0}
[data-configurator] select{width:100%;min-width:0;min-height:48px;font:inherit;padding:12px;border:1px solid #737373;border-radius:4px;background:white;color:#242424}
.result-caveat{padding:0;background:transparent;font-size:var(--type-body);border-left:0;border:0;border-radius:0;}
.answer-summary{font-size:16px;display:grid;grid-template-columns:8em 1fr;margin:24px 0}
.answer-summary>*{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}
.answer-summary dt{font-weight:600}
.result>a{display:block;margin-top:16px}
.result>.muted{margin-top:24px}
.result-secondary{display:flex;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);align-items:center}
.result-secondary button:where(:not(.u-action)){font-size:16px;padding:8px 14px}

.floating.near-input:not(:has([aria-expanded="true"])){visibility:hidden;pointer-events:none}
.site-footer{border-top:1px solid var(--line);padding:64px 0 96px;background:var(--shade)}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:64px;padding-bottom:48px}
.footer-name{display:inline-block;font-size:28px;font-weight:700;line-height:1.5;text-decoration:none;padding:4px 0;min-height:48px}
.footer-description{font-size:1rem;color:var(--muted);margin:8px 0 0}
.footer-phone{margin-top:28px}
.footer-phone span{display:block;font-size:1rem;color:var(--muted)}
.footer-phone a{display:inline-flex;align-items:center;min-height:48px;font-size:26px;line-height:1.4;font-weight:650;text-decoration:none;font-variant-numeric:tabular-nums}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.footer-group h2{font-size:16px;letter-spacing:0;margin:8px 0 16px;line-height:1.5}
.footer-group ul{padding:0;margin:0;list-style:none}
.footer-group li+li{margin:0}
.footer-group a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px;line-height:1.6;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-company{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;border-top:1px solid var(--line);padding:28px 0 20px}
.footer-operator{font-size:1rem;font-weight:600;margin:0 0 6px}
.footer-company address{font-size:1rem;font-style:normal;color:var(--muted);line-height:1.8}
.footer-company>a{display:inline-flex;align-items:center;gap:16px;min-height:48px;font-size:16px;text-decoration:none}
.footer-legal{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1rem;color:var(--muted)}
.footer-legal a{display:inline-flex;align-items:center;min-height:48px}
.footer-legal small{font-size:1rem}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr;gap:32px}.footer-brand{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}.footer-description{grid-column:1}.footer-phone{grid-column:2;grid-row:1/3;margin:0}.footer-nav{max-width:720px}}
@media(max-width:600px){.site-footer{padding:40px 0 88px}.footer-main{gap:32px;padding-bottom:32px}.footer-brand{display:block}.footer-name{font-size:24px}.footer-phone{margin-top:20px}.footer-nav{gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,10em),1fr));font-size:16px}.footer-group h2{margin:0 0 8px}.footer-company{display:block;padding:24px 0 8px}.footer-company>a{margin-top:12px}.footer-legal{flex-wrap:wrap;gap:8px 24px}}
.print-note{color:#555;font-size:1rem}
.floating{position:fixed;right:20px;bottom:20px;z-index:10;max-width:calc(100vw - 40px)}
.floating>button:where(:not(.u-action)){background:#242424;color:#fff;border-color:#242424;border-radius:40px;padding:12px 24px}
.contact-panel{width:360px;max-width:calc(100vw - 40px);border:1px solid var(--control);border-radius:8px;background:#fff;padding:24px;margin-bottom:12px;box-shadow:0 6px 24px #0002;max-height:65vh;overflow:auto}
.contact-panel h2{font-size:22px;margin:16px 0}
.contact-panel p{font-size:var(--type-body)}
.contact-panel .actions{flex-direction:column;align-items:stretch}
.contact-panel .close{font-size:16px;padding:8px 14px}
.contact-panel a{padding-inline:12px}
body[data-scope=grave] .hero.has-photo{grid-template-columns:1fr 1fr}
body[data-scope=support] .situations{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1100px){.header-inner{flex-wrap:wrap}
.site-nav{gap:16px}
.hero.has-photo{gap:32px}
.diagnosis-main{padding:28px}
.diagnosis-intro{padding:32px 24px}
.grid{gap:20px}
.card{padding:24px}
}

@media(max-width:900px){.menu-toggle{display:block}
.logo{max-width:calc(100% - 136px);flex:1}
.menu-toggle{flex-shrink:0}
.site-nav{width:100%;flex-direction:column;align-items:stretch}
.site-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
.js .site-nav:not(.open){display:none}
.hero.has-photo,body[data-scope=grave] .hero.has-photo{grid-template-columns:1fr}
.hero .picture{min-height:220px;aspect-ratio:16/7}
.diagnosis{grid-template-columns:1fr}
.diagnosis-intro{padding:28px 32px}
.diagnosis-intro h3{margin:0 0 16px}
.diagnosis-intro h3 br{display:none}
.diagnosis-note{padding:0}
.diagnosis-intro p{margin-bottom:16px}
.grid{grid-template-columns:1fr}
.card .facts{grid-template-columns:180px 1fr}
.card .facts dt{padding-block:12px;border-bottom:1px solid var(--line)}
.card .facts dd{padding:12px 0}
.card .picture.small{aspect-ratio:16/6}
.situations{grid-template-columns:1fr;gap:24px}
.decision-strip{padding:16px}
.decision-strip>div{padding:12px}
.split{gap:32px}
}

@media(max-width:760px){body{font-size:16px}
.container{padding-inline:20px}
.header-inner{gap:16px;padding-block:18px}
.logo{font-size:18px}
.hero,.hero.has-photo{padding:12px 0 32px}
.hero .picture{min-height:180px}
.hero h1,.hero.has-photo h1{font-size:32px;line-height:1.5}
.hero-copy{text-align:left}
.eyebrow{font-size:1rem}
main{padding-top:28px}
section{margin:56px 0}
h2{font-size:26px;margin-bottom:24px}
h3{font-size:var(--type-h3)}
.actions{align-items:stretch}
.actions .button{flex:1 1 220px}
.grid.two,.split,body[data-scope=support] .situations{grid-template-columns:1fr}
.box,.card,.cta{padding:24px}
.card .facts,.facts{grid-template-columns:1fr}
.facts dt,.card .facts dt{border:0;padding-bottom:0}
.facts dd,.card .facts dd{padding-top:6px}
.section-links{gap:8px;margin-bottom:40px;padding-block:16px}
.section-links a{flex:1 1 40%;font-size:16px;padding:8px}
.section-links span{flex-shrink:0}
.picture{padding:24px;min-height:180px}
.picture.wide{aspect-ratio:auto}
.picture.small{min-height:160px}
table{min-width:700px}
.steps li{padding-left:56px}
.steps strong{font-size:19px}
.steps li:before{width:36px;height:36px;font-size:1rem}
.steps li:not(:last-child):after{left:18px;top:46px}
.reading-list{grid-template-columns:1fr}
.reading-card{padding:24px 0}
.decision-strip{grid-template-columns:1fr}
.decision-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:16px}
.decision-strip>div p{margin-top:6px}
.diagnosis-intro{padding:24px}
.diagnosis-intro h3{font-size:var(--type-h3)}
.diagnosis-main{padding:24px 20px}
.diagnosis-progress li{flex-direction:column;align-items:flex-start;gap:2px}
.diagnosis-progress li span{font-size:1rem}
.diagnosis legend{font-size:22px}
.choice{padding:16px;gap:12px}
.choice:has(input:checked){padding:15px}
.choice-copy strong{font-size:16px}
.choice-copy>span{font-size:16px}
.choice-mark{display:none!important}
.diagnosis-controls{gap:12px}
.diagnosis-controls button:where(:not(.u-action)){padding-inline:16px}
.result h3{font-size:var(--type-h3)}
.result-price{font-size:22px}
.answer-summary{grid-template-columns:1fr}
.answer-summary dt{border:0;padding-bottom:0}
.answer-summary dd{padding-top:4px}
.result-secondary{align-items:stretch}
.result-secondary>*{flex:1 1 180px}
.floating{right:16px;bottom:16px;max-width:calc(100vw - 32px)}
.floating>button:where(:not(.u-action)){padding:10px 20px}
.contact-panel{max-width:calc(100vw - 32px)}
.worksheet-tools button{width:100%}
.worksheet-tools button+button{margin:12px 0 0}
body[data-kind=article] section{margin:48px 0}
}

@media(max-width:760px){.diagnosis-intro{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.diagnosis-intro h3,.diagnosis-intro>p:not(.eyebrow):not(.diagnosis-note){display:none}
.diagnosis-intro .eyebrow,.diagnosis-reassurance{display:none}
.diagnosis-intro .diagnosis-note{font-size:1rem;margin:0}
.diagnosis-intro>a{font-size:1rem}
}

@media(max-width:359px){.container{padding-inline:16px}
.diagnosis-main{padding-inline:16px}
.hero h1,.hero.has-photo h1{font-size:29px}
.box,.card,.cta{padding:20px}
.section-links a{flex-basis:100%}
}

@media(prefers-reduced-motion:no-preference){button:where(:not(.u-action)),.button:where(:not(.u-action)),.choice{transition:background-color .15s,border-color .15s}
}


/* 読み順：見出しと説明、価格と条件、質問と回答を近接させる。 */
.hero-price{margin:24px 0;font-size:17px}
.hero-price strong{font-size:32px;margin-left:12px;white-space:nowrap}
.hero-price span{display:block;color:#555;font-size:1rem;margin-top:4px}

.hero .price{margin:24px 0 16px}
.hero .price+p{font-size:var(--type-body);color:#555;line-height:1.7}
.hero .lead p{max-width:42em}

.diagnosis-progress ol{margin-bottom:28px}
.diagnosis-progress li{flex-direction:row;align-items:center}
.diagnosis-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:14px 32px;background:var(--shade);font-size:1rem}
.diagnosis-footer a{padding:8px 0;min-height:40px}
.diagnosis-footer span{color:#555}

.result{scroll-margin-top:24px}
.result h3{line-height:1.5}
.result-answers{margin:24px 0}
.result-answers summary{padding:10px 0;min-height:48px;cursor:pointer;font-size:var(--type-body)}
.result .answer-summary{margin:0 0 16px}
.result-secondary{border:0;padding-top:0}
.result-secondary button:where(:not(.u-action)){border:0;background:transparent;text-decoration:underline;font-weight:400}
.result .actions>a:first-child{flex:1 1 240px}
.result .actions>a:last-child{flex:0 1 auto}

.resource-band{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;padding:32px;background:var(--shade);border-radius:8px;align-items:center}
.resource-band .actions{margin:0}
.table-hint{display:none;font-size:1rem;color:#555}
.mobile-plan-summary{display:none}
.plan-return{margin-top:48px}
.story-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.story-images{position:sticky;top:32px}
.story-images .picture{aspect-ratio:3/2;min-height:180px}
.source-copy p{max-width:44em}
.cta h2{margin-bottom:20px}
.cta .eyebrow{margin-bottom:12px}

main:has(#vision) #vision{max-width:900px;margin-inline:auto;text-align:center}
main:has(#vision) #vision>p{margin-inline:auto}
main:has(#vision) #values>h3{margin-top:32px}

@media(max-width:900px){.story-layout{grid-template-columns:1fr;gap:24px}
.story-images{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.story-images .picture{min-height:160px;aspect-ratio:4/3}
.resource-band{grid-template-columns:1fr}
.table-hint{display:block}
.mobile-plan-summary{display:block}
.mobile-plan-summary .card p:not(.price){font-size:var(--type-body)}
.mobile-plan-summary .card .facts{display:none}
}

@media(max-width:760px){.section-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:12px 0}
.section-links a{padding:10px 0;font-size:1rem;gap:8px}
.diagnosis-main{padding:24px 20px}
.diagnosis-progress li{flex-direction:row}
.diagnosis-progress li span{font-size:1rem}
.diagnosis legend{font-size:21px;line-height:1.6}
.question-help{font-size:16px;margin-bottom:20px}
.choice{min-height:58px;padding:14px 16px}
.choice:has(input:checked){padding:13px 15px}
.diagnosis-controls{margin-top:24px}
.diagnosis-controls .primary{min-width:55%}
.diagnosis-footer{padding:12px 20px}
.result .actions>a{flex:1 1 100%!important}
.result h3{font-size:var(--type-h3)}
.resource-band{padding:24px;gap:16px}
.story-images{grid-template-columns:1fr}
.story-images .picture{min-height:180px}
.hero-price strong{font-size:30px}
.hero .picture{aspect-ratio:16/7;min-height:140px}
main:has(#vision) #vision{text-align:left}
.cta h2{font-size:25px}
.table-scroll th:first-child{position:sticky;left:0;z-index:1;min-width:120px;box-shadow:1px 0 0 var(--line)}
.floating{bottom:12px;right:12px}
.floating>button:where(:not(.u-action)){font-size:1rem;min-height:48px;padding:10px 16px}
}

@media(max-width:359px){.section-links{grid-template-columns:1fr}
.diagnosis-progress li span{font-size:1rem}
.diagnosis-footer{padding-inline:16px}
.story-layout{gap:24px}
}


.result-candidates{list-style:none;padding:0;margin:24px 0}.result-candidates li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--line);margin:0}.result-candidates a{font-weight:600}.result-candidates span{font-size:1rem;color:#555}
.contact-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.contact-routes a{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--control);border-radius:var(--radius);padding:20px 24px;min-height:72px;font-weight:600;text-decoration:none;line-height:1.6}
.contact-routes a:hover{background:var(--shade)}
.support-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:32px}
.support-services article{display:flex;flex-direction:column;min-width:0}
.support-services h3{font-size:var(--type-h3);min-height:3em}
.support-services .service-area{font-size:16px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.service-area strong{display:block;font-size:1rem;margin-bottom:6px;color:var(--muted)}
.estimate-panel{max-width:760px}
.estimate-panel fieldset{border:0;padding:0;margin:28px 0}
.estimate-panel legend{font-weight:650;margin-bottom:12px}
.estimate-choice{padding:16px 0;border-bottom:1px solid var(--line)}
.estimate-choice:has(input:checked){font-weight:600}
.option-price{display:block;font-size:16px;white-space:normal;margin-top:4px}
.estimate-total{background:var(--shade);padding:24px;border-radius:var(--radius)}
.estimate-total .label{font-size:16px}
.estimate-total output{display:block;margin:8px 0 16px}
.estimate-total p:last-child,.estimate-note{font-size:var(--type-body)}
.estimate-note{margin-top:16px}
.article-toc{padding:24px 0;border-block:1px solid var(--line);margin:16px 0 48px}
.article-toc p{font-weight:650;margin-bottom:12px}
.article-toc ol{margin:0;padding-left:24px}
.article-toc li+li{margin-top:0}
.article-toc a{display:block;min-height:48px;padding:10px 0;font-size:16px;line-height:1.65}
@media(max-width:760px){.contact-routes,.support-services{grid-template-columns:1fr}.support-services{gap:32px}.support-services h3{min-height:0;margin-bottom:16px}.support-services .service-area{margin-top:0;padding-top:12px}.support-services article>p:not(.service-area){margin-bottom:16px}.contact-routes a{min-height:64px;padding:16px 20px}.estimate-total{padding:20px}.estimate-total output{font-size:28px}.estimate-context h3{font-size:var(--type-h3)}.article-toc{margin-bottom:40px}}
@media(min-width:901px){.plan-card .facts dd:first-of-type{min-height:80px}.plan-card .facts dd:last-of-type{min-height:84px}}
@media(max-width:760px){body[data-scope=support] .hero h1{font-size:30px;text-wrap:balance}.story-images{order:-1;grid-template-columns:1fr 1fr}.story-images .picture{min-height:140px;aspect-ratio:1/1;padding:16px}.result-candidates li{display:block}.result-candidates span{display:block;margin-top:8px}.plan-card .price{margin-block:8px 20px}}
@media print{.wfbar,header,.breadcrumb,.floating,footer,.worksheet-tools,.section-links,.actions,.review-note,.article-related{display:none!important}
body{font:11pt/1.65 sans-serif;background:#fff;color:#000}
.container{max-width:none;padding:0}
main{padding:0}
.hero{padding:0 0 16px}
h1{font-size:23pt!important}
h2{font-size:17pt}
h3{font-size:var(--type-h3)}
section,.worksheet section{margin:24px 0}
.worksheet section{break-inside:avoid}
textarea[data-note]{display:none}
.print-value{display:block;white-space:pre-wrap;min-height:90px;border:1px solid #aaa;padding:12px}
.check{padding:8px 0}
input[type=checkbox]{accent-color:black}
.table-scroll{overflow:visible}
table{min-width:0;font-size:9pt}
.picture{display:none}
.diagnosis{display:none}
.grid,.split{display:block}
.card{break-inside:avoid;margin-bottom:16px}
}


#compare table{table-layout:fixed;min-width:54em}#compare .price{white-space:nowrap}
@media(max-width:760px){#compare th:first-child{width:120px}}


/* 比較への入口は3カードをまとめる一つの導線。比較ページは表を主役にする。 */
.comparison-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:28px 32px;background:var(--shade);border:1px solid var(--line);border-radius:8px;text-decoration:none}
.comparison-entry-copy{display:grid;gap:8px}.comparison-entry-copy strong{font-size:1.25rem}.comparison-entry-copy>span{font-size:1rem;color:var(--muted)}
.comparison-entry-action{display:flex;gap:20px;align-items:center;font-weight:650;white-space:nowrap;text-decoration:underline;text-underline-offset:6px}.comparison-entry:hover{background:#eaeae7}
body[data-kind="comparison"] .hero{padding-bottom:16px}body[data-kind="comparison"] #compare{margin-top:24px}
#compare table{min-width:850px;width:100%;table-layout:fixed;margin:0}#compare th:first-child{width:18%}
#compare th,#compare td{padding:22px 20px;vertical-align:top;font-size:16px;line-height:1.8}
#compare thead th{background:#ededeb;font-size:18px}#compare thead a{text-decoration:none}#compare thead a:hover{text-decoration:underline}
#compare tbody th{background:#f7f7f5}#compare tr>*:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}
#compare .price{font-size:clamp(20px,2.4vw,30px);line-height:1.5;margin:0;white-space:normal}#compare .price small{display:block;font-size:1rem;font-weight:400;margin-top:8px}
#compare .comparison-detail a{display:inline-block;padding-block:6px;font-weight:650}.comparison-scroll{border:1px solid var(--line);border-radius:8px}
.comparison-scroll-hint{display:none}.comparison-footnote{font-size:1rem;color:var(--muted);margin-top:16px;max-width:none}
.comparison-next{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px;background:var(--shade)}.comparison-next h2{font-size:22px;margin-bottom:12px}.comparison-next p{margin:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.comparison-scroll-hint{display:block;font-size:1rem;margin-bottom:12px}#compare th:first-child{width:132px}.comparison-entry{padding:24px}.comparison-entry,.comparison-next{align-items:flex-start;flex-direction:column}#compare th,#compare td{padding:18px 14px}.comparison-entry-action{min-height:44px}}
/* 縦並びの相談パネルでは、横並び用のflex-basisを引き継がない。 */
.contact-panel .actions .button{flex:0 0 auto}
/* 縦並びの相談パネルでは、横並び用のflex-basisを引き継がない。 */
.contact-panel .actions .button:where(:not(.u-action)){min-height:48px;height:auto;white-space:normal}
.estimate-fields fieldset{margin:24px 0;padding:0;border:0;min-width:0}.estimate-fields legend{font-size:17px;font-weight:650;margin-bottom:12px}
.estimate-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;margin:0 0 24px}.estimate-breakdown dt,.estimate-breakdown dd{border-bottom:1px solid var(--line);padding:14px 0;margin:0}.estimate-breakdown dd{padding-left:20px;text-align:right;font-weight:600}
.estimate-subtotal-label{font-weight:650;margin-bottom:8px}.estimate-pending{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.estimate-pending h4{font-size:17px;margin:0 0 12px}.estimate-pending ul{font-size:16px;margin:0}
.share-result{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.share-result input{width:100%;font-size:1rem}.share-result button{margin-top:12px}.share-result p{font-size:var(--type-body);margin-top:8px}
[data-confirm-context] .answer-summary{margin-bottom:32px}.context button{margin-top:16px}
@media(max-width:600px){.estimate-breakdown{grid-template-columns:1fr}.estimate-breakdown dt{border:0;padding-bottom:4px}.estimate-breakdown dd{text-align:left;padding:0 0 14px}.estimate-panel .actions{flex-direction:column}.estimate-panel .actions .button{flex:0 0 auto}.diagnosis-progress li span{font-size:1rem}}
.compare-controls{display:none}
@media(max-width:600px){
.compare-controls{display:block;margin:0 0 20px}.compare-controls p{font-size:var(--type-body);margin-bottom:12px}.compare-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compare-selects label{font-size:1rem}.compare-selects select{width:100%;font-size:1rem;padding:10px 8px;min-height:48px}.compare-controls button{margin-top:12px}.compare-controls button:where(:not(.u-action)){font-size:1rem}
#compare .comparison-scroll-hint{display:none}
#compare table.compare-pair-table{display:block;min-width:0;table-layout:auto}#compare .compare-pair-table thead,#compare .compare-pair-table tbody{display:block}
#compare .compare-pair-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
#compare .compare-pair-table tr>*:first-child{grid-column:1/-1;position:static;width:auto;box-shadow:none;padding:10px 12px;font-size:1rem;background:#f0f0ed}
#compare .compare-pair-table thead tr>*:first-child{display:none}
#compare .compare-pair-table th,#compare .compare-pair-table td{width:auto;min-width:0;padding:16px 12px;font-size:1rem;border-bottom:1px solid var(--line)}
#compare .compare-pair-table .compare-omitted{display:none}
#compare .compare-pair-table .price{font-size:20px;overflow-wrap:anywhere}#compare .compare-pair-table .price small{font-size:1rem}
}
.table-scroll+p{margin-top:20px}

/* 写真差し替え前も、写真の大きさ・役割・読み順を確認できる共通ルール。 */
.wf-media{margin:0;min-width:0;width:100%;align-self:start}
.wf-image{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;background:#eeeeec}
.wf-media.small .wf-image{aspect-ratio:4/3}
.wf-image img{display:block;width:100%;height:100%;object-fit:cover}
.wf-media figcaption{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 0 0;font-size:1rem;line-height:1.65;color:var(--muted);font-weight:400}
.wf-media figcaption>span{white-space:nowrap;font-size:1rem}
.wf-placeholder{display:flex;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:clamp(16px,3vw,32px);text-align:center;background:linear-gradient(150deg,transparent 49.8%,#d7d7d3 50%,transparent 50.2%),linear-gradient(30deg,transparent 49.8%,#d7d7d3 50%,transparent 50.2%),#f2f2ef}
.wf-photo-label{max-width:24em;font-size:16px;line-height:1.7;background:#f2f2eff2;padding:3px 8px}
.wf-photo-type{font-size:1rem;background:#fff;padding:3px 12px;border:1px solid #b4b4af;border-radius:3px}
.wf-viewfinder{width:34px;height:24px;border:1px solid #858580;border-radius:3px;position:relative;background:#f2f2ef}
.wf-viewfinder:after{content:"";position:absolute;inset:6px 10px;border:1px solid #858580;border-radius:50%}
.card>.wf-media,.support-services article>.wf-media{margin-bottom:24px}
.card>.wf-media figcaption,.support-services article>.wf-media figcaption{font-size:1rem}
.hero.has-photo>.wf-media{align-self:center}
.hero.hero-scene{position:relative;display:block;padding:56px 32px;margin:32px 0 64px;isolation:isolate;min-height:500px}
.hero-scene>.wf-media{position:absolute;inset:0;z-index:-1;height:100%;overflow:hidden;border-radius:8px}
.hero-scene>.wf-media .wf-image{height:100%;border:0;border-radius:8px;aspect-ratio:auto}
.hero-scene>.wf-media figcaption{position:absolute;bottom:12px;right:16px;max-width:calc(100% - 32px);background:#ffffffeb;padding:4px 10px;border-radius:3px;font-size:1rem}
.hero-scene .hero-copy{max-width:650px;background:#fffffff5;padding:32px;border:1px solid #ffffff;border-radius:8px}
.hero-scene .hero-copy h1{font-size:clamp(30px,3.4vw,44px)}
.visual-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:48px}
.visual-split>div{min-width:0}
.visual-sticky{min-width:0}
.visual-diptych{display:grid;gap:20px}
.visual-diptych .wf-image{aspect-ratio:16/9}
.story-images .wf-image{aspect-ratio:16/9}
.story-images{gap:20px}
.consult-scene{position:relative;padding:56px;background:#eee center/cover no-repeat;border-radius:8px}
.consult-scene[data-backdrop]{background-image:none}
.consult-scene[data-backdrop]{background-image:none}
.consult-scene .cta{max-width:780px;margin:0;background:#fffffff7;border:1px solid #fff;padding:36px;border-radius:8px}
.backdrop-credit{position:absolute;right:12px;bottom:8px;padding:2px 8px;background:#ffffffed;color:#555;font-size:1rem;border-radius:3px}
.steps li.step-with-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.68fr);gap:32px;align-items:start}
.steps .wf-photo-label{font-size:1rem;font-weight:400}
.steps .wf-media figcaption{font-size:1rem}
.steps li.is-current:before{background:#242424;color:#fff;border-color:#242424}
.steps li.is-current:after{background:#777}
.wfbar .container{align-items:center}
.motion-toggle{font-size:1rem;min-height:44px;padding:6px 12px;font-weight:400;order:2;margin-left:auto}
@keyframes image-arrive{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.wf-media.is-entering .wf-image{animation:image-arrive .6s ease-out both}
@media(min-width:1000px) and (min-height:700px){
  html:not([data-motion="reduced"]) .visual-sticky,html:not([data-motion="reduced"]) .story-images{position:sticky;top:32px}
  .story-images .wf-image,.visual-diptych .wf-image{max-height:28vh;aspect-ratio:16/9}
}
@media(max-width:999px){
  .visual-split{grid-template-columns:1fr;gap:28px}
  .visual-sticky,.story-images{position:static!important}
  .visual-diptych{grid-template-columns:1fr 1fr}
  .hero.hero-scene{padding:32px 24px;min-height:0}
  .hero-scene .hero-copy{max-width:75%;padding:24px}
}
@media(max-width:760px){
  .hero.hero-scene{display:flex;flex-direction:column;padding:0;margin-top:24px;gap:24px;isolation:auto}
  .hero-scene .hero-copy{max-width:none;padding:0;background:none;border:0}
  .hero-scene>.wf-media{position:static;height:auto;border-radius:0;z-index:auto}
  .hero-scene>.wf-media .wf-image{height:auto;aspect-ratio:16/9}
  .hero-scene>.wf-media figcaption{position:static;background:none;padding:10px 0 0;max-width:none}
  .hero-scene .hero-copy h1{font-size:clamp(28px,7.4vw,36px)}
  .consult-scene{padding:80px 16px 30px;background-position:65% center}
  .consult-scene .cta{padding:24px 20px}
  .visual-diptych{grid-template-columns:1fr}
  .steps li.step-with-photo{display:block}
  .steps li.step-with-photo .wf-media{margin-top:20px;max-width:450px}
  .wf-media.is-entering .wf-image{animation-duration:.35s}
  .motion-toggle{min-height:48px}
}
html[data-motion="reduced"] .wf-media .wf-image{animation:none!important;transform:none!important;opacity:1!important}
html[data-motion="reduced"] .visual-sticky,html[data-motion="reduced"] .story-images{position:static!important}
@media(prefers-reduced-motion:reduce){
  .wf-media .wf-image{animation:none!important;transform:none!important;opacity:1!important}
  .visual-sticky,.story-images{position:static!important}
}
@media print{.motion-toggle{display:none}.consult-scene{padding:0;background:none}.backdrop-credit{display:none}.visual-sticky,.story-images{position:static!important}}
/* 撮影指示の二重表示を避け、文字拡大時は枠も自然に伸ばす。 */
.wf-image{display:grid}
.wf-placeholder{position:relative;inset:auto;min-height:100%;gap:10px}
.wf-media.is-placeholder figcaption{display:none}
.plan-card>.wf-media .wf-image{aspect-ratio:16/9;min-height:168px}
.plan-card .wf-placeholder{padding:16px}
.plan-card .wf-viewfinder{display:none}
.article-visual{max-width:820px;margin:24px auto 64px}
.phrase{display:inline-block}
@media(max-width:760px){.consult-scene .cta h2{font-size:26px}.consult-scene .cta{padding:24px 16px}}
.wf-image{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}
.wf-placeholder{min-width:0}
.story-images{display:grid;gap:20px}
.wf-placeholder{min-height:min-content}
@media(max-width:760px){.story-images{grid-template-columns:1fr}.story-images .wf-image{aspect-ratio:16/9;min-height:180px}}
/* 撮影指示は拡大しても切らない。比率は最小高さとして使う。 */
.wf-media.is-placeholder{container-type:inline-size}
.is-placeholder .wf-image{aspect-ratio:auto;min-height:200px;min-height:max(180px,56.25cqw)}
.is-placeholder.small .wf-image{aspect-ratio:auto;min-height:max(180px,75cqw)}
.plan-card>.is-placeholder .wf-image{aspect-ratio:auto;min-height:max(168px,56.25cqw)}
.story-images .is-placeholder .wf-image,.visual-diptych .is-placeholder .wf-image{aspect-ratio:auto;min-height:max(180px,56.25cqw);max-height:none}
@media(min-width:1000px) and (min-height:700px){.story-images .is-placeholder .wf-image,.visual-diptych .is-placeholder .wf-image{min-height:clamp(180px,28vh,280px)}}
.wf-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:999px){.visual-pair{grid-template-columns:1fr}}

/* 図解は意味、レイアウトは読み順を示す。写真のトーンは未確定。 */
.diagram-icon{width:54px;height:54px;display:block;flex:none;color:var(--ink)}
.section-index{font-size:1rem;font-weight:650;letter-spacing:.12em;line-height:1.5;color:var(--muted)}
.service-editorials{display:grid;gap:0;border-top:0}
.service-editorial{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:64px;padding:48px 0;border-bottom:0}
.service-editorial-copy{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:20px}
.service-editorial-copy .section-index{grid-column:1;grid-row:1;padding-top:12px}
.service-editorial-copy>h3,.service-editorial-copy>p,.service-editorial-copy>.actions{grid-column:2}
.service-editorial-copy h3{font-size:var(--type-h3);margin-bottom:20px}
.service-editorial-copy p{max-width:34em}
.service-editorial-photo{min-width:0}
.service-editorial:nth-child(even) .service-editorial-photo{grid-column:1;grid-row:1}
.service-editorial:nth-child(even) .service-editorial-copy{grid-column:2;grid-row:1}
.service-editorial .wf-image{min-height:220px;aspect-ratio:auto}
.service-editorial .wf-placeholder{min-height:220px}
.service-editorial .actions{justify-content:flex-start;margin-top:4px}
.journey-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:none;padding:0;counter-reset:step}
.journey-rail li{padding:76px 0 0;margin:0;min-width:0;border:0}
.journey-rail li:before{left:0;top:0;width:44px;height:44px}
.journey-rail li:after{left:58px;top:22px;width:calc(100% - 28px);height:1px;bottom:auto;background:var(--line)}
.journey-rail li:last-child:after{display:none}
.journey-rail strong{display:block;margin-bottom:16px}
.journey-rail p{font-size:var(--type-body)}
.diagram-plan{border-radius:0;border:0;border-left:1px solid var(--line);padding:0 24px 24px}
.diagram-plan:first-child{border-left:0;padding-left:0}
.diagram-plan:last-child{padding-right:0}
#plans>.grid:has(.diagram-plan){gap:0;margin-top:40px}
.plan-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.plan-heading h3{margin:0;font-size:var(--type-h3)}
.plan-heading .section-index{border:1px solid var(--line);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex:none;font-size:1rem;letter-spacing:0}
.plan-scene{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:4px;padding:24px 8px;margin:16px 0 28px;background:var(--shade);border-radius:8px;min-height:160px}
.plan-scene>div{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:1rem;line-height:1.6;min-width:0}
.plan-scene .diagram-icon{width:48px;height:48px}
.plan-scene .scene-join{font-size:20px;text-align:center}
.diagram-plan .price{font-size:30px;margin:0 0 24px}
.diagram-plan>.facts{flex:1}
.diagram-plan>.actions{margin-top:24px}
.diagnostic-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;padding:40px;background:var(--shade);border-radius:8px}
.diagnostic-intro{min-width:0;position:sticky;top:32px}
.diagnostic-intro h2{font-size:30px;margin-bottom:20px}
.diagnostic-intro>p{font-size:var(--type-body)}
.diagnostic-interaction{min-width:0}
.diagnostic-interaction .diagnosis{margin:0;background:#fff}
.mini-journey{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:16px}
.mini-journey li{display:flex;align-items:center;gap:16px;font-size:1rem;margin:0}
.mini-journey span{width:30px;height:30px;border:1px solid var(--control);border-radius:50%;display:grid;place-items:center;font-size:1rem}
.diagram-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.diagram-copy{min-width:0}
.diagram-copy h2{font-size:30px;margin-bottom:24px}
.diagram-copy p{max-width:34em}
.diagram-editorial.reverse>.diagram-copy{grid-column:2;grid-row:1}
.diagram-editorial.reverse>.explain-diagram{grid-column:1;grid-row:1}
.feature-panel{background:var(--shade);padding:40px;border-radius:8px;gap:40px}
.explain-diagram{margin:0;width:100%;min-width:0;align-self:center}
.explain-diagram img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px;background:white}
.explain-diagram figcaption{font-size:1rem;line-height:1.7;color:var(--muted);padding-top:12px;text-align:center}
.diagram-anchor{scroll-margin-top:32px}
.cost-equation{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch;gap:24px;margin:32px 0}
.cost-part{background:var(--shade);border-top:3px solid var(--ink);padding:28px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0}
.cost-part .price{margin:0;font-size:30px}
.cost-part.variable{background:white;border:1px dashed var(--control)}
.cost-part.variable>strong{font-size:24px}
.equation-plus{align-self:center;justify-self:center;font-size:28px;line-height:1}
.estimate-equation{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:12px;align-items:stretch;margin:32px 0}
.estimate-equation>div{min-width:0;display:flex;flex-direction:column;gap:8px;padding:24px;background:var(--shade);border-radius:8px}
.estimate-equation>div>span{font-size:1rem;letter-spacing:.1em}
.estimate-equation strong{font-size:19px;line-height:1.6}
.estimate-equation small{font-size:1rem;line-height:1.7}
.support-relationship{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.8fr) minmax(0,1fr) minmax(80px,.8fr) minmax(0,1fr);gap:8px;align-items:center;margin:36px 0 16px;background:var(--shade);padding:36px;border-radius:8px}
.support-relationship>div{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:24px 8px}
.relationship-hub{background:#fff;border:1px solid var(--control);border-radius:50%;aspect-ratio:1;justify-content:center}
.relationship-line{display:flex;flex-direction:column;gap:8px;text-align:center;margin:0;font-size:1rem}
.relationship-line span{font-size:30px;line-height:1}
.diagram-note{font-size:1rem;color:var(--muted);margin-bottom:40px}
@media(max-width:999px){
 .service-editorial{gap:32px}
 .diagnostic-layout{grid-template-columns:1fr;padding:32px;gap:28px}
 .diagnostic-intro{position:static}
 .mini-journey{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px}
 .diagram-editorial{gap:28px}
 .feature-panel{padding:28px}
 .support-relationship{padding:24px 16px}
 .relationship-hub{border-radius:8px;aspect-ratio:auto}
}
@media(max-width:760px){
 .service-editorial{grid-template-columns:1fr;gap:24px;padding:32px 0}
 .service-editorial:nth-child(even) .service-editorial-photo,.service-editorial:nth-child(even) .service-editorial-copy{grid-column:auto;grid-row:auto}
 .service-editorial-copy{grid-template-columns:28px minmax(0,1fr);column-gap:12px}
 .service-editorial-copy h3{font-size:var(--type-h3)}
 .service-editorial .wf-image,.service-editorial .wf-placeholder{min-height:200px}
 .journey-rail{grid-template-columns:1fr;gap:24px}
 .journey-rail li{padding:0 0 28px 64px}
 .journey-rail li:after{left:22px;top:58px;height:calc(100% - 40px);width:1px}
 .diagram-plan,.diagram-plan:first-child,.diagram-plan:last-child{border:0;border-bottom:1px solid var(--line);padding:28px 0}
 #plans>.grid:has(.diagram-plan){margin-top:4px}
 .plan-heading{margin-bottom:16px}
 .plan-scene{padding:24px 12px;min-height:148px}
 .plan-scene>div{font-size:1rem}
 .diagram-plan .price{font-size:28px}
 .diagnostic-layout{padding:24px 16px;gap:24px}
 .diagnostic-intro h2,.diagram-copy h2{font-size:26px}
 .mini-journey{gap:12px;display:grid}
 .diagnostic-interaction .diagnosis{padding:0}
 .diagnostic-interaction .diagnosis-main{padding:24px 16px}
 .diagnostic-intro .mini-journey{display:none}
 .diagram-editorial{grid-template-columns:1fr;gap:24px}
 .diagram-editorial.reverse>.diagram-copy,.diagram-editorial.reverse>.explain-diagram{grid-column:auto;grid-row:auto}
 .feature-panel{padding:24px 16px}
 .cost-equation{grid-template-columns:1fr;gap:16px}
 .cost-part{padding:24px}
 .estimate-equation{grid-template-columns:1fr;gap:12px}
 .estimate-equation>div{padding:20px}
 .support-relationship{grid-template-columns:1fr;padding:24px;gap:12px}
 .support-relationship>div{padding:16px;flex-direction:row;justify-content:center;gap:20px}
 .relationship-line{flex-direction:row;justify-content:center;align-items:center;gap:16px}
 .relationship-line span{transform:rotate(90deg)}
 .explain-diagram{max-width:520px;justify-self:center}
}
html[data-motion="reduced"] .diagnostic-intro{position:static}
@media(prefers-reduced-motion:reduce){.diagnostic-intro{position:static}}

/* 比較する項目を同じ高さにそろえ、文字拡大時も最も高い列に追従する。 */
@media(min-width:761px){
 #plans>.grid:has(.diagram-plan){row-gap:0}
 .diagram-plan{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
}

.diagnostic-interaction .diagnosis-progress ol{flex-wrap:wrap}
.diagnostic-interaction .diagnosis-progress li{flex:1 1 4em;min-width:max-content}

/* 海洋葬：納骨先の2種類と、未確定の料金を明示 */
.package-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.package-type{border:2px solid #555;padding:24px;min-width:0}.fee-pending{display:block;border:2px solid currentColor;padding:12px 16px;font-weight:700;background:#f2f2f2}.package-tree{border:1px solid #888;padding:24px;background:#fafafa}.package-tree h3{text-align:center}.package-tree .package-types{gap:16px}.package-tree .package-type{padding:16px}.package-tree p{overflow-wrap:anywhere}@media(max-width:640px){.package-types{grid-template-columns:1fr}.package-type{padding:20px}.package-tree{padding:16px}}

.package-types + p{margin-top:24px}

/* 2026-10-17：海洋散骨TOP→比較→詳細。既存の白黒WFのトークンを再利用する。 */
.service-switcher{background:var(--shade);border-bottom:1px solid var(--line);font-size:1rem;line-height:1.6}
.service-switcher .container{display:flex;justify-content:flex-end;align-items:center;gap:8px 20px;flex-wrap:wrap;padding-block:7px}
.service-switcher a{padding:4px 0;text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.service-switcher a:hover{text-decoration:underline}.service-switcher span{color:var(--muted)}
.service-switcher .operator-link{border-left:1px solid var(--line);padding-left:20px}
.sea-header .logo{display:flex;align-items:baseline;gap:12px;white-space:nowrap;font-size:25px}
.sea-header .logo span{font-size:1rem;font-weight:600;border-left:1px solid var(--line);padding-left:12px}
.sea-header .header-contact{display:flex;flex-direction:column;line-height:1.5;gap:3px}
.sea-header .header-contact small{font-size:1rem;color:var(--muted)}
.sea-header .site-nav .button:where(:not(.u-action)){padding:12px 20px;text-decoration:none;min-height:48px}
.sea-service-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:48px;padding:24px 0}
.sea-service-hero h1{font-size:clamp(2rem,3.3vw,2.65rem);line-height:1.5}
.sea-hero-collage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:minmax(min-content,210px) minmax(min-content,155px);gap:12px;min-width:0}
.sea-hero-collage .sea-photo{height:auto;align-self:stretch}.sea-hero-collage .sea-photo:first-child{grid-column:1/-1}
.sea-hero-collage .wf-image{height:100%;min-height:0;aspect-ratio:auto}
.sea-hero-collage .wf-photo-label{font-size:1rem}
.sea-hero-collage .wf-placeholder{padding:16px;gap:8px}
[data-layout="sea-drilldown"] #plans{margin-top:48px}
.sea-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sea-plan-choice{display:flex;flex-direction:column;min-width:0;text-decoration:none;background:var(--shade);border:1px solid var(--line);border-radius:var(--radius);padding:24px;line-height:1.65}
.sea-plan-choice:hover{border-color:var(--control);background:#ededeb}
.sea-plan-choice:focus-visible{outline-offset:4px}
.plan-audience{display:block;font-size:1rem;color:var(--muted);font-weight:500;margin-bottom:20px}
.sea-plan-name{display:flex;flex-direction:column;justify-content:flex-end;min-height:4.3em;margin-bottom:16px}
.sea-plan-name h3{font-size:var(--type-h3);line-height:1.5;margin:0}.sea-plan-brand{font-size:1rem;font-weight:500;margin-bottom:4px}
.sea-plan-price{display:flex;flex-direction:column;margin:0 0 16px;line-height:1.5;gap:6px}
.sea-plan-fee{font-size:29px;font-weight:700;font-variant-numeric:tabular-nums}
.sea-plan-condition{font-size:1rem;font-weight:400;color:var(--muted)}
.sea-plan-description{font-size:16px;margin-bottom:24px}
.sea-plan-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:1rem;font-weight:650}
.sea-plan-action>span{font-size:22px}
.sea-comparison-link{display:flex;gap:16px;align-items:center;justify-content:flex-end;font-weight:650;min-height:48px;margin-top:24px;text-decoration:none}
.sea-comparison-link:hover{text-decoration:underline}
.optional-tool{border:1px solid var(--control);border-radius:var(--radius);margin:0;background:#fff}
.optional-tool>summary{padding:20px 24px;cursor:pointer;min-height:64px;font-weight:650;line-height:1.6}
.optional-tool[open]>summary{border-bottom:1px solid var(--line)}
.optional-tool-body{padding:32px}.optional-tool-body>h2{font-size:24px}
.optional-tool-body .estimate-panel{margin:0;border:0;border-radius:0;padding:0}
.optional-tool-body .diagnostic-layout{display:block}
.sea-guide-links{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--line)}
.sea-guide-links>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.sea-guide-links>a:hover{text-decoration:underline}
[data-layout="sea-drilldown"][data-kind="comparison"] .hero{padding-bottom:0}
[data-layout="sea-drilldown"] #compare{margin-top:40px}
#compare .sea-comparison-table{table-layout:fixed;width:100%;min-width:880px}
#compare .sea-comparison-table tr>*:first-child{width:18%}
#compare .sea-comparison-table thead th{vertical-align:stretch;padding:0 8px 16px;background:#fff;position:static}
#compare .sea-comparison-table thead th:first-child{vertical-align:bottom;font-size:16px;padding-bottom:28px}
#compare .sea-comparison-table tbody td{vertical-align:top}
#compare .sea-plan-choice.compact{padding:18px;min-height:190px;font-weight:400}
#compare .compact .plan-audience{font-size:1rem;margin-bottom:12px}
#compare .compact .sea-plan-name{min-height:0;justify-content:flex-start;margin-bottom:20px}
#compare .compact h3{font-size:var(--type-h3)}
#compare .sea-comparison-table .price{font-size:25px;margin:0;line-height:1.5}
#compare .sea-comparison-table .price small{font-size:1rem;margin-top:6px;display:block;font-weight:400}
#compare .sea-comparison-table td,#compare .sea-comparison-table th{line-height:1.75}
.sea-detail-hero{padding:24px 0 16px}
.sea-detail-hero>h1,.sea-detail-hero>.eyebrow,.sea-detail-hero>.lead,.sea-package-brand{text-align:center}
.sea-detail-hero>h1{margin-bottom:20px}.sea-detail-hero>.lead{max-width:800px;margin:0 auto 40px}
.sea-package-brand{font-size:16px;margin:0 0 24px}
.sea-detail-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:stretch}
.sea-detail-summary .sea-photo{height:100%;align-self:stretch}
.sea-detail-summary .wf-image{height:100%;min-height:250px;aspect-ratio:auto}
.sea-detail-summary .facts{height:100%;grid-template-columns:minmax(100px,.4fr) minmax(0,1fr);margin:0;gap:8px}
.sea-detail-summary .facts dt,.sea-detail-summary .facts dd{border:0;background:var(--shade);padding:16px;display:flex;justify-content:center;flex-direction:column;min-width:0}
.sea-detail-summary .facts dd{margin:0}.sea-detail-summary .facts small{display:block;font-size:1rem;margin-top:6px}
.summary-fee{font-size:var(--type-body);line-height:1.5}.detail-fee-note{font-size:1rem;color:var(--muted);margin-top:24px;max-width:100%}
.sea-consult-copy{max-width:800px;margin:auto;text-align:center}
[data-layout="sea-drilldown"] #consult>h2{text-align:center}
.consult-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;margin:32px 0 24px}
.line-preview{border:1px dashed var(--control);border-radius:var(--radius);padding:12px 20px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:4px;background:var(--shade)}
.line-preview span{font-size:1rem;color:var(--muted)}
.consult-phone{font-size:1rem}.consult-phone a{font-weight:650;white-space:nowrap}.consult-phone span{display:block;color:var(--muted);font-size:1rem}
@media(max-width:1000px){.sea-service-hero{gap:32px}.sea-hero-collage{grid-template-rows:minmax(min-content,180px) minmax(min-content,140px)}.sea-plan-choice{padding:20px}.sea-plan-name h3{font-size:var(--type-h3)}.sea-plan-fee{font-size:26px}}
@media(max-width:760px){
 .sea-service-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:8px}
 .sea-service-hero .hero-copy{max-width:none}.sea-service-hero h1{font-size:32px}
 .sea-hero-collage{grid-template-rows:minmax(min-content,160px) minmax(min-content,120px)}.sea-hero-collage .wf-photo-type{font-size:1rem}
 .sea-plan-grid{grid-template-columns:minmax(0,1fr);gap:20px}.sea-plan-name{min-height:0}
 .sea-plan-name h3{font-size:var(--type-h3)}.sea-plan-fee{font-size:28px}.plan-audience{margin-bottom:16px}
 .sea-plan-choice{padding:24px}.sea-plan-description{max-width:45em}
 .sea-comparison-link{justify-content:flex-start}.optional-tool>summary{padding:20px}
 .optional-tool-body{padding:20px}.optional-tool-body .diagnosis{margin:0}
 .sea-detail-hero>h1,.sea-detail-hero>.eyebrow,.sea-detail-hero>.lead,.sea-package-brand{text-align:left}
 .sea-detail-summary{grid-template-columns:minmax(0,1fr);gap:20px}.sea-detail-summary .wf-image{height:auto;min-height:200px}
 .sea-detail-summary .facts{grid-template-columns:minmax(80px,.4fr) minmax(0,1fr)}
 .sea-detail-summary .facts dt,.sea-detail-summary .facts dd{padding:14px 12px}
 .summary-fee{font-size:var(--type-body)}.sea-detail-hero>.lead{margin-bottom:28px}
 .sea-consult-copy,[data-layout="sea-drilldown"] #consult>h2{text-align:left}
 .consult-choices{grid-template-columns:minmax(0,1fr);gap:16px}.line-preview{align-items:flex-start;text-align:left}
 .service-switcher .container{justify-content:flex-start;gap:4px 16px}.service-switcher span{display:none}
 .service-switcher .operator-link{padding-left:0;border:0;margin-left:auto}
}
@media(max-width:600px){
 #compare .sea-comparison-table.compare-pair-table{min-width:0;width:100%;table-layout:auto}
 #compare .sea-comparison-table.compare-pair-table tr>*:first-child{width:auto}
 #compare .sea-comparison-table.compare-pair-table thead th{padding:0 6px 16px}
 #compare .sea-plan-choice.compact{padding:14px 12px;min-height:210px}
 #compare .compact h3{font-size:var(--type-h3)}.sea-plan-brand{font-size:1rem}
 #compare .compact .plan-audience{font-size:1rem}.sea-plan-action{font-size:1rem}
 #compare .sea-comparison-table .price{font-size:22px}
 .sea-detail-summary .facts dt,.sea-detail-summary .facts dd{font-size:1rem}
}
.sea-service-hero h1 .phrase{display:inline-block;max-width:100%}
@media(max-width:760px){.sea-service-hero h1{font-size:clamp(1.75rem,7.8vw,2rem)}}

.sea-photo .wf-placeholder{position:relative;inset:auto;min-height:100%}
.service-top-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:48px;align-items:center;padding:40px 0 8px}
.service-top-hero h1{font-size:clamp(32px,3.3vw,46px);line-height:1.5;margin:16px 0 24px;letter-spacing:0}
.service-top-hero h1 .phrase{display:inline-block;max-width:100%}
.service-top-hero .lead{max-width:42em}.service-top-hero .actions{margin-top:28px}
.service-photo{margin:0;min-width:0}.service-photo .wf-image{aspect-ratio:4/3;min-height:200px;height:auto}
.service-photo .wf-placeholder{position:relative;inset:auto;height:auto;min-height:inherit;flex:1;padding:28px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:16px;text-align:left}
.service-photo .wf-photo-label{font-size:19px;line-height:1.7}.service-photo .wf-photo-type{font-size:1rem;color:var(--muted)}
.service-top-hero .service-photo .wf-image{min-height:320px;aspect-ratio:4/3}
.service-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.service-task-grid h3{font-size:var(--type-h3);margin:0 0 16px}.service-task-grid p{margin:0;max-width:45em}
.service-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-choice{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;border:1px solid var(--control);border-radius:var(--radius);padding:24px;min-width:0}
.service-choice:hover{border-color:var(--control);background:var(--shade)}
.service-choice .service-photo{width:auto;align-self:stretch;margin:-24px -24px 24px}.service-choice .wf-image{border-radius:var(--radius) var(--radius) 0 0;min-height:180px;aspect-ratio:16/10}
.service-choice .wf-placeholder{padding:20px}.service-choice .wf-photo-label{font-size:16px}
.service-choice h3{font-size:var(--type-h3);margin:0 0 16px;line-height:1.6}.service-choice p{margin:0 0 24px}
.service-choice .service-area{margin-top:auto;font-size:1rem;line-height:1.8}.service-area strong{display:block;margin-bottom:6px}
.service-choice-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--line);font-weight:650}
.service-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin-top:32px}
.service-paths>a{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--control);border-radius:var(--radius);padding:24px;color:var(--ink);text-decoration:none;min-height:96px}
.service-paths>a:hover{background:var(--shade)}.service-paths strong{display:block;font-size:19px;line-height:1.6}.service-paths small{display:block;font-size:1rem;color:var(--muted);margin-top:8px;line-height:1.8}
.cost-composition{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:24px;align-items:center;margin:32px 0}
.cost-composition>div{padding:28px;background:var(--shade);border-radius:var(--radius);align-self:stretch}
.cost-composition>div>span:first-child{display:block;font-size:18px;font-weight:650;margin-bottom:12px}
.service-fee{display:block;font-size:30px;line-height:1.5;margin:0 0 12px}.fee-condition{display:block;font-size:1rem;font-weight:400;line-height:1.8;color:var(--muted)}
.cost-plus{font-size:26px;text-align:center}
.payment-notice{padding:0;border-left:0;background:transparent;margin:28px 0;border:0;border-radius:0;}
.payment-notice p{font-size:var(--type-body);max-width:none;margin:12px 0 0}.payment-notice>strong{font-size:18px}
.service-detail-hero{padding:24px 0 16px}.service-detail-hero>h1,.service-detail-hero>.lead,.service-detail-hero>.eyebrow{text-align:center}
.service-detail-hero h1{font-size:clamp(30px,3.4vw,44px);line-height:1.5;margin-bottom:24px}.service-detail-hero>.lead{max-width:800px;margin:0 auto 36px}
.service-detail-hero h1 .phrase,.service-overview-hero h1 .phrase{display:inline-block;max-width:100%}
.service-detail-summary{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:stretch}
.service-detail-summary .wf-image{height:100%;aspect-ratio:auto;min-height:250px}.service-detail-summary .facts{margin:0;height:100%;grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);gap:8px}
.service-detail-summary .facts dt,.service-detail-summary .facts dd{display:flex;flex-direction:column;justify-content:center;border:0;background:var(--shade);padding:16px;min-width:0;line-height:1.8}
.service-detail-summary .facts dd{margin:0}.service-detail-summary .service-fee{font-size:28px;margin:0 0 8px}
.service-table-scroll{margin:24px 0;min-width:0}.service-table-scroll table{width:100%;min-width:0;table-layout:fixed}
.service-table-scroll caption{text-align:left;padding:0 0 20px;font-weight:650}.service-table-scroll th,.service-table-scroll td{vertical-align:top;line-height:1.85;overflow-wrap:anywhere}
.service-table-scroll tr>*:first-child{width:22%}.service-table-scroll a{color:var(--ink)}
.service-consult-copy{max-width:780px;margin:auto;text-align:center}
[data-layout="service-drilldown"] #consult>h2{text-align:center}.service-consult-copy>p{max-width:none}
.service-call{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px;border:1px solid var(--control);border-radius:var(--radius);color:var(--ink);text-decoration:none;max-width:480px;margin:28px auto 12px}
.service-call:hover{background:var(--shade)}.service-call>span{font-size:16px}.service-call>strong{font-size:32px;line-height:1.5;overflow-wrap:normal}
.service-consult-copy .actions{justify-content:center}
.service-photo .wf-image,.service-top-hero .service-photo .wf-image,.service-choice .wf-image{aspect-ratio:auto;display:flex;align-items:stretch}
@media(max-width:1000px){.service-top-hero{gap:32px}.service-choice{padding:20px}.service-choice .service-photo{margin:-20px -20px 20px}.service-choice-grid{gap:20px}.service-choice h3{font-size:var(--type-h3)}.service-task-grid{gap:24px}.service-task-grid h3{font-size:var(--type-h3)}}
@media(max-width:760px){
 .service-top-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:8px}.service-top-hero h1{font-size:clamp(24px,7.2vw,32px);line-height:1.5}.service-top-hero .service-photo .wf-image{min-height:180px;aspect-ratio:auto}
 .service-task-grid,.service-choice-grid{grid-template-columns:minmax(0,1fr);gap:24px}.service-task-grid h3{font-size:var(--type-h3);margin-bottom:12px}
 .service-task-grid>div+div{padding-top:24px;border-top:1px solid var(--line)}
 .service-choice{padding:24px}.service-choice .service-photo{margin:-24px -24px 24px}.service-choice .wf-image{aspect-ratio:auto;min-height:160px}.service-choice h3{font-size:var(--type-h3)}
 .service-choice .service-area{margin-top:0}.service-photo .wf-placeholder{padding:24px}.service-photo .wf-photo-label{font-size:18px}
 .service-paths>a{padding:20px;min-height:88px}.service-paths strong{font-size:18px}
 .cost-composition{grid-template-columns:minmax(0,1fr);gap:12px}.cost-composition>div{padding:24px}.cost-plus{font-size:24px;line-height:1.3}
 .service-fee{font-size:28px}.payment-notice{padding:20px}.payment-notice p{font-size:var(--type-body)}
 .service-detail-hero>h1,.service-detail-hero>.lead,.service-detail-hero>.eyebrow{text-align:left}.service-detail-hero h1,.service-overview-hero h1{font-size:clamp(24px,7.4vw,30px)}
 .service-detail-summary{grid-template-columns:minmax(0,1fr);gap:20px}.service-detail-summary .wf-image{height:auto;min-height:200px;aspect-ratio:auto}
 .service-detail-summary>div{order:0}.service-detail-summary>.service-photo{order:1}
 .service-detail-summary .facts{grid-template-columns:minmax(76px,.4fr) minmax(0,1fr)}.service-detail-summary .facts dt,.service-detail-summary .facts dd{padding:14px 12px}
 .service-table-scroll table,.service-table-scroll tbody,.service-table-scroll tr{display:block;width:100%}.service-table-scroll thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .service-table-scroll caption{display:block}.service-table-scroll tbody tr{padding:24px 0;border-top:1px solid var(--line)}
 .service-table-scroll tbody th,.service-table-scroll tbody td{display:block;width:100%;padding:0;border:0;background:none;position:static;box-shadow:none}
 .service-table-scroll tbody tr>*:first-child{width:100%}
 .service-table-scroll tbody th{font-size:19px;margin-bottom:16px}.service-table-scroll tbody td+td{margin-top:20px}.service-table-scroll tbody td::before{content:attr(data-label);display:block;font-size:1rem;font-weight:650;color:var(--muted);margin-bottom:6px}
 .service-consult-copy,[data-layout="service-drilldown"] #consult>h2{text-align:left}.service-consult-copy .actions{justify-content:flex-start}
 .service-call{align-items:flex-start;margin-left:0;margin-right:0;padding:20px}.service-call>strong{font-size:clamp(24px,7vw,32px)}
 [data-layout="service-drilldown"] .floating{display:none}
}
@media(max-width:600px){
 .sea-option-scroll{overflow:visible;border:0}.sea-option-scroll table{display:block;min-width:0;width:100%}
 .sea-option-scroll caption{display:block;text-align:left;padding:0 0 20px}
 .sea-option-scroll thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .sea-option-scroll tbody,.sea-option-scroll tr{display:block;width:100%}
 .sea-option-scroll tbody tr{padding:20px 0;border-top:1px solid var(--line)}
 .sea-option-scroll tbody th,.sea-option-scroll tbody td{display:block;width:100%;padding:0;border:0;background:none;position:static;box-shadow:none}
 .sea-option-scroll tbody th{font-weight:700;margin-bottom:10px}
 .sea-option-scroll tbody td{margin-top:8px}.sea-option-scroll tbody td:last-child{font-weight:650}
}
