/* 操作の見た目はここで共有。ページ別CSSは配置と幅だけを指定する。 */
body[data-unified][data-fidelity] .button.u-action{
 --action-height:56px;--action-padding:10px 20px;--action-font:var(--type-body);--action-arrow:28px;
 display:inline-flex;position:relative;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;
 min-width:0;max-width:100%;min-height:var(--action-height);height:auto;padding:var(--action-padding);
 border:1px solid var(--primary);border-radius:8px;background:#fff;color:var(--primary);
 font-family:inherit;font-size:var(--action-font);font-weight:700;line-height:1.6;letter-spacing:0;
 text-align:center;text-decoration:none;white-space:normal;text-wrap:balance;overflow-wrap:normal;
 box-shadow:none;transform:none;filter:none;cursor:pointer;
 transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;
}
body[data-unified][data-fidelity] .u-action .u-action-main{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
body[data-unified][data-fidelity] .u-action .u-action-label{display:block;min-width:0;text-wrap:balance;overflow-wrap:normal}
body[data-unified][data-fidelity] .u-action .u-action-phrase{display:inline-block;max-width:100%}
body[data-unified][data-fidelity] .u-action .u-action-icon{display:block;flex:none;width:24px;height:24px}
body[data-unified][data-fidelity] .u-action .u-action-arrow{display:grid;place-items:center;flex:none;width:var(--action-arrow);height:var(--action-arrow);min-width:var(--action-arrow);aspect-ratio:1;border:0;border-radius:0;pointer-events:none;color:inherit}
body[data-unified][data-fidelity] .u-action[data-action-direction="back"]{flex-direction:row-reverse}
/* 移動記号はこの二辺だけで描画し、丸枠・文字グリフの差をなくす。 */
body[data-unified][data-fidelity] .u-nav-chevron{display:inline-grid;place-items:center;flex:none;vertical-align:middle;pointer-events:none;text-decoration:none;color:inherit}
body[data-unified][data-fidelity] a .u-nav-chevron:where(:not(.u-action-arrow)){box-sizing:border-box;width:24px;height:24px;min-width:24px;padding:0;border:0;border-radius:0;background:transparent;line-height:1}
body[data-unified][data-fidelity] .u-nav-chevron::before{content:"";display:block;box-sizing:border-box;width:9px;height:9px;border:0;border-top:1.8px solid currentColor;border-right:1.8px solid currentColor;transform:translateX(-2px) rotate(45deg)}
body[data-unified][data-fidelity] .u-nav-chevron[data-direction="back"]::before{transform:translateX(2px) rotate(225deg)}
body[data-unified][data-fidelity] .u-nav-chevron[data-direction="down"]::before{transform:translateY(-2px) rotate(135deg)}
body[data-unified][data-fidelity] .u-nav-chevron[data-direction="up"]::before{transform:translateY(2px) rotate(-45deg)}
body[data-unified][data-fidelity] .u-nav-chevron[data-direction="external"]::before{transform:rotate(0deg)}
body[data-unified][data-fidelity] .u-nav-chevron[data-direction="lower"]::before{transform:rotate(90deg)}
body[data-unified][data-fidelity] .u-action[data-ui-kind="primary"]{background:var(--primary);color:#fff}
body[data-unified][data-fidelity] .u-action:visited{color:var(--primary)}
body[data-unified][data-fidelity] .u-action[data-ui-kind="primary"]:visited{color:#fff}
body[data-unified][data-fidelity] .u-action:not(:disabled):is(:hover,:active){background:var(--surface);border-color:var(--primary);color:var(--primary);text-decoration:none;box-shadow:none;transform:none;filter:none}
body[data-unified][data-fidelity] .u-action[data-ui-kind="primary"]:not(:disabled):is(:hover,:active){background:color-mix(in srgb,var(--primary) 85%,#17344B);border-color:color-mix(in srgb,var(--primary) 85%,#17344B);color:#fff}
body[data-unified][data-fidelity] .u-action:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
body[data-unified][data-fidelity] .u-action:disabled{background:#E8EDF0;color:#536570;border-color:#BAC7CD;cursor:default;opacity:1}

/* 入口・下部CTAだけは72px。通常ボタンと形・色・文字・アイコンを共有する。 */
body[data-unified][data-fidelity] .u-action[data-action-size="large"]{--action-height:72px;--action-padding:16px 12px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;justify-content:stretch}
body[data-unified][data-fidelity] .u-action[data-action-size="large"] .u-action-arrow{display:none}
@container (min-width:33em){
 body[data-unified][data-fidelity] .u-action[data-action-size="large"]{--action-padding:16px 24px;grid-template-columns:28px minmax(0,1fr) 28px;gap:12px}
 body[data-unified][data-fidelity] .u-action[data-action-size="large"] .u-action-main{grid-column:2}
 body[data-unified][data-fidelity] .u-action[data-action-size="large"] .u-action-arrow{display:grid;grid-column:3}
}
body[data-unified][data-fidelity] .u-action[data-action-size="compact"]{--action-font:1.125rem;--action-padding:10px 16px;--action-arrow:24px}
@container estimate-actions (max-width:33em){
 body[data-unified][data-fidelity] .estimate-consult-choices .u-action-arrow{display:none}
}
body[data-unified][data-fidelity] .u-mobile-card .u-menu-cta.u-action{color:#fff;margin-top:16px}
body[data-unified][data-fidelity] .u-mobile-card .u-menu-cta.u-action>.u-action-main{color:inherit;flex:0 1 auto}

/* 概算の補助参照は下線だけ。矢印へ下線を当てず、二重の罫線を足さない。 */
body[data-unified][data-fidelity] .button.u-action[data-ui-kind="text"]{min-height:44px;padding:6px 0;border:0;border-radius:0;background:transparent;font-size:var(--type-small);font-weight:700}
body[data-unified][data-fidelity] .u-action[data-ui-kind="text"] .u-action-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}

/* 小さな追従相談欄はコンパクトな操作群。閉じる・開くは専用の円形アイコン。 */
body[data-unified][data-fidelity] .kurumi-sticky :is(.u-sticky-contact,.u-sticky-phone){border-radius:8px;border-width:1px}
body[data-unified][data-fidelity] .kurumi-sticky .u-sticky-contact{font-size:1.125rem;line-height:1.6}
@media(max-width:767px){
 body[data-unified][data-fidelity] .u-action[data-action-size="large"][data-label-flow="stack"] .u-action-phrase{display:block}
}
@media(prefers-reduced-motion:reduce){body[data-unified][data-fidelity] .button.u-action{transition:none}}
