/* RNSh4 palette sync · 2026-10-01 */
:root{--rnsh4-ink:#152033;--rnsh4-muted:#6b7788;--rnsh4-brand:#416a87;--rnsh4-brand-dark:#163f68;--rnsh4-mint:#25c9ba;--rnsh4-mint-deep:#0da99e;--rnsh4-blue:#258cf0;--rnsh4-line:#e7edf2;--rnsh4-soft:#f7fafb;}
/** new-rnsh compatibility layer */
:is(.page-401,.page-402) {
    --brand-100: var(--brand);
    --surface-soft: var(--soft);
    --text: var(--ink);
    --text-sub: var(--muted);
    --text-light: #6b7788;
    --radius-xs: 4px;
    --radius-sm: 7px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --shadow-sm: 0 8px 24px rgba(28, 58, 82, .07);
    --shadow-md: 0 18px 46px rgba(28, 58, 82, .11);
    --warning: #8a621d;
}
:is(.page-401,.page-402) h2,
:is(.page-401,.page-402) h3,
:is(.page-401,.page-402) p,
:is(.page-401,.page-402) dl { margin-top: 0; margin-bottom: 0; }
:is(.page-401,.page-402) ul,
:is(.page-401,.page-402) ol { margin: 0; padding: 0; list-style: none; }
:is(.page-401,.page-402) .section-space-sm { padding: 96px 0; }
:is(.page-401,.page-402) .eyebrow { margin: 0 0 12px; color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
:is(.page-401,.page-402) .form-field label { display: block; margin-bottom: 8px; color: var(--navy); font-size: 14px; font-weight: 700; }
:is(.page-401,.page-402) .form-field.full { grid-column: 1 / -1; }
:is(.page-401,.page-402) .levy-btn-sm { min-height: 44px; padding: 0 16px; font-size: 13px; }
:is(.page-401,.page-402) .levy-btn-white { border-color: #fff; background: #fff; color: var(--brand-deep); }
:is(.page-401,.page-402) .levy-btn-white:hover { border-color: #fff; background: #f4f9ff; color: var(--brand-deep); }
:is(.page-401,.page-402) .levy-btn-ghost { border-color: rgba(255,255,255,.45); background: transparent; color: #fff; }
:is(.page-401,.page-402) .levy-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }

/**
 * 파일 경로: /rnsh/assets/css/401.css
 * 용도: 장애인 고용의무 제도 안내 + 고용부담금 계산기
 */

.levy-intro,
.levy-eligibility,
.levy-method,
.levy-obligation,
.levy-sources,
.levy-disclaimer { background: var(--white); }

.levy-keyfacts,
.levy-calculator-section,
.levy-bases,
.levy-reduction { background: var(--surface-soft); }

.levy-section-heading { max-width: 840px; margin-bottom: 40px; }
.levy-section-heading-compact { max-width: 760px; margin-bottom: 30px; }
.levy-section-heading h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.22; letter-spacing: -.045em; }
.levy-section-heading > p:not(.eyebrow) { margin-top: 16px; color: var(--text-sub); font-size: 17px; line-height: 1.75; }
.levy-section-heading-split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.levy-section-heading-split > div { max-width: 760px; }
.levy-section-heading-split > p { flex: 0 0 auto; margin: 0 0 7px; color: var(--text-sub); font-size: 14px; }

.levy-threshold-note {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 32px;
    align-items: center;
    padding: 28px 30px;
    border: 1px solid var(--brand-40);
    border-left: 5px solid var(--brand);
    border-radius: var(--radius-md);
    background: var(--brand-20);
}
.levy-threshold-note strong { color: var(--brand-deep); font-size: 19px; line-height: 1.45; }
.levy-threshold-note p { color: var(--text-sub); font-size: 16px; line-height: 1.75; }
.levy-threshold-note b { color: var(--brand-deep); }

.levy-fact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.levy-fact-card {
    min-height: 220px;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--white);
    box-shadow: var(--shadow-sm);
}
.levy-fact-index { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 28px; border-radius: 50%; color: var(--brand); background: var(--brand-20); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.levy-fact-card h3 { min-height: 52px; color: var(--text-sub); font-size: 15px; line-height: 1.55; }
.levy-fact-card strong { display: block; margin-top: 14px; color: var(--navy); font-size: clamp(28px, 2.6vw, 38px); line-height: 1.15; letter-spacing: -.04em; }
.levy-fact-card p { margin-top: 12px; color: var(--text-light); font-size: 13px; }
.levy-quick-action { display: flex; align-items: center; gap: 18px; margin-top: 30px; }
.levy-quick-action span { color: var(--text-sub); font-size: 14px; }

.levy-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.levy-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 15px; }
.levy-table th,
.levy-table td { padding: 18px 20px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.levy-table thead th { color: var(--brand-deep); background: var(--brand-20); font-size: 14px; font-weight: 800; }
.levy-table tbody th { color: var(--text); font-weight: 700; }
.levy-table tbody tr:last-child > * { border-bottom: 0; }
.levy-table td { color: var(--text-sub); }
.levy-table td strong { color: var(--brand-deep); }
.levy-table-note { margin-top: 14px; color: var(--text-light); font-size: 13px; line-height: 1.65; }

.levy-mode-tabs { display: inline-flex; margin-bottom: 22px; padding: 5px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); }
.levy-mode-tab { min-width: 130px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 5px; color: var(--text-sub); background: transparent; font-weight: 700; cursor: pointer; }
.levy-mode-tab.is-active { color: var(--white); background: var(--brand); }

.levy-calculator-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(330px, .9fr); gap: 28px; align-items: start; }
.levy-form { display: flex; flex-direction: column; gap: 18px; }
.levy-form-section { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); box-shadow: 0 8px 28px rgba(28, 58, 82, .045); }
.levy-form-section-head { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; margin-bottom: 24px; }
.levy-form-section-head > span { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; color: var(--brand); background: var(--brand-20); font-size: 12px; font-weight: 800; }
.levy-form-section-head h3 { font-size: 22px; line-height: 1.35; }
.levy-form-section-head p { margin-top: 6px; color: var(--text-sub); font-size: 14px; line-height: 1.6; }
.levy-form-section-head-split { grid-template-columns: 42px 1fr auto; }
.levy-mode-panel[hidden] { display: none; }
.levy-deduction-help { display: block; margin-top: 14px; }

.levy-precise-note { margin: -4px 0 18px; padding: 13px 15px; border-radius: var(--radius-sm); color: var(--text-sub); background: var(--brand-20); font-size: 13px; line-height: 1.6; }
.levy-month-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.levy-month-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.levy-month-table th,
.levy-month-table td { padding: 10px 9px; border-bottom: 1px solid var(--line); text-align: center; }
.levy-month-table thead th { color: var(--brand-deep); background: var(--brand-20); font-size: 12px; font-weight: 800; white-space: nowrap; }
.levy-month-table tbody th { width: 54px; color: var(--text); font-size: 13px; }
.levy-month-table tbody tr:last-child > * { border-bottom: 0; }
.levy-month-table tbody tr.is-excluded { opacity: .5; background: #f4f9ff; }
.levy-month-input { width: 108px; min-height: 42px; padding: 8px 9px; border: 1px solid var(--line-strong); border-radius: var(--radius-xs); color: var(--text); background: var(--white); text-align: right; outline: none; }
.levy-month-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(69, 109, 140, .12); }
.levy-check { display: inline-flex; align-items: center; gap: 6px; color: var(--text-sub); font-size: 12px; white-space: nowrap; }
.levy-check input { width: 17px; height: 17px; accent-color: var(--brand); }

.levy-form-error { padding: 16px 18px; border: 1px solid rgba(182, 76, 76, .28); border-radius: var(--radius-sm); color: #8c3434; background: #fff6f6; font-size: 14px; font-weight: 600; }
.levy-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.levy-noscript { padding: 15px; color: var(--warning); background: #fff9ed; border-radius: var(--radius-sm); }

.levy-result-panel {
    position: sticky;
    top: 100px;
    min-height: 520px;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-lg);
    color: var(--white);
    background: linear-gradient(145deg, var(--brand-deep), #0d263b 100%);
    box-shadow: var(--shadow-md);
}
.levy-result-kicker { color: var(--brand-60); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.levy-result-panel > h3 { margin-top: 8px; font-size: 26px; line-height: 1.3; }
.levy-result-empty { display: flex; min-height: 390px; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.levy-result-empty strong { font-size: 21px; }
.levy-result-empty p { max-width: 280px; margin-top: 12px; color: #6f8aa0; font-size: 14px; line-height: 1.7; }
.levy-result-status { margin-top: 24px; padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-sm); background: rgba(255,255,255,.06); }
.levy-result-status > span { display: inline-flex; padding: 4px 8px; border-radius: 999px; color: #d9e8f2; background: rgba(255,255,255,.09); font-size: 11px; font-weight: 800; }
.levy-result-status strong { display: block; margin-top: 10px; font-size: 17px; line-height: 1.5; }
.levy-result-status p { margin-top: 7px; color: #6f8aa0; font-size: 13px; line-height: 1.65; }
.levy-result-summary,
.levy-result-current,
.levy-result-deductions { margin-top: 22px; }
.levy-result-summary div,
.levy-result-current div,
.levy-result-deductions div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 13px; }
.levy-result-summary dt,
.levy-result-current dt,
.levy-result-deductions dt { color: #6f8aa0; }
.levy-result-summary dd,
.levy-result-current dd,
.levy-result-deductions dd { margin: 0; text-align: right; font-weight: 700; }
.levy-result-workforce { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.levy-result-workforce div { min-height: 82px; padding: 12px; border-radius: var(--radius-sm); background: rgba(255,255,255,.065); }
.levy-result-workforce span { display: block; min-height: 34px; color: #6f8aa0; font-size: 11px; line-height: 1.45; }
.levy-result-workforce strong { display: block; margin-top: 8px; font-size: 20px; }
.levy-result-money { margin-top: 22px; padding: 22px 20px; border-radius: var(--radius-md); color: var(--brand-deep); background: var(--white); }
.levy-result-money span { font-size: 13px; font-weight: 700; }
.levy-result-money strong { display: block; margin-top: 7px; color: var(--brand); font-size: clamp(30px, 3vw, 42px); line-height: 1.15; letter-spacing: -.04em; word-break: break-all; }
.levy-result-money p { margin-top: 8px; color: var(--text-light); font-size: 12px; }
.levy-result-basis { margin-top: 18px; color: #6f8aa0; font-size: 13px; line-height: 1.65; }
.levy-detail-toggle { width: 100%; min-height: 44px; margin-top: 18px; border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius-sm); color: var(--white); background: transparent; font-weight: 700; cursor: pointer; }
.levy-detail-toggle:hover,
.levy-detail-toggle:focus-visible { background: rgba(255,255,255,.08); }

.levy-detail-panel { margin-top: 28px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.levy-detail-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 22px; }
.levy-detail-head h3 { font-size: 26px; }
.levy-detail-head > p { max-width: 620px; color: var(--text-sub); font-size: 14px; line-height: 1.65; text-align: right; }
.levy-detail-table { min-width: 1040px; font-size: 13px; }
.levy-detail-table td:last-child { color: var(--brand-deep); font-weight: 800; }

.levy-method-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
.levy-method-steps li { min-height: 210px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.levy-method-steps li > span { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 24px; border-radius: 50%; color: var(--brand); background: var(--brand-20); font-size: 12px; font-weight: 800; }
.levy-method-steps strong { display: block; font-size: 18px; }
.levy-method-steps p { margin-top: 10px; color: var(--text-sub); font-size: 14px; line-height: 1.7; }

.levy-base-list { display: flex; flex-direction: column; gap: 12px; }
.levy-base-row { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 92px; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.levy-base-step { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; color: var(--white); background: var(--brand); font-size: 14px; font-weight: 800; }
.levy-base-row h3 { font-size: 18px; }
.levy-base-row p { margin-top: 5px; color: var(--text-light); font-size: 13px; }
.levy-base-row > strong { color: var(--navy); font-size: 22px; letter-spacing: -.03em; white-space: nowrap; }
.levy-base-row > strong small { margin-left: 5px; color: var(--text-light); font-size: 12px; font-weight: 500; }

.levy-obligation-panel { padding: 46px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--white), var(--brand-20)); }
.levy-obligation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.levy-obligation-grid article { padding: 22px; border: 1px solid rgba(69,109,140,.16); border-radius: var(--radius-md); background: rgba(255,255,255,.84); }
.levy-obligation-grid span { color: var(--text-sub); font-size: 13px; }
.levy-obligation-grid strong { display: block; margin-top: 11px; color: var(--brand-deep); font-size: 22px; line-height: 1.3; }
.levy-obligation-grid p { margin-top: 7px; color: var(--text-light); font-size: 12px; }

.levy-reduction-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.levy-reduction-grid article { min-height: 220px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.levy-reduction-grid article > span { color: var(--brand); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.levy-reduction-grid h3 { margin-top: 26px; font-size: 19px; }
.levy-reduction-grid p { margin-top: 10px; color: var(--text-sub); font-size: 14px; line-height: 1.7; }

.levy-sources-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 30px; align-items: start; }
.levy-source-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.levy-source-list a { display: flex; justify-content: space-between; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.levy-source-list a > span { color: var(--text); font-weight: 600; }
.levy-source-list a > strong { flex: 0 0 auto; color: var(--brand); font-size: 13px; }
.levy-law-card { align-self: end; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-soft); }
.levy-law-card h3 { font-size: 22px; }
.levy-law-card ul { margin: 22px 0; border-top: 1px solid var(--line); }
.levy-law-card li { display: grid; grid-template-columns: 76px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.levy-law-card li strong { color: var(--brand); }
.levy-law-card li span { color: var(--text-sub); }

.levy-disclaimer-box { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: center; padding: 34px 38px; border: 1px solid var(--brand-40); border-radius: var(--radius-md); background: var(--brand-20); }
.levy-disclaimer-box h2 { font-size: 28px; }
.levy-disclaimer-box > p { color: var(--text-sub); font-size: 15px; line-height: 1.8; }
.levy-disclaimer-box > p strong { color: var(--brand-deep); }

.levy-cta { padding-top: 0; }
.levy-cta-box { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 36px; padding: 48px; border-radius: var(--radius-lg); color: var(--white); background: linear-gradient(135deg, var(--brand-100), var(--brand-deep)); }
.levy-cta-box::after { content: ''; position: absolute; right: -90px; top: -120px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.levy-cta-box > div { position: relative; z-index: 1; }
.levy-cta-box .eyebrow { color: #dbe7ef; }
.levy-cta-box h2 { max-width: 720px; font-size: clamp(28px, 3vw, 40px); line-height: 1.3; }
.levy-cta-box p:not(.eyebrow) { max-width: 720px; margin-top: 12px; color: #dbe7ef; font-size: 15px; }
.levy-cta-actions { display: flex; flex: 0 0 auto; gap: 10px; }

@media (max-width: 1180px) {
    .levy-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .levy-calculator-grid { grid-template-columns: minmax(0, 1.4fr) minmax(310px, .8fr); }
    .levy-method-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .levy-obligation-grid,
    .levy-reduction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
    .levy-calculator-grid,
    .levy-sources-grid { grid-template-columns: 1fr; }
    .levy-result-panel { position: static; min-height: 0; }
    .levy-result-empty { min-height: 240px; }
    .levy-detail-head { align-items: start; flex-direction: column; gap: 10px; }
    .levy-detail-head > p { text-align: left; }
    .levy-threshold-note,
    .levy-disclaimer-box { grid-template-columns: 1fr; gap: 16px; }
    .levy-cta-box { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
    :is(.page-401,.page-402) .section-space-sm { padding: 72px 0; }
    :is(.page-401,.page-402) .form-field.full { grid-column: auto; }
    .levy-section-heading { margin-bottom: 28px; }
    .levy-section-heading h2 { font-size: clamp(29px, 8.7vw, 38px); }
    .levy-section-heading > p:not(.eyebrow) { font-size: 16px; }
    .levy-section-heading-split { align-items: flex-start; flex-direction: column; gap: 8px; }
    .levy-section-heading-split > p { margin: 0; }
    .levy-threshold-note { padding: 22px; }
    .levy-fact-grid { grid-template-columns: 1fr; gap: 12px; }
    .levy-fact-card { min-height: 0; padding: 23px; }
    .levy-fact-index { margin-bottom: 20px; }
    .levy-fact-card h3 { min-height: 0; }
    .levy-quick-action { align-items: stretch; flex-direction: column; }
    .levy-quick-action .btn-rns { width: 100%; }
    .levy-mode-tabs { width: 100%; }
    .levy-mode-tab { flex: 1 1 50%; min-width: 0; }
    .levy-form-section { padding: 24px 18px; }
    .levy-form-section-head { grid-template-columns: 38px 1fr; gap: 12px; }
    .levy-form-section-head > span { width: 38px; height: 38px; }
    .levy-form-section-head-split { grid-template-columns: 38px 1fr; }
    .levy-form-section-head-split .btn-rns { grid-column: 1 / -1; width: 100%; }
    .levy-form-actions { flex-direction: column-reverse; }
    .levy-form-actions .btn-rns { width: 100%; }
    .levy-result-panel { padding: 24px 20px; }
    .levy-result-workforce { grid-template-columns: 1fr; }
    .levy-result-workforce div { min-height: auto; }
    .levy-result-workforce span { min-height: 0; }
    .levy-detail-panel { padding: 22px 16px; }
    .levy-method-steps { grid-template-columns: 1fr; }
    .levy-method-steps li { min-height: 0; }
    .levy-base-row { grid-template-columns: 44px 1fr; padding: 17px; }
    .levy-base-row > strong { grid-column: 2; font-size: 20px; }
    .levy-obligation-panel { padding: 28px 18px; }
    .levy-obligation-grid,
    .levy-reduction-grid { grid-template-columns: 1fr; }
    .levy-reduction-grid article { min-height: 0; }
    .levy-source-list a { align-items: flex-start; flex-direction: column; gap: 6px; }
    .levy-law-card { padding: 24px 18px; }
    .levy-disclaimer-box { padding: 26px 20px; }
    .levy-cta-box { padding: 32px 22px; }
    .levy-cta-actions { width: 100%; flex-direction: column; }
    .levy-cta-actions .btn-rns { width: 100%; }
}

@media (max-width: 390px) {
    :is(.page-401,.page-402) .section-space-sm { padding: 64px 0; }
    .levy-form-section { padding-inline: 16px; }
    .levy-result-money strong { font-size: 29px; }
    .levy-base-row { grid-template-columns: 40px 1fr; gap: 12px; }
    .levy-base-step { width: 38px; height: 38px; }
    .levy-law-card li { grid-template-columns: 68px 1fr; }
}

/* UX/UI V1 — result panel */
:is(.page-401,.page-402) .levy-result-panel{
    border:1px solid var(--brand-60);
    color:var(--brand-deep);
    background:var(--brand-pale);
    box-shadow:0 16px 34px rgba(23,59,89,.06);
}
:is(.page-401,.page-402) .levy-result-kicker{color:var(--brand-100)}
:is(.page-401,.page-402) .levy-result-empty p,
:is(.page-401,.page-402) .levy-result-basis{color:var(--brand-80)}
:is(.page-401,.page-402) .levy-result-status{
    border-color:var(--brand-40);
    background:#fff;
}
:is(.page-401,.page-402) .levy-result-status > span{
    color:var(--brand-deep);
    background:var(--accent-sand);
}
:is(.page-401,.page-402) .levy-result-status p{color:var(--brand-80)}
:is(.page-401,.page-402) .levy-result-summary div,
:is(.page-401,.page-402) .levy-result-current div,
:is(.page-401,.page-402) .levy-result-deductions div{
    border-bottom-color:var(--brand-40);
}
:is(.page-401,.page-402) .levy-result-summary dt,
:is(.page-401,.page-402) .levy-result-current dt,
:is(.page-401,.page-402) .levy-result-deductions dt{
    color:var(--brand-80);
}
:is(.page-401,.page-402) .levy-result-workforce div{background:#fff}
:is(.page-401,.page-402) .levy-result-workforce span{color:var(--brand-80)}
:is(.page-401,.page-402) .levy-result-money{
    border:1px solid var(--brand-40);
    background:#fff;
}
:is(.page-401,.page-402) .levy-result-money strong{
    display:inline-block;
    width:auto;
    padding:3px 8px 5px;
    border-radius:5px;
    color:var(--brand-deep);
    background:var(--accent-sand);
    font-size:28px;
    font-weight:800;
}
:is(.page-401,.page-402) .levy-detail-toggle{
    border-color:var(--brand-60);
    color:var(--brand-deep);
}
:is(.page-401,.page-402) .levy-detail-toggle:hover,
:is(.page-401,.page-402) .levy-detail-toggle:focus-visible{
    background:#fff;
}


/* =========================================================
   401 Result Visibility Fix
   계산 완료 후 초기 안내문과 결과가 동시에 노출되는 문제 수정
   ========================================================= */
:is(.page-401,.page-402) .levy-result-empty[hidden],
:is(.page-401,.page-402) .levy-result-content[hidden] {
    display: none !important;
}

:is(.page-401,.page-402) .levy-result-content:not([hidden]) {
    display: block;
}


/* =========================================================
   401 v17 — 판정 결과 한 줄 표시 / 결과 패널 균형 개선
   ========================================================= */
@media (min-width: 981px) {
    :is(.page-401,.page-402) .levy-calculator-grid {
        grid-template-columns: minmax(0, 1.45fr) minmax(410px, 1fr);
        gap: 28px;
    }

    :is(.page-401,.page-402) .levy-result-status strong {
        white-space: nowrap;
        font-size: 14px;
        line-height: 1.45;
        letter-spacing: -.035em;
    }
}

/* 981px 미만에서는 공간에 맞게 자연스럽게 줄바꿈 */
@media (max-width: 980px) {
    :is(.page-401,.page-402) .levy-result-status strong {
        white-space: normal;
    }
}


/* =========================================================
   401 v18 — PC only card content center alignment
   Mobile / tablet keep existing alignment
   ========================================================= */
@media (min-width: 1025px) {

    /* 01. 상단 핵심 기준 4카드 */
    :is(.page-401,.page-402) .levy-fact-card,
    .levy-fact-card {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        min-height:310px;
        padding:28px 24px;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-fact-card .levy-fact-index,
    .levy-fact-card .levy-fact-index {
        margin-left:auto;
        margin-right:auto;
        margin-bottom:22px;
    }

    :is(.page-401,.page-402) .levy-fact-card h3,
    :is(.page-401,.page-402) .levy-fact-card strong,
    :is(.page-401,.page-402) .levy-fact-card p,
    .levy-fact-card h3,
    .levy-fact-card strong,
    .levy-fact-card p {
        width:100%;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-fact-card h3,
    .levy-fact-card h3 {
        min-height:0;
        margin-top:0;
    }


    /* 02. CALCULATION METHOD 6카드 */
    :is(.page-401,.page-402) .levy-method-steps li,
    .levy-method-steps li {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        min-height:210px;
        padding:26px;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-method-steps li > span,
    .levy-method-steps li > span {
        margin-left:auto;
        margin-right:auto;
        margin-bottom:22px;
    }

    :is(.page-401,.page-402) .levy-method-steps strong,
    :is(.page-401,.page-402) .levy-method-steps p,
    .levy-method-steps strong,
    .levy-method-steps p {
        width:100%;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-method-steps p,
    .levy-method-steps p {
        max-width:330px;
    }


    /* 03. 장애인 고용의무제 4개 요약카드 */
    :is(.page-401,.page-402) .levy-obligation-grid article,
    .levy-obligation-grid article {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        min-height:138px;
        padding:22px;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-obligation-grid span,
    :is(.page-401,.page-402) .levy-obligation-grid strong,
    :is(.page-401,.page-402) .levy-obligation-grid p,
    .levy-obligation-grid span,
    .levy-obligation-grid strong,
    .levy-obligation-grid p {
        width:100%;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }


    /* 04. EMPLOYMENT SUPPORT 4카드 */
    :is(.page-401,.page-402) .levy-reduction-grid article,
    .levy-reduction-grid article {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        min-height:220px;
        padding:26px;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-reduction-grid article > span,
    :is(.page-401,.page-402) .levy-reduction-grid h3,
    :is(.page-401,.page-402) .levy-reduction-grid p,
    .levy-reduction-grid article > span,
    .levy-reduction-grid h3,
    .levy-reduction-grid p {
        width:100%;
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }

    :is(.page-401,.page-402) .levy-reduction-grid h3,
    .levy-reduction-grid h3 {
        margin-top:20px;
    }

    :is(.page-401,.page-402) .levy-reduction-grid p,
    .levy-reduction-grid p {
        max-width:300px;
    }


    /* 05. 관련 법령 카드 — 국가법령정보센터 버튼만 중앙정렬 */
    :is(.page-401,.page-402) .levy-law-card > .btn-rns,
    .levy-law-card > .btn-rns {
        display:flex;
        align-items:center;
        justify-content:center;
        width:max-content;
        min-width:158px;
        margin:24px auto 0;
        text-align:center;
    }
}


/* =========================================================
   401 v19 — PC top fact card typography refinement
   01 / 02 카드의 큰 문구만 한 줄로 안정화
   ========================================================= */
@media (min-width: 1025px) {

    /* 01 장애인 고용의무 대상 / 02 부담금 신고 판단 기준 */
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(1) strong,
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(2) strong,
    .levy-fact-grid .levy-fact-card:nth-child(1) strong,
    .levy-fact-grid .levy-fact-card:nth-child(2) strong {
        font-size: clamp(27px, 2.15vw, 34px) !important;
        line-height: 1.15 !important;
        letter-spacing: -.055em !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
    }

    /* 퍼센트 카드(03/04)는 기존 큰 크기 유지 */
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(3) strong,
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(4) strong,
    .levy-fact-grid .levy-fact-card:nth-child(3) strong,
    .levy-fact-grid .levy-fact-card:nth-child(4) strong {
        white-space: nowrap;
    }
}

/* 혹시 1100px 전후 좁은 PC에서도 카드 안에 안정적으로 들어오도록 미세 보정 */
@media (min-width: 1025px) and (max-width: 1180px) {
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(1) strong,
    :is(.page-401,.page-402) .levy-fact-grid .levy-fact-card:nth-child(2) strong,
    .levy-fact-grid .levy-fact-card:nth-child(1) strong,
    .levy-fact-grid .levy-fact-card:nth-child(2) strong {
        font-size: 26px !important;
        letter-spacing: -.06em !important;
    }
}


/* 401/402 서브히어로의 상단 여백은 공통 rns-readability.css를 따른다. */

/* PC / Tablet */
:is(.page-401,.page-402) .sub-breadcrumb{
    margin:0 !important;
}

:is(.page-401,.page-402) .sub-hero__category{
    margin:30px 0 10px !important;
}

:is(.page-401,.page-402) .sub-hero h1{
    margin:0 !important;
}

:is(.page-401,.page-402) .sub-hero__desc{
    margin:22px auto 0 !important;
}

/* Mobile에서도 상단 여백은 공통 스타일을 따른다. */
@media (max-width:760px){
    :is(.page-401,.page-402) .sub-breadcrumb{
        margin:0 !important;
    }

    :is(.page-401,.page-402) .sub-hero__category{
        margin:30px 0 10px !important;
    }

    :is(.page-401,.page-402) .sub-hero h1{
        margin:0 !important;
    }

    :is(.page-401,.page-402) .sub-hero__desc{
        margin:22px auto 0 !important;
    }
}


/* =========================================================
   401 v22 — breadcrumb 중복 카테고리 제거
   홈 / 고용부담금 계산기
   ========================================================= */
:is(.page-401,.page-402) .sub-breadcrumb > span,
:is(.page-401,.page-402) .sub-breadcrumb > i:first-of-type{
    display:none !important;
}


/* =========================================================
   401 v23 — 50명 / 100명 기준 안내 제목 PC 한 줄 유지
   ========================================================= */
@media (min-width: 1025px) {
    :is(.page-401,.page-402) .levy-threshold-note,
    .levy-threshold-note {
        display:flex;
        align-items:center;
        gap:24px;
    }

    :is(.page-401,.page-402) .levy-threshold-note > strong,
    .levy-threshold-note > strong {
        flex:0 0 auto;
        width:auto;
        min-width:max-content;
        white-space:nowrap;
        word-break:keep-all;
        font-size:16px;
        line-height:1.45;
    }

    :is(.page-401,.page-402) .levy-threshold-note > p,
    .levy-threshold-note > p {
        flex:1 1 auto;
        min-width:0;
        margin:0;
    }
}

/* 모바일/태블릿은 기존처럼 자연스럽게 줄바꿈 */
@media (max-width: 1024px) {
    :is(.page-401,.page-402) .levy-threshold-note > strong,
    .levy-threshold-note > strong {
        white-space:normal;
        min-width:0;
    }
}


/* =========================================================
   V58 · 401/402 RNS Solution renewal
   Neutral sections with restrained blue / mint / amber / rose accents
   Decorative corner circles intentionally not used.
   ========================================================= */
:is(.page-401,.page-402){
    --brand:#466985;
    --brand-100:#466985;
    --brand-deep:#365770;
    --brand-80:#466985;
    --brand-60:#b9cddd;
    --brand-40:#e7edf2;
    --brand-20:#f4f8fb;
    --brand-pale:#f7fafb;
    --accent-sand:#f8e8c9;
    --surface-soft:#f7fafb;
    --text:#152033;
    --text-sub:#6b7788;
    --text-light:#6f8aa0;
    --navy:#152033;
    --line:#e7edf2;
    --line-strong:#e7edf2;
    --white:#fff;
    --shadow-sm:0 12px 30px rgba(73,52,61,.055);
    --shadow-md:0 20px 46px rgba(73,52,61,.09);
}

/* Sub hero / local nav */
:is(.page-401,.page-402) .sub-hero{
    background:linear-gradient(120deg,#f7fafb 0%,#eefcf9 58%,#f3fbf8 100%);
    border-bottom:1px solid #e7edf2;
}
:is(.page-401,.page-402) .sub-breadcrumb{color:#6b7788}
:is(.page-401,.page-402) .sub-breadcrumb a:hover{color:#466985}
:is(.page-401,.page-402) .sub-breadcrumb i{color:#b9cddd}
:is(.page-401,.page-402) .sub-breadcrumb strong{color:#466985}
:is(.page-401,.page-402) .sub-hero__category{color:#163f68}
:is(.page-401,.page-402) .sub-hero h1{color:#152033}
:is(.page-401,.page-402) .sub-hero__desc{color:#6b7788}
:is(.page-401,.page-402) .local-nav{background:#f7fafb;border-bottom:1px solid #e7edf2}
:is(.page-401,.page-402) .local-nav a{color:#466985;border-bottom-width:3px}
:is(.page-401,.page-402) .local-nav a:hover{color:#163f68}
:is(.page-401,.page-402) .local-nav a.is-active{color:#466985;border-bottom-color:#466985;font-weight:750}

/* Alternating section colors for a long information page */
:is(.page-401,.page-402) .levy-intro{background:#ffffff}
:is(.page-401,.page-402) .levy-keyfacts{background:#f7fafb}
:is(.page-401,.page-402) .levy-eligibility{background:#fff}
:is(.page-401,.page-402) .levy-method{background:#fff}
:is(.page-401,.page-402) .levy-bases{background:#f7fafb}
:is(.page-401,.page-402) .levy-obligation{background:#f7fafb}
:is(.page-401,.page-402) .levy-reduction{background:#fff}
:is(.page-401,.page-402) .levy-sources{background:#f7fafb}
:is(.page-401,.page-402) .levy-disclaimer{background:#ffffff}
:is(.page-401,.page-402) .levy-calculator-section{background:#f7fafb}

:is(.page-401,.page-402) .levy-section-heading h2{color:#152033}
:is(.page-401,.page-402) .levy-section-heading > p:not(.eyebrow){color:#6b7788}

/* Notes / key facts */
:is(.page-401,.page-402) .levy-threshold-note{
    border:1px solid #e8deca;
    background:#fffbf3;
    box-shadow:0 12px 28px rgba(73,52,61,.04);
}
:is(.page-401,.page-402) .levy-fact-card{
    border:1px solid #dce5ec;
    border-radius:22px;
    box-shadow:0 14px 34px rgba(73,52,61,.055);
}
:is(.page-401,.page-402) .levy-fact-index,
:is(.page-401,.page-402) .levy-method-steps li > span,
:is(.page-401,.page-402) .levy-base-step,
:is(.page-401,.page-402) .levy-form-section-head > span{
    border-radius:11px;
}
:is(.page-401,.page-402) .levy-fact-card:nth-child(1) .levy-fact-index{color:#466985;background:#eaf3f9}
:is(.page-401,.page-402) .levy-fact-card:nth-child(2) .levy-fact-index{color:#a7772f;background:#f5e5bd}
:is(.page-401,.page-402) .levy-fact-card:nth-child(3) .levy-fact-index{color:#168f83;background:#dff6f2}
:is(.page-401,.page-402) .levy-fact-card:nth-child(4) .levy-fact-index{color:#a76578;background:#f9e9ee}

/* Buttons */
:is(.page-401,.page-402) .btn-rns{
    border-color:transparent;
    border-radius:999px;
    background:linear-gradient(135deg,#2ec7bb 0%,#2f91e8 100%);
    color:#fff;
    box-shadow:0 10px 24px rgba(47,145,232,.18);
}
:is(.page-401,.page-402) .btn-rns:hover,
:is(.page-401,.page-402) .btn-rns:focus-visible{border-color:transparent;background:linear-gradient(135deg,#18b7ab 0%,#267fd4 100%);color:#fff}
:is(.page-401,.page-402) .btn-rns--outline{
    border-color:#cbdce7;
    background:#fff;
    color:#466985;
    box-shadow:none;
}
:is(.page-401,.page-402) .btn-rns--outline:hover,
:is(.page-401,.page-402) .btn-rns--outline:focus-visible{border-color:#8fc7d5;background:#f2fbfa;color:#286b79}

/* Tables */
:is(.page-401,.page-402) .levy-table-wrap,
:is(.page-401,.page-402) .levy-month-table-wrap,
:is(.page-401,.page-402) .levy-detail-panel{
    border-color:#e7edf2;
    border-radius:20px;
    box-shadow:0 12px 32px rgba(73,52,61,.045);
}
:is(.page-401,.page-402) .levy-table thead th,
:is(.page-401,.page-402) .levy-month-table thead th{
    background:#f4f8fb;
    color:#466985;
    border-bottom:1px solid #dfe8ee;
}

/* Calculator */
:is(.page-401,.page-402) .levy-mode-tabs{
    padding:6px;
    border-color:#e7edf2;
    border-radius:999px;
    background:#fff;
    box-shadow:0 8px 20px rgba(73,52,61,.04);
}
:is(.page-401,.page-402) .levy-mode-tab{border-radius:999px}
:is(.page-401,.page-402) .levy-mode-tab.is-active{background:#e9f4f9;color:#365f78;box-shadow:inset 0 0 0 1px #c7dce8}
:is(.page-401,.page-402) .levy-form-section{
    border-color:#e7edf2;
    border-radius:22px;
    background:#ffffff;
    box-shadow:0 14px 34px rgba(73,52,61,.055);
}
:is(.page-401,.page-402) .levy-form-section:nth-of-type(1){background:#ffffff}
:is(.page-401,.page-402) .levy-form-section-head > span{color:#466985;background:#eaf3f9}
:is(.page-401,.page-402) .levy-mode-panel .levy-form-section-head > span{color:#168f83;background:#e1f5f1}
:is(.page-401,.page-402) .form-control,
:is(.page-401,.page-402) .levy-month-input{
    border-color:#e7edf2;
    border-radius:12px;
    background:#fff;
    color:#152033;
}
:is(.page-401,.page-402) .form-control:focus,
:is(.page-401,.page-402) .levy-month-input:focus{
    border-color:#6f8aa0;
    box-shadow:0 0 0 4px rgba(70,105,133,.12);
}
:is(.page-401,.page-402) .levy-precise-note{background:#fff6df;color:#75634c}

/* Result card — bright, not dark */
:is(.page-401,.page-402) .levy-result-panel{
    border:1px solid #dce5ec;
    border-radius:26px;
    color:#152033;
    background:#fff;
    box-shadow:0 20px 46px rgba(73,52,61,.08);
}
:is(.page-401,.page-402) .levy-result-kicker{color:#466985}
:is(.page-401,.page-402) .levy-result-empty p,
:is(.page-401,.page-402) .levy-result-basis{color:#6b7788}
:is(.page-401,.page-402) .levy-result-status{border-color:#e7edf2;background:#fff}
:is(.page-401,.page-402) .levy-result-status > span{color:#466985;background:#eaf3f9}
:is(.page-401,.page-402) .levy-result-status p{color:#6b7788}
:is(.page-401,.page-402) .levy-result-summary div,
:is(.page-401,.page-402) .levy-result-current div,
:is(.page-401,.page-402) .levy-result-deductions div{border-bottom-color:#e7edf2}
:is(.page-401,.page-402) .levy-result-summary dt,
:is(.page-401,.page-402) .levy-result-current dt,
:is(.page-401,.page-402) .levy-result-deductions dt{color:#6b7788}
:is(.page-401,.page-402) .levy-result-workforce div{background:#fff}
:is(.page-401,.page-402) .levy-result-workforce div:nth-child(1){background:#f4f9ff}
:is(.page-401,.page-402) .levy-result-workforce div:nth-child(2){background:#eefcf9}
:is(.page-401,.page-402) .levy-result-workforce div:nth-child(3){background:#fff6df}
:is(.page-401,.page-402) .levy-result-workforce span{color:#6b7788}
:is(.page-401,.page-402) .levy-result-money{border:1px solid #dcefe9;background:#f3fbf9}
:is(.page-401,.page-402) .levy-result-money strong{color:#228d9e;background:none}
:is(.page-401,.page-402) .levy-detail-toggle{border-color:#b9cddd;color:#466985;background:#fff}
:is(.page-401,.page-402) .levy-detail-toggle:hover,
:is(.page-401,.page-402) .levy-detail-toggle:focus-visible{background:#f2fbfa}

/* Calculation method */
:is(.page-401,.page-402) .levy-method-steps li{
    border:1px solid #dce5ec;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(73,52,61,.04);
}
:is(.page-401,.page-402) .levy-method-steps li:nth-child(2) > span,
:is(.page-401,.page-402) .levy-method-steps li:nth-child(5) > span{color:#a7772f;background:#fff3db}
:is(.page-401,.page-402) .levy-method-steps li:nth-child(3) > span,
:is(.page-401,.page-402) .levy-method-steps li:nth-child(6) > span{color:#168f83;background:#e1f5f1}

/* Levy base rows */
:is(.page-401,.page-402) .levy-base-row{
    border:1px solid #dce5ec;
    border-radius:18px;
    box-shadow:0 8px 22px rgba(73,52,61,.035);
}
:is(.page-401,.page-402) .levy-base-step{color:#466985;background:#eaf3f9}
:is(.page-401,.page-402) .levy-base-row:nth-child(2) .levy-base-step{color:#a7772f;background:#fff3db}
:is(.page-401,.page-402) .levy-base-row:nth-child(3) .levy-base-step{color:#168f83;background:#e1f5f1}
:is(.page-401,.page-402) .levy-base-row:nth-child(4) .levy-base-step{color:#a76578;background:#f9e9ee}

/* Obligation / support cards */
:is(.page-401,.page-402) .levy-obligation-panel{
    border-color:#e7edf2;
    border-radius:26px;
    background:#fff;
    box-shadow:0 14px 36px rgba(73,52,61,.05);
}
:is(.page-401,.page-402) .levy-obligation-grid article{
    border:1px solid #dce5ec;
    border-radius:18px;
    background:#fff;
}
:is(.page-401,.page-402) .levy-reduction-grid article{
    border:1px solid #dce5ec;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(73,52,61,.04);
}
:is(.page-401,.page-402) .levy-reduction-grid article:nth-child(2) > span{color:#a7772f}
:is(.page-401,.page-402) .levy-reduction-grid article:nth-child(3) > span{color:#168f83}
:is(.page-401,.page-402) .levy-reduction-grid article:nth-child(4) > span{color:#a76578}

/* Sources / law */
:is(.page-401,.page-402) .levy-law-card{
    border-color:#dff6f2;
    border-radius:22px;
    background:#eefcf9;
    box-shadow:0 12px 30px rgba(71,95,82,.04);
}
:is(.page-401,.page-402) .levy-source-list a > strong,
:is(.page-401,.page-402) .levy-law-card li strong{color:#466985}
:is(.page-401,.page-402) .levy-disclaimer-box{
    border-color:#e7edf2;
    border-radius:20px;
    background:#f4f8fb;
}

/* In-page CTA: no decorative circles */
:is(.page-401,.page-402) .levy-cta-box{
    color:#152033;
    background:#f7fafb;
    border:1px solid #e7edf2;
    border-radius:24px;
    box-shadow:0 14px 36px rgba(73,52,61,.05);
}
:is(.page-401,.page-402) .levy-cta-box::after{display:none!important}
:is(.page-401,.page-402) .levy-cta-box .eyebrow{color:#163f68}
:is(.page-401,.page-402) .levy-cta-box p:not(.eyebrow){color:#6b7788}

/* Shared bottom consulting CTA */
:is(.page-401,.page-402) .footer-cta{
    background:#f7fafb;
    border-top:1px solid #edf6ff;
}
:is(.page-401,.page-402) .footer-cta p{color:#163f68;font-weight:800;letter-spacing:.13em}
:is(.page-401,.page-402) .footer-cta h2{color:#152033}
:is(.page-401,.page-402) .footer-cta__actions a{
    background:linear-gradient(135deg,#2ec7bb 0%,#2f91e8 100%);
    border-color:transparent;
    color:#fff;
    border-radius:999px;
    box-shadow:0 12px 28px rgba(47,145,232,.16);
}
:is(.page-401,.page-402) .footer-cta__actions a:hover,
:is(.page-401,.page-402) .footer-cta__actions a:focus-visible{background:linear-gradient(135deg,#18b7ab 0%,#267fd4 100%);border-color:transparent}
:is(.page-401,.page-402) .top-button{background:#5f6f7f;border-color:rgba(255,255,255,.62);color:#fff}
:is(.page-401,.page-402) .top-button:hover,
:is(.page-401,.page-402) .top-button:focus-visible{background:#2f91e8}

@media(max-width:767px){
    :is(.page-401,.page-402) .levy-fact-card,
    :is(.page-401,.page-402) .levy-form-section,
    :is(.page-401,.page-402) .levy-result-panel,
    :is(.page-401,.page-402) .levy-obligation-panel{border-radius:20px}
    :is(.page-401,.page-402) .levy-mode-tabs{display:flex;width:100%}
    :is(.page-401,.page-402) .levy-mode-tab{flex:1;min-width:0}
}

/* 401.php: 장애인 고용의무 제도 안내 */
.page-401 .obligation-overview { background: #fff; }
.page-401 .obligation-rates { background: #f7fafb; }
.page-401 .obligation-savings { background: #fff; }
.page-401 .obligation-overview__body {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
    gap: 40px;
    align-items: center;
    padding: 34px 0;
    border-top: 1px solid #dfe9ef;
    border-bottom: 1px solid #dfe9ef;
}
.page-401 .obligation-overview__body strong { color: #163f68; font-size: clamp(24px, 2.7vw, 36px); line-height: 1.25; letter-spacing: -.04em; }
.page-401 .obligation-overview__body p { color: #465d70; font-size: 17px; line-height: 1.8; }
.page-401 .obligation-overview__note { margin-top: 22px; color: #6b7788; font-size: 15px; line-height: 1.75; }
.page-401 .obligation-overview__note b { color: #365f78; }
.page-401 .obligation-table-hint { display: none; }
.page-401 .obligation-table-wrap { width: 100%; overflow-x: auto; border-top: 2px solid #466985; border-bottom: 1px solid #dfe9ef; background: #fff; }
.page-401 .obligation-table { width: 100%; min-width: 690px; border-collapse: collapse; color: #152033; font-size: 15px; }
.page-401 .obligation-table th,
.page-401 .obligation-table td { padding: 18px 20px; border-right: 1px solid #e7edf2; border-bottom: 1px solid #e7edf2; text-align: center; vertical-align: middle; }
.page-401 .obligation-table tr > :last-child { border-right: 0; }
.page-401 .obligation-table tr:last-child > * { border-bottom: 0; }
.page-401 .obligation-table thead th { background: #edf4f8; color: #274c69; font-weight: 800; }
.page-401 .obligation-table tbody th { background: #f8fafb; font-weight: 700; }
.page-401 .obligation-table tbody td { color: #466985; }
.page-401 .obligation-table:not(.obligation-table--savings) tbody td:last-child { color: #163f68; font-weight: 800; }
.page-401 .obligation-table--savings { min-width: 760px; }
.page-401 .obligation-table--savings tbody th { width: 34%; font-weight: 500; }
.page-401 .obligation-table--savings tbody td:nth-child(2),
.page-401 .obligation-table--savings tbody td:nth-child(3) { width: 18%; font-variant-numeric: tabular-nums; }
.page-401 .obligation-table--savings .obligation-table__remark { width: 30%; color: #6b7788; font-size: 14px; line-height: 1.7; }
.page-401 .obligation-source { margin-top: 18px; color: #6b7788; font-size: 13px; line-height: 1.75; }
.page-401 .obligation-source a { color: #365f78; text-decoration: underline; text-underline-offset: 3px; }
.page-401 .obligation-action { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #dfe9ef; }
.page-401 .obligation-action p { color: #365f78; font-size: 17px; font-weight: 700; line-height: 1.6; }
.page-401 .obligation-action .btn-rns { flex: 0 0 auto; }
@media (max-width: 767px) {
    .page-401 .obligation-overview__body { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
    .page-401 .obligation-overview__body p { font-size: 15px; }
    .page-401 .obligation-overview__note { font-size: 14px; }
    .page-401 .obligation-table-hint { display: block; margin-bottom: 10px; color: #6b7788; font-size: 13px; }
    .page-401 .obligation-table { font-size: 14px; }
    .page-401 .obligation-table th,
    .page-401 .obligation-table td { padding: 15px 14px; }
    .page-401 .obligation-action { align-items: flex-start; flex-direction: column; }
    .page-401 .obligation-action p { font-size: 16px; }
}
