/* 情報案内は小さなKV、主行動・補助行動・開閉は同じ役割で同じ表示へ。 */
body[data-unified][data-fidelity] :is(a.button:where(:not(.u-action)),button:where(:not(.u-action))[data-ui-kind]){border-radius:8px;transition:background-color .16s,border-color .16s,box-shadow .16s}
body[data-unified][data-fidelity] :is(a.button:where(:not(.u-action)),button:where(:not(.u-action))[data-ui-kind]):focus-visible{outline:3px solid var(--ink);outline-offset:4px}
body[data-unified][data-fidelity] :is(a.button:where(:not(.u-action)),button:where(:not(.u-action))[data-ui-kind])[data-ui-kind=secondary],body[data-unified][data-fidelity] button:where(:not(.u-action))[data-ui-kind=utility]{background:#fff;color:var(--primary);border:1px solid var(--primary);box-shadow:none}
body[data-unified][data-fidelity] :is(a.button:where(:not(.u-action)),button:where(:not(.u-action))[data-ui-kind])[data-ui-kind=disabled]{cursor:default;box-shadow:none}
body[data-unified][data-fidelity] [data-ui-kind=card]{transition:border-color .18s,box-shadow .18s}
body[data-unified][data-fidelity] [data-ui-kind=card]:hover{box-shadow:0 4px 14px #19394a10;border-color:var(--primary)}
body[data-unified][data-fidelity] [data-ui-kind=card]:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
body[data-unified][data-fidelity] .about-value-art{width:200px;height:200px;max-width:100%;margin-inline:auto}
body[data-unified][data-fidelity] .about-value-art img{width:100%;height:100%;object-fit:contain}
body[data-unified][data-fidelity] .f-help-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(19rem,16em)),1fr));gap:24px}
body[data-unified][data-fidelity] .f-help-section-heading{position:relative;margin-bottom:48px}
body[data-unified][data-fidelity] .f-help-word{display:inline-block;max-width:100%;vertical-align:baseline}
body[data-unified][data-fidelity] .f-help-topic{position:relative;min-width:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff}
body[data-unified][data-fidelity] .f-help-topic-heading{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:16px;padding-bottom:12px}
body[data-unified][data-fidelity] .f-help-icon{display:block;width:48px;height:48px;color:var(--primary);stroke-width:2.2;flex:none}
body[data-unified][data-fidelity] .f-help-topic h3{font-size:1.5rem;line-height:1.6;margin:0;text-wrap:balance}
body[data-unified][data-fidelity] :is(.f-help-topic,.f-help-other) a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:56px;color:var(--primary);font-size:var(--type-body);font-weight:500;line-height:1.7;text-decoration:none}
body[data-unified][data-fidelity] .f-help-topic a{padding-block:12px}
body[data-unified][data-fidelity] .f-help-topic a+a{border-top:1px solid #c7d2d7}
body[data-unified][data-fidelity] .f-help-topic a:last-child{padding-bottom:0}
body[data-unified][data-fidelity] .f-help-label{min-width:0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;word-break:auto-phrase;overflow-wrap:break-word;line-break:strict}
body[data-unified][data-fidelity] .f-help-chevron{flex:none;align-self:center;font-size:1.75rem;line-height:1;text-decoration:none}
body[data-unified][data-fidelity] :is(.f-help-topic,.f-help-other) a:hover .f-help-label{text-decoration-thickness:2px}
body[data-unified][data-fidelity] :is(.f-help-topic,.f-help-other) a:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:4px}
body[data-unified][data-fidelity] .f-help-other{container:help-links / inline-size;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));margin-top:24px;border-top:1px solid #c7d2d7}
body[data-unified][data-fidelity] .f-help-other a{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;gap:16px;padding:16px 20px;font-weight:500}
body[data-unified][data-fidelity] .f-help-other a:first-child{border:0}
body[data-unified][data-fidelity] .f-help-other .f-help-icon{width:36px;height:36px;stroke-width:2.8}
@container help-links (max-width:47.99rem){body[data-unified][data-fidelity] .f-help-other a:first-child{border-right:0;border-bottom:0}}
@media(max-width:767px){
 body[data-unified][data-fidelity] .f-help-topics{gap:24px}
 body[data-unified][data-fidelity] .f-help-topic{padding:20px}
 body[data-unified][data-fidelity] .f-help-topic-heading{padding-bottom:12px}
 body[data-unified][data-fidelity] .f-help-topic h3{font-size:1.375rem}
 body[data-unified][data-fidelity] :is(.f-help-topic,.f-help-other) a{font-size:1.1875rem}
 body[data-unified][data-fidelity] .f-help-other a{padding:16px 12px;gap:12px}
}
body[data-unified][data-fidelity] .f-stage-illustration--scene{background:transparent}
/* 番号を絵の上へかぶせず、絵・見出し・説明の3段を共有する。 */
body[data-unified][data-fidelity] .f-refined-flow-cards{padding-top:0;row-gap:20px;column-gap:32px}
body[data-unified][data-fidelity] .f-refined-flow-cards>li{padding-top:44px}
body[data-unified][data-fidelity] .f-refined-flow-cards>li::before{top:0;left:0;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:#fff;line-height:1;font-size:1rem}
body[data-unified][data-fidelity] .f-refined-flow-cards>li::after{display:none}
body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration{height:190px;min-height:0;background:transparent;border-radius:0}
body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration img{width:220px;max-width:100%;height:190px;object-fit:contain;aspect-ratio:auto}
body[data-unified][data-fidelity] .f-refined-flow-cards .f-step-copy strong{font-size:1.375rem;line-height:1.65;text-wrap:balance}
body[data-unified][data-fidelity] .f-refined-flow-cards .f-step-copy strong .f-task-phrase{display:inline-block;max-width:100%}
/* 会社TOPは二枚を別々の面に配置し、地域の写真を隠さない。 */
body[data-unified][data-fidelity] .f-corporate-top-hero .u-hero-grid{align-items:center;gap:56px}
body[data-unified][data-fidelity] .f-corporate-top-hero .u-hero-copy{padding-top:0}
body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual{display:grid;gap:16px;max-width:480px;padding:0;margin:0 0 0 auto}
body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual .f-kv-photo{position:static;margin:0}
body[data-unified][data-fidelity] .f-corporate-top-hero .f-kv-photo img{aspect-ratio:16/10;object-position:center;border-radius:8px}
body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-place{position:static;inset:auto;width:100%;border:0;margin:0}
body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-place img{aspect-ratio:16/7;border-radius:8px}
body[data-unified][data-fidelity] .f-corporate-top-hero .lead{margin-top:28px}
body[data-unified][data-fidelity] .f-corporate-top-hero .actions{margin-top:32px}
/* 詳しい案内に到達する前に、販売用の大きな写真やリンク列を通過させない。 */
body[data-unified][data-fidelity][data-page].f-guide-page .u-kv-band{padding-block:0;background:var(--section-paper)}
body[data-unified][data-fidelity][data-page].f-guide-page .u-kv-band>.container{width:calc(100% - 64px);max-width:1120px;padding:0}
body[data-unified][data-fidelity][data-page].f-guide-page .breadcrumb{padding:24px 0;margin:0}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:48px;align-items:center;padding:12px 0 36px;min-height:0}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-hero-copy{padding:0;min-width:0}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .eyebrow{margin:0 0 12px}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero h1{font-size:2.25rem;line-height:1.5;margin:0;max-width:none}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-title-rule{margin:20px 0}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .lead{margin:0;padding:0;max-width:34em}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .lead p{margin:0;line-height:1.85}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .f-kv-photo{position:static;height:auto;max-width:360px;width:100%;margin:0;justify-self:end;align-self:center}
body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .f-kv-photo img{width:100%;height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover;border-radius:8px}
body[data-unified][data-fidelity][data-page].f-guide-page nav.section-links{margin-block:0 32px;padding-block:24px;container-type:inline-size}
body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links>a{min-height:64px;padding:12px 16px;gap:12px;border:1px solid var(--line);border-radius:6px;background:#fff;align-items:center}
body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links .f-rich-nav-icon{width:32px;height:32px;flex-basis:32px!important}
body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links .f-icon{width:28px;height:28px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-index-label{font-size:var(--type-body);font-weight:700;margin:0 0 16px}
body[data-unified][data-fidelity][data-page].f-guide-page main>article>section:not(.u-consult){padding-block:64px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-remains-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-detail-note{min-width:0;border-top:2px solid var(--primary);padding-top:20px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-detail-note h3{font-size:1.25rem;line-height:1.6;margin:0 0 12px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-detail-note p{margin:0}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-preparation-note{margin-top:32px;padding:24px 0 0;border-top:1px solid var(--line)}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-preparation-note h3{font-size:1.25rem;margin:0}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-preparation-note .u-section-heading{margin:0 0 12px}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-flow-extra{margin-top:16px;border:1px solid var(--line);border-radius:6px;padding:0 16px;background:var(--section-paper)}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-flow-extra summary{padding:14px 0;color:var(--primary);font-weight:700;font-size:1rem;line-height:1.7;cursor:pointer}
body[data-unified][data-fidelity][data-page].f-guide-page .f-guide-flow-extra p{padding-bottom:16px}
/* 色の役割は白・ごく薄いグレー・相談のブルーの3種類。 */
body[data-unified][data-fidelity][data-page] main.u-main>article>section:is(.content-section,.about-section)[data-surface=paper]{background:var(--section-paper)}
body[data-unified][data-fidelity][data-page] main.u-main>article>section:is(.content-section,.about-section)[data-surface=muted]{background:var(--section-muted)}
body[data-unified][data-fidelity] .f-decorated-section{position:relative;isolation:isolate}
body[data-unified][data-fidelity] .f-decorated-section::before{content:'';position:absolute;right:0;bottom:4px;width:180px;height:72px;background:var(--primary);opacity:.08;mask:url('/assets/decor/section-wave.svg') center/contain no-repeat;pointer-events:none;z-index:-1}
body[data-unified][data-fidelity] .u-consult{border-radius:40px 40px 0 0}
@media(max-width:1023px){
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero h1{font-size:2rem}
 body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 body[data-unified][data-fidelity] .f-corporate-top-hero .u-hero-grid{align-items:stretch}
 body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;max-width:none;padding:0;margin:0;align-items:stretch}
 body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual .f-photo img{aspect-ratio:4/3;height:100%;object-fit:cover}
 body[data-unified][data-fidelity] .about-value-art{width:180px;height:180px}
 body[data-unified][data-fidelity] .f-refined-flow-cards>li{padding-top:44px;gap:16px}
 body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration,body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration img{height:112px;min-height:0}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-kv-band>.container{width:calc(100% - 40px)}
 body[data-unified][data-fidelity][data-page].f-guide-page .breadcrumb{padding:16px 0;font-size:1rem}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-hero-grid{grid-template-columns:1fr;gap:20px;padding:8px 0 24px}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .f-kv-photo{justify-self:start;width:100%;max-width:none}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .f-kv-photo img{aspect-ratio:16/6;object-position:center 58%}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero h1{font-size:1.75rem}
 body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero .u-title-rule{margin:16px 0}
 body[data-unified][data-fidelity][data-page].f-guide-page nav.section-links{padding-block:20px;margin-bottom:8px}
 body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links>a{padding:12px;gap:8px;align-items:center;min-height:64px}
 body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links .f-rich-nav-icon{display:none}
 body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links .f-index-arrow{margin-left:auto}
 body[data-unified][data-fidelity][data-page].f-guide-page main>article>section:not(.u-consult){padding-block:44px}
 body[data-unified][data-fidelity][data-page].f-guide-page .f-remains-details{grid-template-columns:1fr;gap:24px}
 body[data-unified][data-fidelity] .u-consult{border-radius:24px 24px 0 0}
 body[data-unified][data-fidelity] .f-decorated-section::before{width:100px;height:40px;opacity:.06}
}
@container(max-width:320px){body[data-unified][data-fidelity][data-page].f-guide-page .f-index-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body[data-unified][data-fidelity] :is(a.button:where(:not(.u-action)),button:where(:not(.u-action)),[data-ui-kind=card]){transition:none}}

body[data-unified][data-fidelity][data-page].f-guide-page .u-child-hero.f-guide-hero{padding:0}
@media(max-width:1024px){html:not(.js) .menu-toggle{display:none!important}html:not(.js) body[data-unified] .site-nav{display:flex;position:static;flex-wrap:wrap;gap:12px;padding:16px 0}html:not(.js) body[data-unified] .u-header-inner{flex-wrap:wrap}html:not(.js) body[data-unified] .site-nav a{min-height:44px;display:inline-flex;align-items:center}}
/* FAQは全サービスで1列。空アンカーや回答量で読み順を崩さない。 */
body[data-unified][data-fidelity] .faq{grid-template-columns:minmax(0,1fr);gap:0}
body[data-unified][data-fidelity] .faq>details{margin:0;border-bottom:1px solid var(--line)}
body[data-unified][data-fidelity][data-page].f-guide-page nav[data-count="4"] .f-index-links{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-unified][data-fidelity][data-page].f-guide-page .f-remains-details{grid-template-columns:1fr;gap:24px;margin-top:0}
/* 相談窓口は飾りより、電話・入力欄までの距離を短くする。 */
body[data-unified][data-fidelity][data-page].f-contact-page .u-child-hero.f-guide-hero .u-hero-grid{display:block;padding-block:12px 28px}
body[data-unified][data-fidelity][data-page].f-contact-page .u-child-hero.f-guide-hero .lead{max-width:52em}
body[data-unified][data-fidelity][data-page].f-contact-page .u-child-hero.f-guide-hero .lead p+p{margin-top:12px}
body[data-unified][data-fidelity][data-page].f-contact-page main>article>section#services{padding-block:24px}
body[data-unified][data-fidelity][data-page].f-contact-page #services .u-section-heading{margin-bottom:20px}
body[data-unified][data-fidelity][data-page].f-contact-page #services h2{font-size:1.5rem}
body[data-unified][data-fidelity][data-page].f-contact-page #services .u-title-rule{display:none}
body[data-unified][data-fidelity] .f-form-optional{border-block:1px solid var(--line);margin-block:24px}
body[data-unified][data-fidelity] .f-form-optional>summary{padding-block:16px;color:var(--primary);font-weight:700;cursor:pointer}
body[data-unified][data-fidelity] .f-form-optional>label{margin-block:20px}
/* 比較・診断でも子ページと同じ料金結果の階層を使う。 */
body[data-unified][data-fidelity] .estimate-panel--flexible{max-width:none;padding:0;border:0;background:transparent}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}
body[data-unified][data-fidelity] .estimate-panel--flexible[data-estimate-ready=false] .estimate-layout{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}
body[data-unified][data-fidelity] .estimate-panel--flexible[data-estimate-ready=false] .estimate-result-panel{display:none}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-result-panel{background:#fff;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:8px;padding:24px}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-total{margin:0;padding:0;border:0;background:transparent}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-main-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:12px 0 20px;color:var(--primary)}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-amount-number{font-size:clamp(2rem,4vw,2.75rem);line-height:1.3}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-subtotal-label{font-weight:700;line-height:1.7;margin:0}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-caveat{font-size:1rem;line-height:1.8;margin:0 0 20px}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-pending{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-pending summary{cursor:pointer;font-weight:700;color:var(--primary);padding-block:12px}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-result-panel>.actions{display:grid;gap:12px;margin-top:20px}
/* 結果からの相談はLINEとフォームを同じ強さで選べる。比較はその下の補助導線。 */
body[data-unified][data-fidelity] .estimate-result-panel>.estimate-result-actions{container:estimate-actions / inline-size;display:flex;flex-direction:column-reverse;align-items:stretch;gap:12px}
body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-result-actions>.button:where(:not(.u-action)){padding-inline:8px}
body[data-unified][data-fidelity] .estimate-consult-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body[data-unified][data-fidelity] .estimate-consult-choices[hidden]{display:none}
body[data-unified][data-fidelity] .estimate-consult-choices>.estimate-contact-choice{display:block;align-content:center;min-width:0;min-height:56px;margin:0;padding:12px 16px;line-height:1.6;text-align:center}
@container estimate-actions (max-width:19em){
 body[data-unified][data-fidelity] .estimate-consult-choices{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}
}
body[data-unified][data-fidelity] .estimate-panel--flexible .share-result{margin-top:24px}
@media(max-width:1023px){body[data-unified][data-fidelity][data-page].f-guide-page nav[data-count="4"] .f-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 body[data-unified][data-fidelity] .f-refined-flow-cards>li{grid-template-columns:80px minmax(0,1fr);padding-top:36px;gap:12px 16px}
 body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration,body[data-unified][data-fidelity] .f-refined-flow-cards .f-stage-illustration img{height:88px}
 body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 body[data-unified][data-fidelity] .estimate-panel--flexible .estimate-result-panel{padding:20px}
}
@media(max-width:359px){body[data-unified][data-fidelity] .f-illustrated-steps.f-refined-flow-cards>li{grid-template-columns:1fr}body[data-unified][data-fidelity] .f-illustrated-steps.f-refined-flow-cards .f-step-copy strong{grid-column:1;grid-row:2}body[data-unified][data-fidelity] .f-illustrated-steps.f-refined-flow-cards .f-step-copy p{grid-row:3}body[data-unified][data-fidelity] .f-illustrated-steps.f-refined-flow-cards .f-stage-illustration{width:88px}}
@container(max-width:320px){body[data-unified][data-fidelity][data-page].f-guide-page nav[data-count="4"] .f-index-links{grid-template-columns:1fr}}
body[data-unified][data-fidelity] :is(h1,h2,h3) .f-task-phrase{display:inline-block;max-width:100%;text-wrap:balance}
body[data-unified][data-fidelity] :is(dt,.contact-routes) .f-task-phrase{display:inline-block;max-width:100%}
body[data-unified][data-fidelity] .f-step-copy strong .f-task-phrase{display:inline-block;max-width:100%}

/* 短い工程も、番号を写真に重ねず専用の行へ置く。 */
body[data-unified][data-fidelity] .f-photo-steps:not(.f-photo-steps--long){padding-top:0}
body[data-unified][data-fidelity] .f-photo-steps:not(.f-photo-steps--long)>li{padding-top:44px}
body[data-unified][data-fidelity] .f-photo-steps:not(.f-photo-steps--long)>li::before{top:0;left:0;width:32px;height:32px;line-height:32px;font-size:1rem;background:#fff;border:1px solid var(--line)}
body[data-unified][data-fidelity] .f-photo-steps:not(.f-photo-steps--long)>li::after{display:none}
@media(min-width:768px) and (max-width:1023px){
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){grid-template-columns:1fr;gap:0}
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .u-hero-grid>.u-hero-copy{padding:40px 32px;max-width:none}
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .f-kv-photo{position:static;width:100%;height:auto;max-width:none}
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .f-kv-photo img{height:340px;min-height:0;aspect-ratio:auto;object-position:center}
 body[data-unified][data-fidelity] .f-corporate-top-hero .u-hero-grid{grid-template-columns:1fr;gap:32px}
 body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual{display:grid;grid-template-columns:1.4fr 1fr;max-width:none;width:100%;margin:0;gap:16px;align-items:stretch}
 body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual .f-photo img{aspect-ratio:4/3;height:100%;object-fit:cover}
 body[data-unified][data-fidelity] .f-contact-methods:not([data-count="4"]){grid-template-columns:1fr}
 body[data-unified][data-fidelity] .f-contact-methods:not([data-count="4"])>section{max-width:none}
 body[data-unified][data-fidelity] .f-balance-split{grid-template-columns:1fr;gap:28px}
 body[data-unified][data-fidelity] .f-balance-split>.f-photo{max-width:520px;width:100%;justify-self:center}
 body[data-unified][data-fidelity] .service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-unified][data-fidelity] .related-plan-grid,body[data-unified][data-fidelity] .service-next-grid{grid-template-columns:1fr}
 body[data-unified][data-fidelity] .f-reading-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-unified][data-fidelity] .f-article-plan-grid{grid-template-columns:1fr}
 body[data-unified][data-fidelity] .service-task-grid{grid-template-columns:1fr}
 body[data-unified][data-fidelity] .service-table-scroll{border:0;overflow:visible}
 body[data-unified][data-fidelity] .service-table-scroll :is(table,tbody,tr){display:block;width:100%;min-width:0}
 body[data-unified][data-fidelity] .service-table-scroll thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 body[data-unified][data-fidelity] .service-table-scroll tbody tr{padding:24px;margin-bottom:16px;border:1px solid var(--line);border-radius:6px;background:#fff}
 body[data-unified][data-fidelity] .service-table-scroll tbody :is(th,td){display:block;width:100%;padding:0;border:0;background:none;position:static;box-shadow:none}
 body[data-unified][data-fidelity] .service-table-scroll tbody th{margin-bottom:20px}
 body[data-unified][data-fidelity] .service-table-scroll tbody td+td{margin-top:24px}
 body[data-unified][data-fidelity] .service-table-scroll tbody td::before{content:attr(data-label);display:block;margin-bottom:8px;font-size:1rem;font-weight:700;color:var(--muted)}
 body[data-unified][data-fidelity][data-page] nav[data-count="4"] .f-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-unified][data-fidelity]:is([data-page="H04"],[data-page="S09"]) .u-child-hero .u-hero-grid{grid-template-columns:1fr;gap:24px}
 body[data-unified][data-fidelity]:is([data-page="H04"],[data-page="S09"]) .u-child-hero .f-kv-photo{position:static;width:100%;max-width:600px;justify-self:center;inset:auto}
 body[data-unified][data-fidelity]:is([data-page="H04"],[data-page="S09"]) .u-child-hero .f-kv-photo img{width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain}
}
.f-table-scroll-hint{display:none;font-size:1rem;color:var(--muted);margin-bottom:16px}
@media(min-width:768px) and (max-width:1200px){.f-table-scroll-hint{display:block}}

@media(max-width:767px){body[data-unified][data-fidelity] .f-step-copy>.f-guide-flow-extra{grid-column:1/-1;grid-row:auto;max-width:none;width:auto;margin-top:0}}

/* 画面幅だけでなく文字の大きさに応じても、必要な列幅を確保する。 */
@media(min-width:1024px){
 body[data-unified][data-fidelity] .f-corporate-top-hero .u-hero-grid{container-type:inline-size;grid-template-columns:repeat(auto-fit,minmax(min(100%,25em),1fr))}
 body[data-unified][data-fidelity][data-page] .f-contact-methods{grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr))}
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){container-type:inline-size;grid-template-columns:repeat(auto-fit,minmax(min(100%,25em),1fr))}
 body[data-unified][data-fidelity] .f-article-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr))}
}
@container(max-width:40em){body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .f-kv-photo img{height:340px;min-height:0;aspect-ratio:16/9;object-position:center}}
body[data-unified][data-fidelity]:is([data-page="S08"],[data-page="S09"]) .u-kv-band>.container:has(>.breadcrumb){width:calc(100% - 64px);max-width:1120px;padding-inline:0}
@media(max-width:767px){body[data-unified][data-fidelity]:is([data-page="S08"],[data-page="S09"]) .u-kv-band>.container:has(>.breadcrumb){width:calc(100% - 40px)}}
@media(max-width:359px){body[data-unified][data-fidelity]:is([data-page="S08"],[data-page="S09"]) .u-kv-band>.container:has(>.breadcrumb){width:calc(100% - 32px)}}

/* 文字の拡大に応じて、事業と価値のカードも読める幅を確保する。 */
@media(min-width:1024px){
 body[data-unified][data-fidelity][data-about-design] .about-service-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,14em),1fr))}
 body[data-unified][data-fidelity][data-about-design] .about-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
 body[data-unified][data-fidelity][data-about-design] :is(.about-vision-grid,.about-access-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,22em),1fr))}
}


/* Qの丸と質問列は文字拡大にも追従する。 */
body[data-unified][data-fidelity] .faq summary{grid-template-columns:1.3em minmax(0,1fr) 1em}
body[data-unified][data-fidelity] .f-faq-badge{width:1.5em;height:1.5em;line-height:1;margin-top:.35em}
body[data-unified][data-fidelity] .f-faq-toggle{width:1em;height:1em}
body[data-unified][data-fidelity] .faq details>p{padding-left:calc(var(--faq-pad) + 1.3em + 12px)}
body[data-unified][data-fidelity][data-page=S09] .f-kv-photo img,body[data-unified][data-fidelity][data-page=H04] .f-kv-photo img{object-fit:contain!important;background:#fff}
@media(min-width:1024px){
 body[data-unified][data-fidelity] .f-haka-detail-row{grid-template-columns:48px minmax(0,1fr);row-gap:16px}
 body[data-unified][data-fidelity] .f-haka-detail-action{grid-column:2}
}

@container(max-width:40em){
 body[data-unified][data-fidelity] .u-child-hero:not(.f-guide-hero):not(.f-about-hero) .f-kv-photo img{object-fit:contain;background:#fff}
 body[data-unified][data-fidelity] .f-corporate-top-hero .f-corporate-visual{width:100%;max-width:none;justify-self:stretch;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr));gap:24px}
}

@media(min-width:1024px){
 body[data-unified][data-fidelity] :is(.service-choice-grid,.service-task-grid,.f-task-grid,.f-check-panels),body[data-unified][data-fidelity] .f-check-panels[data-count]{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
 body[data-unified][data-fidelity] .f-check-panels[data-count="4"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,24em),1fr))}
 body[data-unified][data-fidelity] .f-balance-split{grid-template-columns:repeat(auto-fit,minmax(min(100%,25em),1fr))}
 body[data-unified][data-fidelity][data-about-design] .about-contact-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
 body[data-unified][data-fidelity] .service-table-scroll table{min-width:42em}
}

body[data-unified][data-fidelity] .f-money-number{white-space:nowrap}
@media(min-width:1024px){body[data-unified][data-fidelity] .sea-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}}

@media(min-width:1024px){body[data-unified][data-fidelity] .f-reading-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}}

@media(min-width:1024px){
 body[data-unified][data-fidelity][data-plan-design] .plan-inclusions{grid-template-columns:repeat(auto-fit,minmax(min(100%,10em),1fr))}
 body[data-unified][data-fidelity][data-plan-design] .plan-situation-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
 body[data-unified][data-fidelity] :is(.related-plan-grid,.service-next-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,25em),1fr))}
 body[data-unified][data-fidelity] .section-links .f-index-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr))}
}

@media(min-width:1024px){body[data-unified][data-fidelity] .u-option-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}}

/* 文字拡大時にも、料金サマリー・お預け案内の列を読みやすく保つ。 */
@media(min-width:1024px){
 body[data-unified][data-fidelity][data-plan-design] .plan-handover-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,25em),1fr))}
 body[data-unified][data-fidelity][data-plan-design] .plan-summary .facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr));gap:24px}
 body[data-unified][data-fidelity] .f-accessible-table table{min-width:42em}
 body[data-unified][data-fidelity] .f-scroll-always{display:block}
}
@media(min-width:1024px){
 body[data-unified][data-fidelity] .f-balance-split--reverse>.f-balance-copy,body[data-unified][data-fidelity] .f-balance-split--reverse>.f-photo{grid-column:auto;grid-row:auto}
 body[data-unified][data-fidelity] .f-balance-split--reverse>.f-photo{order:-1}
}
@media(min-width:1024px){
 body[data-unified][data-fidelity][data-page=S01] #plans .sea-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
}

/* 記事目次の番号も文字拡大に追従させ、円からのはみ出しを防ぐ。 */
body[data-unified][data-fidelity] .f-article-toc li{grid-template-columns:1.6em minmax(0,1fr)}
body[data-unified][data-fidelity] .f-article-toc-number{width:1.75em;height:1.75em;min-width:1.75em}
@media(min-width:1024px){body[data-unified][data-fidelity] .f-article-toc ol{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}}
body[data-unified][data-fidelity] .u-site-footer :is(.footer-group a,.footer-company>a){display:block}
body[data-unified][data-fidelity] .u-site-footer .f-task-phrase{display:inline-block;white-space:nowrap}

/* 価格の数値と単位、案内目次の短い語尾を別の行へ追い出さない。 */
body[data-unified][data-fidelity] :is(.summary-fee,.f-price-amount){white-space:nowrap}
@media(min-width:1024px){
 body[data-unified][data-fidelity] #compare table.u-compare{table-layout:auto;min-width:42em}
 body[data-unified][data-fidelity] #compare table.u-compare :is(th,td):not(:first-child){min-width:12em}
}
body[data-unified][data-fidelity] .section-links{container-type:inline-size}
body[data-unified][data-fidelity] .f-remains-sequence .f-task-phrase{display:inline-block;white-space:nowrap}
@media(min-width:1024px){
 body[data-unified][data-fidelity][data-plan-design] .plan-summary .facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,18em),1fr))}
 body[data-unified][data-fidelity] .f-remains-sequence{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr))}
}
@container(max-width:50em){
 body[data-unified][data-fidelity][data-page] nav[data-count="4"] .f-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-unified][data-fidelity][data-page].f-guide-page nav[data-count="6"] .f-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container(max-width:320px){
 body[data-unified][data-fidelity][data-page] nav[data-count] .f-index-links,body[data-unified][data-fidelity][data-page].f-guide-page nav[data-count] .f-index-links{grid-template-columns:1fr}
}

/* 目次は意味のまとまりを保ち、語末だけを次行へ残さない。 */
body[data-unified][data-fidelity] .f-rich-nav-link .f-nav-phrase{display:inline-block;white-space:nowrap}

/* 会社ページから戻る補助操作。初回訪問では余白も残さない。 */

body[data-unified][data-fidelity] .f-reading-list a.reading-card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
body[data-unified][data-fidelity] .f-reading-list a.reading-card:focus-visible{outline:3px solid var(--primary);outline-offset:4px}
body[data-unified][data-fidelity] .f-reading-list a.reading-card h2,body[data-unified][data-fidelity] .f-reading-list a.reading-card p{color:var(--ink)}
/* 狭幅の文字拡大でも、料金の数字を語中で切らず本文より大きく保つ。 */
body[data-unified][data-fidelity] .sea-plan-choice .f-plan-footer .sea-plan-fee{font-size:clamp(1.25rem,calc(1rem + 3vw),var(--type-price))}

/* 一覧・規約・記事は、目的に合わせて導入の大きさと行長を整える。 */
body[data-unified][data-fidelity][data-page=S08] .u-kv-band:has(.u-child-hero .f-kv-photo){padding-block:24px 40px}
body[data-unified][data-fidelity][data-page=S08] .u-kv-band:has(.u-child-hero .f-kv-photo)>.container{width:calc(100% - 80px);max-width:1120px;padding:0;margin-inline:auto}
body[data-unified][data-fidelity][data-page=S08] .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:40px;align-items:center}
body[data-unified][data-fidelity][data-page=S08] .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo)>.u-hero-copy{padding:0}
body[data-unified][data-fidelity][data-page=S08] .u-child-hero .f-kv-photo{width:100%;height:auto;min-height:0;align-self:center}
body[data-unified][data-fidelity][data-page=S08] .u-child-hero .f-kv-photo img{width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:cover;object-position:center 75%;border-radius:8px}
body[data-unified][data-fidelity][data-page=S08] .u-child-hero h1{margin-inline:0;max-width:none;text-align:left}
body[data-unified][data-fidelity][data-page=G01] .u-kv-band{padding-block:24px 40px;background:#fff}
body[data-unified][data-fidelity][data-page=G01] :is(.u-kv-band>.container,#policy>.container){max-width:840px}
body[data-unified][data-fidelity][data-page=G01] .u-child-hero{padding:0;min-height:0}
body[data-unified][data-fidelity][data-page=G01] .u-hero-copy{padding:0}
body[data-unified][data-fidelity][data-page=G01] .u-hero-copy .eyebrow,body[data-unified][data-fidelity][data-page=G01] .u-hero-copy .lead:empty{display:none}
body[data-unified][data-fidelity][data-page=G01] #policy{padding-block:0 64px;background:#fff}
body[data-unified][data-fidelity][data-page=G01] #policy .f-policy-heading{margin:40px 0 16px;font-size:var(--type-h3);line-height:1.6;text-align:left}
body[data-unified][data-fidelity][data-page=C03] .u-child-hero{max-width:760px;margin-inline:auto}
body[data-unified][data-fidelity][data-page=C03] .u-kv-band{padding-block:24px 40px}

/* 列幅を揃え、金額と人数・年間費用を同じ2段の構造にする。 */
body[data-unified][data-fidelity] #compare .u-compare{table-layout:fixed}
body[data-unified][data-fidelity] #compare .u-compare th:first-child{width:17%}
body[data-unified][data-fidelity] #compare .u-compare thead .f-photo{width:100%;margin:0 0 16px}
body[data-unified][data-fidelity] #compare .u-compare thead .f-photo img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover}
body[data-unified][data-fidelity] #compare .u-compare .price{margin:0;color:var(--primary)}
body[data-unified][data-fidelity] #compare .u-compare .f-compare-amount{display:block;font-size:1.75rem;line-height:1.5;white-space:nowrap}
body[data-unified][data-fidelity] #compare .u-compare .price small{display:block;margin-top:8px;font-size:1rem;line-height:1.8;font-weight:400;color:var(--ink)}
body[data-unified][data-fidelity] #compare .u-compare tbody tr:nth-child(even)>td{background:#f5f7f8}
body[data-unified][data-fidelity] #compare .u-compare :is(td,th){border-color:#b8c8cf}

/* 長い記事のタイトルは全文幅、導入と補助写真はその下へ置く。 */
body[data-unified][data-fidelity][data-kind=article] .u-kv-band:has(.u-child-hero .f-kv-photo){padding-block:24px 40px}
body[data-unified][data-fidelity][data-kind=article] .u-kv-band:has(.u-child-hero .f-kv-photo)>.container{width:calc(100% - 80px);max-width:1120px;padding:0;margin-inline:auto}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:24px 40px;align-items:start}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero .u-hero-copy{display:contents;padding:0}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero :is(.article-meta,h1,.u-title-rule){grid-column:1/-1;margin:0}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero .article-meta{max-width:none;padding:0;color:var(--muted);font-size:1rem;line-height:1.8}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero h1{text-align:left;max-width:26em;text-wrap:balance}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero h1 .f-task-phrase{display:inline;white-space:normal}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero .lead{grid-column:1;margin:0;max-width:none}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero .f-kv-photo{grid-column:2;grid-row:4;width:100%;height:auto;min-height:0;align-self:start}
body[data-unified][data-fidelity][data-kind=article] .u-child-hero .f-kv-photo img{width:100%;height:auto;min-height:0;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
body[data-unified][data-fidelity] .f-article-media:not(.f-article-diagram){float:none;width:min(100%,420px);margin:0 auto 24px}
body[data-unified][data-fidelity]:has([data-sticky-consult]) .u-site-footer .footer-legal{padding-right:104px}
@media(max-width:767px){
 body[data-unified][data-fidelity]:is([data-page=S08],[data-kind=article]) .u-kv-band:has(.u-child-hero .f-kv-photo)>.container{width:calc(100% - 32px)}
 body[data-unified][data-fidelity][data-page=S08] .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){grid-template-columns:1fr;gap:24px}
 body[data-unified][data-fidelity][data-page=S08] .u-child-hero .f-kv-photo{max-width:480px;justify-self:center}
 body[data-unified][data-fidelity][data-kind=article] .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo){grid-template-columns:1fr;gap:24px}
 body[data-unified][data-fidelity][data-kind=article] .u-child-hero .lead{grid-column:1;grid-row:4}
 body[data-unified][data-fidelity][data-kind=article] .u-child-hero .f-kv-photo{grid-column:1;grid-row:5;max-width:480px;justify-self:center}
 body[data-unified][data-fidelity][data-page=G01] .u-kv-band{padding-block:24px 24px}
 body[data-unified][data-fidelity][data-page=G01] #policy{padding-bottom:48px}
 body[data-unified][data-fidelity][data-page=G01] #policy .f-policy-heading{margin-top:32px}
 body[data-unified][data-fidelity]:has([data-sticky-consult]) .u-site-footer .footer-legal{padding-right:0;padding-bottom:104px}
}
@media(min-width:768px){
 body[data-unified][data-fidelity] #compare table.u-compare{table-layout:fixed;min-width:52em}
 body[data-unified][data-fidelity] #compare table.u-compare th:first-child{width:17%}
}
@media(max-width:767px){
 body[data-unified][data-fidelity] #compare table.compare-pair-table tr{grid-template-columns:repeat(2,minmax(9em,1fr))}
 body[data-unified][data-fidelity] #compare .u-compare .f-compare-amount{font-size:1.25rem}
}
@media(min-width:1025px){
 body[data-unified][data-fidelity]:is([data-page=S03],[data-page=S04],[data-page=S05],[data-page=H05]) .u-child-hero:not(.f-about-hero) .u-hero-grid:has(>.f-kv-photo)>.u-hero-copy{padding-block:32px}
 body[data-unified][data-fidelity]:is([data-page=S03],[data-page=S04],[data-page=S05],[data-page=H05]) .u-child-hero .f-kv-photo{align-self:center}
 body[data-unified][data-fidelity]:is([data-page=S03],[data-page=S04],[data-page=S05],[data-page=H05]) .u-child-hero .f-kv-photo img{height:clamp(280px,24vw,360px);min-height:0;aspect-ratio:auto}
}

body[data-unified][data-fidelity][data-kind=article] h1 .f-article-title-sentence{display:block;white-space:normal}

@media(max-width:767px){body[data-unified][data-fidelity] #compare table.compare-pair-table tr>*:first-child{width:auto}}

/* 狭幅でも選んだプラン名を省略しない、標準detailsによる選択。 */
body[data-unified][data-fidelity] #compare .compare-selects{align-items:start}
body[data-unified][data-fidelity] #compare .compare-field{min-width:0}
body[data-unified][data-fidelity] #compare .compare-field-name{display:block;margin-bottom:8px;font-size:1rem;line-height:1.8}
body[data-unified][data-fidelity] #compare .compare-picker{margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}
body[data-unified][data-fidelity] #compare .compare-picker>summary{display:grid;grid-template-columns:minmax(0,1fr) 10px;align-items:center;gap:16px;min-height:56px;padding:14px 16px;list-style:none;cursor:pointer;font-size:var(--type-body);font-weight:500;line-height:1.8;overflow-wrap:anywhere}
body[data-unified][data-fidelity] #compare .compare-picker>summary::-webkit-details-marker{display:none}
body[data-unified][data-fidelity] #compare .compare-picker>summary::after{content:"";position:static;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;background:none}
body[data-unified][data-fidelity] #compare .compare-picker[open]>summary::after{transform:rotate(225deg);margin-top:4px}
body[data-unified][data-fidelity] #compare .compare-picker>summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
body[data-unified][data-fidelity] #compare .compare-choice-list{display:grid;border-top:1px solid var(--line);padding:8px}
body[data-unified][data-fidelity] #compare .compare-choice-option{display:block;min-height:48px;margin:0;padding:12px;text-align:left;white-space:normal;font-size:var(--type-body);line-height:1.8;background:#fff;color:var(--ink);border:0;border-radius:4px}
body[data-unified][data-fidelity] #compare .compare-choice-option[aria-pressed=true]{background:var(--surface);box-shadow:inset 3px 0 var(--primary);font-weight:700}
body[data-unified][data-fidelity] #compare .compare-choice-option:disabled{color:var(--muted);opacity:1;background:#f4f4f4}
body[data-unified][data-fidelity] #compare .compare-choice-option:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
body[data-unified][data-fidelity] .f-contact-methods[data-count="4"] .f-channel-heading h3{text-wrap:balance}
body[data-unified][data-fidelity] .f-contact-intro>p .f-copy-word{display:inline-block;white-space:nowrap}
body[data-about-design] .about-page>.about-intro .about-reading,body[data-about-design] .about-reading{text-align:left}
body[data-about-design] #profile .about-profile-grid{grid-template-columns:1fr;gap:24px;max-width:840px;margin-inline:auto}
body[data-about-design] #profile .about-identity{padding:0 0 24px;border-right:0;border-bottom:1px solid var(--line)}
body.service-renewal[data-unified][data-fidelity][data-page] #scope::after,body.service-renewal[data-unified][data-fidelity][data-page] #services::after{display:none}
body.service-renewal[data-unified][data-fidelity][data-page] .renew-choice .service-choice-action{text-decoration:none}
body.service-renewal[data-unified][data-fidelity][data-page] .service-choice-action>.f-link-label{text-decoration:underline;text-underline-offset:5px}
body.service-renewal[data-unified][data-fidelity][data-page] .service-choice-action>span[aria-hidden]{flex:none;text-decoration:none}
@media(max-width:767px){
 body[data-unified][data-fidelity] #compare .compare-selects{grid-template-columns:1fr;gap:16px}
 body[data-unified][data-fidelity] .kurumi-sticky.is-collapsed>.u-sticky-launcher{width:max-content;min-width:64px;min-height:76px}
 body[data-unified][data-fidelity] .kurumi-sticky.is-collapsed .u-sticky-avatar{width:56px;height:56px}
 body[data-unified][data-fidelity] .kurumi-sticky.is-collapsed .u-sticky-avatar picture,body[data-unified][data-fidelity] .kurumi-sticky.is-collapsed .u-sticky-avatar img{width:48px;height:48px}
 body[data-unified] .kurumi-sticky.is-collapsed .u-sticky-launcher-label{padding-inline:6px}
}
body[data-unified][data-fidelity] .f-table-scroll-hint[hidden]{display:none!important}
body[data-unified][data-fidelity] .f-company-service-intro h3{text-wrap:balance}
body[data-unified][data-fidelity] .f-contact-assurance{display:block;margin-top:8px}
body[data-unified][data-fidelity][data-page=C01] #process .f-step-copy p{line-break:strict}
body[data-unified][data-fidelity][data-page=C01] #process .f-step-copy p .f-copy-word{display:inline-block;white-space:normal;max-width:100%}
body[data-unified][data-fidelity] #compare thead a .f-plan-phrase{display:inline-block;white-space:nowrap;max-width:100%}
@media(min-width:768px) and (max-width:1239px){
 body[data-unified][data-fidelity] .f-contact-methods[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 会社TOPの3工程。番号・見出し・絵・本文の関係を近接で示す。 */
body[data-unified][data-fidelity][data-page=C01] #process{padding-block:64px}
body[data-unified][data-fidelity][data-page=C01] #process>.section-inner{container:company-process / inline-size}
body[data-unified][data-fidelity][data-page=C01] #process .u-section-heading{margin:0 0 32px}
body[data-unified][data-fidelity][data-page=C01] #process .u-title-rule{margin-top:16px}
body[data-unified][data-fidelity][data-page=C01] .f-company-process{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;list-style:none;margin:0;padding:0}
body[data-unified][data-fidelity][data-page=C01] .f-process-step{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0 0 24px;border-bottom:1px solid #b8c8cf;min-width:0}
body[data-unified][data-fidelity][data-page=C01] .f-process-step:last-child{border-bottom:0;padding-bottom:0}
body[data-unified][data-fidelity][data-page=C01] .f-process-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;min-width:0}
body[data-unified][data-fidelity][data-page=C01] .f-process-number{display:grid;place-items:center;flex:none;width:2rem;height:2rem;margin-top:2px;border-radius:50%;background:var(--primary);color:#fff;font-size:1rem;font-weight:700;line-height:1}
body[data-unified][data-fidelity][data-page=C01] .f-process-heading h3{flex:1 1 10em;min-width:0;margin:0;font-size:1.375rem;line-height:1.6;letter-spacing:0;color:var(--ink);text-wrap:balance}
body[data-unified][data-fidelity][data-page=C01] .f-process-art{display:grid;place-items:center;justify-self:center;width:min(100%,240px);height:160px;overflow:visible}
body[data-unified][data-fidelity][data-page=C01] .f-process-art img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
body[data-unified][data-fidelity][data-page=C01] .f-process-art img[data-image-role=illo-cost-confirm]{transform:scale(1.08)}
body[data-unified][data-fidelity][data-page=C01] .f-process-step .f-step-copy{display:block;padding:0;min-width:0}
body[data-unified][data-fidelity][data-page=C01] .f-process-step p{margin:0;line-height:1.8}
@container company-process (min-width:38rem){
 body[data-unified][data-fidelity][data-page=C01] .f-process-step{grid-template-columns:240px minmax(0,1fr);column-gap:32px;row-gap:12px;align-content:start;padding-bottom:24px}
 body[data-unified][data-fidelity][data-page=C01] .f-process-heading{grid-column:2;grid-row:1}
 body[data-unified][data-fidelity][data-page=C01] .f-process-art{grid-column:1;grid-row:1 / span 2;height:180px}
 body[data-unified][data-fidelity][data-page=C01] .f-process-step .f-step-copy{grid-column:2;grid-row:2}
}
@container company-process (min-width:64rem){
 body[data-unified][data-fidelity][data-page=C01] .f-company-process{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 210px auto;column-gap:24px;row-gap:16px}
 body[data-unified][data-fidelity][data-page=C01] .f-process-step{grid-row:span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;gap:16px;padding:0;border:0}
 body[data-unified][data-fidelity][data-page=C01] .f-process-heading{grid-column:1;grid-row:1}
 body[data-unified][data-fidelity][data-page=C01] .f-process-art{grid-column:1;grid-row:2;width:min(100%,300px);height:210px}
 body[data-unified][data-fidelity][data-page=C01] .f-process-step .f-step-copy{grid-column:1;grid-row:3}
}

/* 同じ役割の工程に、採用済みの近接・絵の比率を展開する。 */
body[data-unified][data-fidelity][data-page] main>article>section.f-compact-process{padding-block:64px}
body[data-unified][data-fidelity][data-page] main>article>section.f-compact-process>.section-inner{container:compact-process / inline-size}
body[data-unified][data-fidelity][data-page] main>article>section.f-compact-process .u-section-heading{margin:0 0 32px}
body[data-unified][data-fidelity][data-page] main>article>section.f-compact-process .u-title-rule{margin-top:16px}
body[data-unified][data-fidelity] .f-compact-process .f-compact-process-list{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;list-style:none;margin:0;padding:0}
body[data-unified][data-fidelity] .f-compact-process .f-process-step{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0 0 24px;border-bottom:1px solid #b8c8cf;min-width:0}
body[data-unified][data-fidelity] .f-compact-process .f-process-step:last-child{border-bottom:0;padding-bottom:0}
body[data-unified][data-fidelity] .f-compact-process .f-process-heading{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;min-width:0}
body[data-unified][data-fidelity] .f-compact-process .f-process-number{display:grid;place-items:center;flex:none;width:2rem;height:2rem;margin-top:2px;border-radius:50%;background:var(--primary);color:#fff;font-size:1rem;font-weight:700;line-height:1}
body[data-unified][data-fidelity] .f-compact-process .f-process-heading h3{flex:1 1 10em;min-width:0;margin:0;font-size:1.375rem;line-height:1.6;letter-spacing:0;color:var(--ink);text-wrap:balance}
body[data-unified][data-fidelity] .f-compact-process .f-process-art{display:grid;place-items:center;justify-self:center;width:min(100%,240px);height:160px;overflow:visible}
body[data-unified][data-fidelity] .f-compact-process .f-process-art img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
body[data-unified][data-fidelity] .f-compact-process .f-process-art img[data-image-role=illo-cost-confirm]{transform:scale(1.08)}
body[data-unified][data-fidelity] .f-compact-process .f-process-step .f-step-copy{display:block;padding:0;min-width:0}
body[data-unified][data-fidelity] .f-compact-process .f-process-step p{margin:0;line-height:1.8}
@container compact-process (min-width:38rem){
 body[data-unified][data-fidelity] .f-compact-process .f-process-step{grid-template-columns:240px minmax(0,1fr);column-gap:32px;row-gap:12px;align-content:start;padding-bottom:24px}
 body[data-unified][data-fidelity] .f-compact-process .f-process-heading{grid-column:2;grid-row:1}
 body[data-unified][data-fidelity] .f-compact-process .f-process-art{grid-column:1;grid-row:1 / span 2;height:180px}
 body[data-unified][data-fidelity] .f-compact-process .f-process-step .f-step-copy{grid-column:2;grid-row:2}
}
@container compact-process (min-width:64rem){
 body[data-unified][data-fidelity] .f-compact-process .f-compact-process-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--process-rows,1),auto var(--process-art-height,210px) auto);column-gap:24px;row-gap:16px}
 body[data-unified][data-fidelity] .f-compact-process .f-process-step{grid-row:span 3;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;gap:16px;padding:0;border:0}
 body[data-unified][data-fidelity] .f-compact-process .f-process-heading{grid-column:1;grid-row:1}
 body[data-unified][data-fidelity] .f-compact-process .f-process-art{grid-column:1;grid-row:2;width:min(100%,var(--process-art-width,300px));height:var(--process-art-height,210px)}
 body[data-unified][data-fidelity] .f-compact-process .f-process-step .f-step-copy{grid-column:1;grid-row:3}
}

body[data-unified][data-fidelity] .f-compact-process .f-process-art{margin:0}
body[data-unified][data-fidelity] .f-compact-process-list--six{--process-rows:2;--process-art-height:190px;--process-art-width:280px}
body[data-unified][data-fidelity] .f-compact-process .f-process-art--photo{width:min(100%,480px);height:auto;aspect-ratio:16/10}
body[data-unified][data-fidelity] .f-compact-process .f-process-art--photo img{object-fit:cover;border-radius:6px}
body[data-unified][data-fidelity] .f-compact-process .f-copy-word,
body[data-unified][data-fidelity] .f-compact-principles .f-copy-word{display:inline-block;white-space:normal;max-width:100%}
@container compact-process (min-width:38rem){
 body[data-unified][data-fidelity] .f-compact-process .f-process-art--photo{width:240px;height:160px;aspect-ratio:auto}
}
@container compact-process (min-width:64rem){
 body[data-unified][data-fidelity] .f-compact-process .f-process-art--photo{width:100%;height:210px}
}
/* 相談方針は工程番号を付けず、方針・場面・説明の順で見渡す。 */
body[data-unified][data-fidelity] .about-page section#values.f-compact-principles{padding-block:64px}
body[data-unified][data-fidelity] #values.f-compact-principles>.about-container{container:about-content / inline-size}
body[data-unified][data-fidelity] #values.f-compact-principles .about-heading{margin-bottom:32px}
body[data-unified][data-fidelity] #values.f-compact-principles .about-values{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:24px}
body[data-unified][data-fidelity] #values.f-compact-principles .about-value{grid-row:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:16px;min-width:0;border-bottom:1px solid #b8c8cf;padding-bottom:24px}
body[data-unified][data-fidelity] #values.f-compact-principles .about-value:last-child{border:0;padding-bottom:0}
body[data-unified][data-fidelity] .about-page #values.f-compact-principles .about-value h3{grid-column:1;grid-row:1;text-align:left;margin:0;font-size:24px;line-height:1.6}
body[data-unified][data-fidelity] #values.f-compact-principles .about-value-art{grid-column:1;grid-row:2;width:min(100%,180px);height:120px;margin:0 auto}
body[data-unified][data-fidelity] #values.f-compact-principles .about-value p{grid-column:1;grid-row:3;margin:0;line-height:1.8;text-wrap:balance}
@container about-content (min-width:32em){
 body[data-unified][data-fidelity] #values.f-compact-principles .about-value{grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto auto;column-gap:32px;row-gap:8px}
 body[data-unified][data-fidelity] .about-page #values.f-compact-principles .about-value h3{grid-column:2;grid-row:1}
 body[data-unified][data-fidelity] #values.f-compact-principles .about-value-art{grid-column:1;grid-row:1/span 2;width:160px;height:140px;align-self:center}
 body[data-unified][data-fidelity] #values.f-compact-principles .about-value p{grid-column:2;grid-row:2}
}

body[data-unified][data-fidelity] .f-compact-process .f-process-art{display:block}
body[data-unified][data-fidelity] .f-compact-process .f-process-art img,body[data-unified][data-fidelity] #values.f-compact-principles .about-value-art img{width:100%;height:100%;min-width:0;min-height:0;max-height:100%;aspect-ratio:auto;object-fit:contain}
body[data-unified][data-fidelity] .f-compact-process .f-process-art--photo img{object-fit:cover}

/* 相談ページは導入・相談方法・入力の役割を分け、同じ読み幅で入力へ進む。 */
body[data-unified][data-fidelity][data-page].f-contact-page .u-kv-band{background:var(--section-muted)}
body[data-unified][data-fidelity].f-contact-page .f-contact-title-group{display:grid;grid-template-columns:minmax(0,max-content) 160px;justify-content:start;align-items:center;gap:40px;margin-bottom:24px}
body[data-unified][data-fidelity].f-contact-page .f-contact-hero-art{display:block;width:160px;height:112px}
body[data-unified][data-fidelity].f-contact-page .f-contact-hero-art img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;aspect-ratio:auto;object-fit:contain}
body[data-unified][data-fidelity].f-contact-page .f-contact-titles .u-title-rule{margin:16px 0 0}
body[data-unified][data-fidelity][data-page].f-contact-page .u-child-hero.f-guide-hero .lead{max-width:44em}
body[data-unified][data-fidelity].f-contact-page .lead .f-copy-word{display:inline-block;max-width:100%;white-space:normal}
body[data-unified][data-fidelity][data-page].f-contact-page #contact-methods .u-section-heading{margin-bottom:32px}
body[data-unified][data-fidelity][data-page].f-contact-page main>article>section#form{padding-block:56px 48px}
body[data-unified][data-fidelity][data-page].f-contact-page #form .u-section-heading{margin-bottom:24px}
body[data-unified][data-fidelity][data-page].f-contact-page #form .u-title-rule{margin-top:16px}
body[data-unified][data-fidelity][data-page].f-contact-page #form .f-form-return{width:100%;max-width:none}
body[data-unified][data-fidelity].f-contact-page #form .u-form-progress{margin:0 0 24px;gap:16px;font-size:1.125rem}
body[data-unified][data-fidelity].f-contact-page #form .u-form-progress li{display:flex;flex-wrap:wrap;align-content:start;gap:4px 8px;padding-bottom:12px}
body[data-unified][data-fidelity].f-contact-page #form :is(.f-form-progress-label,.f-form-requirement){display:inline-block;max-width:100%;white-space:normal}
body[data-unified][data-fidelity].f-contact-page #form form[data-prototype-form]{width:100%;max-width:none;padding:24px;gap:24px}
body[data-unified][data-fidelity].f-contact-page #form .inline-label{gap:8px}
body[data-unified][data-fidelity].f-contact-page #form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){min-height:56px;padding:10px 14px}
body[data-unified][data-fidelity][data-page].f-contact-page #form form[data-prototype-form] textarea{min-height:128px}
body[data-unified][data-fidelity].f-contact-page #form .f-form-optional{margin-block:8px}
body[data-unified][data-fidelity].f-contact-page #form .f-form-optional>summary{padding-block:12px}
body[data-unified][data-fidelity].f-contact-page #form :is([data-form-confirm],[data-completion]){max-width:none;padding:24px}
body[data-about-design] .about-reading .f-copy-word{display:inline-block;max-width:100%;white-space:normal}
body[data-unified][data-fidelity] .f-article-operator{display:inline-block;max-width:100%;white-space:normal}
body[data-unified][data-fidelity][data-page=S01] #plans .f-plan-footer{align-items:start}
body[data-unified][data-fidelity][data-page=S01] #plans .f-plan-condition-word{display:inline-block;max-width:100%;white-space:normal}
@media(max-width:767px){
 body[data-unified][data-fidelity].f-contact-page .f-contact-title-group{grid-template-columns:minmax(0,1fr) 96px;gap:12px 16px;margin-bottom:20px}
 body[data-unified][data-fidelity].f-contact-page .f-contact-titles{display:contents}
 body[data-unified][data-fidelity].f-contact-page .f-contact-titles .eyebrow{grid-column:1;grid-row:1;margin:0}
 body[data-unified][data-fidelity].f-contact-page .f-contact-titles h1{grid-column:1/-1;grid-row:2}
 body[data-unified][data-fidelity].f-contact-page .f-contact-titles .u-title-rule{grid-column:1/-1;grid-row:3;margin:0}
 body[data-unified][data-fidelity].f-contact-page .f-contact-hero-art{grid-column:2;grid-row:1;width:96px;height:72px}
 body[data-unified][data-fidelity][data-page].f-contact-page main>article>section#form{padding-block:40px}
 body[data-unified][data-fidelity].f-contact-page #form form[data-prototype-form]{padding:20px;gap:20px}
 body[data-unified][data-fidelity].f-contact-page #form .u-form-progress{gap:12px}
}

/* 代表写真を後から入れられる比率と本文幅。文字拡大時も内容幅で縦へ切り替える。 */
body[data-about-design] #profile .about-profile-grid--portrait{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px 40px;max-width:960px}
body[data-about-design] #profile .about-portrait{display:grid;place-items:center;flex:0 0 min(240px,100%);width:240px;max-width:100%;aspect-ratio:4/5;margin:0 auto;overflow:hidden;border:0;border-radius:8px;background:transparent}
body[data-about-design] #profile .about-portrait>svg{display:block;max-width:28%;height:auto}
body[data-about-design] #profile .about-portrait>img{display:block;width:100%;height:100%;object-fit:cover}
body[data-about-design] #profile .about-profile-details{flex:1 1 26em;min-width:0;max-width:100%}
body[data-about-design] #profile .about-profile-details .about-identity{margin-bottom:24px}
@media(max-width:767px){body[data-about-design] #profile .about-portrait{flex-basis:min(220px,100%);width:220px}}

body[data-about-design] #profile.about-section{padding-block:64px}
body[data-about-design] #profile .about-heading{max-width:960px;margin-inline:auto;margin-bottom:32px}
body[data-about-design] #profile .about-profile-phrase{display:inline-block}

/* 共通リンクは文字だけを下線にし、離れた矢印に下線を作らない。 */
body[data-unified] a.f-separated-link,body[data-unified] a.f-separated-link:is(:hover,:focus-visible,:visited){text-decoration-line:none!important}
body[data-unified] a.f-separated-link>.f-link-label{min-width:0;margin:0;padding:0;font:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px}
body[data-unified] a.f-separated-link:hover>.f-link-label{ text-decoration-thickness:2px }
body[data-unified] a.f-separated-link>.f-link-arrow{text-decoration:none!important;flex:none}
body[data-unified][data-fidelity] .f-service-phrase{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:break-word}

/* 見出しと本文は行の長さを均し、語句保護と併用する。 */
body[data-unified][data-fidelity] main :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,summary,label){text-wrap:balance}

/* 罫線を持つ一覧ナビは、その罫線だけを使い文字下線を重ねない。 */
body[data-unified][data-fidelity] :is(.f-index-links,.service-paths)>a.f-separated-link>.f-link-label{text-decoration-line:none}
