/* 相談欄は窓口名と操作の2段。説明文による行高の引き延ばしをやめる。 */
body[data-unified][data-fidelity] .f-contact-band .f-contact-intro{margin:0 auto 16px;text-align:center}
body[data-unified][data-fidelity] .f-contact-intro .u-section-heading{margin-bottom:16px}
body[data-unified][data-fidelity] .f-contact-intro h2,body[data-unified][data-fidelity] .f-contact-intro>p{text-align:center}
body[data-unified][data-fidelity] .f-contact-intro .u-title-rule{margin-inline:auto}
body[data-unified][data-fidelity] .f-contact-hours{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 auto 16px;justify-content:center;color:var(--muted);font-size:var(--type-small);line-height:1.8;text-align:center}
body[data-unified][data-fidelity] .f-contact-hours-part{display:inline-block}
body[data-unified][data-fidelity] .f-contact-hours-label{font-weight:700}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,16em),1fr));gap:16px;align-items:stretch}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"][data-count="4"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,12em),1fr))}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] .f-contact-method{display:flex;flex-direction:column;grid-row:auto;gap:20px;padding:20px;min-height:0}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] .f-channel-heading{width:100%;gap:8px;align-items:center;justify-content:center}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] .f-channel-icon{width:32px;height:32px}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] h3{text-wrap:balance;line-height:1.6;text-align:center}
body[data-unified][data-fidelity] .f-contact-purpose{display:inline-block}
body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] .f-channel-action{margin-top:auto;min-height:66px;padding:12px 10px}
@media (max-width:1199px){
 body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"][data-count="4"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(16em,calc(50% - 8px))),1fr))}
}
@media (max-width:767px){
 body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"],body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"][data-count="4"]{grid-template-columns:1fr;gap:12px}
 body[data-unified][data-fidelity] .f-contact-methods[data-layout="compact"] .f-contact-method{padding:20px;gap:16px}
}

/* 相談ページ内は導入から入力まで760pxの同じ軸。窓口数に応じて列を切り替える。 */
body[data-unified][data-fidelity][data-page].f-contact-page :is(#services,#contact-methods)>.section-inner{container:contact-page / inline-size}
body[data-unified][data-fidelity][data-page].f-contact-page .f-contact-methods[data-layout="compact"][data-count="4"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(16em,calc(50% - 8px))),1fr))}
body[data-unified][data-fidelity][data-page].f-contact-page .f-contact-methods[data-layout="compact"][data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-unified][data-fidelity][data-page].f-contact-page .contact-routes a{font-size:max(18px,.9em);padding:14px 16px;gap:8px}
@container contact-page (max-width:37em){
 body[data-unified][data-fidelity][data-page].f-contact-page .contact-routes{grid-template-columns:minmax(0,1fr)}
 body[data-unified][data-fidelity][data-page].f-contact-page .f-contact-methods[data-layout="compact"][data-count="3"]{grid-template-columns:minmax(0,1fr)}
}

/* 採用CTA：電話の白枠と、その下の同等な2つの相談ボタン。 */
body[data-unified][data-fidelity] #consult .f-contact-band{container:consult-choices / inline-size}
body[data-unified][data-fidelity] #consult .f-contact-intro{margin:0 auto 28px}
body[data-unified][data-fidelity] #consult .f-contact-intro h2 .f-consult-ending{white-space:nowrap;letter-spacing:-.03em}
body[data-unified][data-fidelity] #consult .f-contact-methods[data-consult-layout]{grid-template-columns:minmax(0,1fr);gap:24px;max-width:960px;margin-inline:auto}
body[data-unified][data-fidelity] #consult .f-consult-phones{display:grid;gap:12px;min-width:0;margin:0;padding:24px 16px;border:1px solid #B7CBD5;border-radius:12px;background:#fff}
body[data-unified][data-fidelity] #consult .f-consult-phone-row{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;gap:0;min-width:0;width:100%;max-width:720px;margin-inline:auto}
body[data-unified][data-fidelity] #consult .f-consult-phone-row h3{margin:0;font-size:var(--type-body);line-height:1.6;text-align:center;text-wrap:balance}
body[data-unified][data-fidelity] #consult .f-consult-call{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:0;max-width:100%;min-height:64px;margin:0;padding:4px 0;border:0;border-radius:4px;background:transparent;color:var(--primary);font-size:28px;line-height:1.5;font-weight:700;letter-spacing:0;text-decoration:none;box-shadow:none}
body[data-unified][data-fidelity] #consult .f-consult-number{display:block;min-width:0;font-variant-numeric:tabular-nums;overflow-wrap:normal;text-wrap:balance}
body[data-unified][data-fidelity] #consult .f-consult-phone-icon{display:block;flex:none;width:24px;height:24px}
body[data-unified][data-fidelity] #consult .f-consult-call:hover .f-consult-number{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
body[data-unified][data-fidelity] #consult .f-consult-phones .f-contact-hours{margin:0;gap:4px 6px}
body[data-unified][data-fidelity] #consult .f-consult-digital{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}body[data-unified][data-fidelity] #consult .f-consult-call:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@container consult-choices (max-width:20em){
 body[data-unified][data-fidelity] #consult .f-contact-intro h2{font-size:28px}
}
@container consult-choices (min-width:15em){
 body[data-unified][data-fidelity] #consult .f-consult-digital{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container consult-choices (min-width:31em){
 body[data-unified][data-fidelity] #consult .f-consult-phones{padding:24px 40px}
 body[data-unified][data-fidelity] #consult .f-consult-phone-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);justify-items:start;gap:24px}
 body[data-unified][data-fidelity] #consult .f-consult-phone-row h3{text-align:left}
 body[data-unified][data-fidelity] #consult .f-consult-call{justify-content:flex-start;font-size:32px}
}
@container (min-width:33em){
}

/* 電話が1窓口の時は、ラベル・番号・受付時間を同じ中央軸にまとめる。 */
body[data-unified][data-fidelity] #consult .f-contact-methods[data-phone-count]{max-width:760px;gap:20px}
body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-phones{padding:20px 16px;gap:8px}
body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-phone-row{grid-template-columns:minmax(0,1fr);justify-items:center;max-width:none;gap:0}
body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-phone-row h3{text-align:center}
body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-call{justify-content:center}
@container consult-choices (min-width:31em){
 body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-phones{padding:20px 32px}
 body[data-unified][data-fidelity] #consult [data-phone-count="1"] .f-consult-call{font-size:36px}
}
@container consult-choices (min-width:33em){
}
/* 会社の2窓口は、どの幅でも窓口名の下に番号を置いて中央へまとめる。 */
body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-phones{padding:20px 16px;gap:12px}
body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-phone-row{grid-template-columns:minmax(0,1fr);justify-items:center;max-width:none;gap:0}
body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-phone-row h3{text-align:center}
body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-call{justify-content:center}
@container consult-choices (min-width:31em){
 body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-phones{padding:20px 32px}
 body[data-unified][data-fidelity] #consult [data-phone-count="2"] .f-consult-call{font-size:36px}
}
@media(prefers-reduced-motion:reduce){
}
@container (max-width:12em){
}
