:root{--fc-navy:#09244b;--fc-blue:#1f5fba;--fc-bg:#f4f7fb;--fc-card:#fff;--fc-border:#d8e2ee;--fc-text:#102447;--fc-muted:#66748a;--fc-warn:#9a5b00;--fc-warn-bg:#fff7e8;--fc-ok:#0f7a55;--fc-ok-bg:#eaf8f2;--fc-ng:#b3261e;--fc-ng-bg:#fff0ef;--fc-shadow:0 18px 44px rgba(9,36,75,.10)}
.furusato-check-hero{background:linear-gradient(135deg,#eff6ff 0%,#f8fbff 48%,#fff7ec 100%)}
.furusato-check-wrap{background:var(--fc-bg);padding:28px 0 54px}.furusato-check-container{max-width:1440px;margin:0 auto;padding:0 22px}.tool-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 230px;gap:20px;align-items:start}.tool-main{min-width:0}.guide-column,.ad-column{position:sticky;top:16px}.guide-card,.sim-panel,.ad-box{background:var(--fc-card);border:1px solid var(--fc-border);border-radius:18px;box-shadow:var(--fc-shadow)}.guide-card{padding:18px}.guide-card h2,.sim-panel h2{font-size:1.22rem;margin:.15rem 0 .4rem;color:var(--fc-navy)}.guide-card ol{margin:.7rem 0 0;padding-left:1.25rem;color:var(--fc-text);font-size:.92rem;line-height:1.72}.guide-note{margin:14px 0 0;padding:12px;border-radius:12px;background:#f7fbff;color:var(--fc-muted);font-size:.84rem;line-height:1.65}.last-updated{margin:0 0 12px;color:var(--fc-muted);font-size:.82rem;text-align:right}.sim-panel{padding:22px;margin-bottom:18px}.section-kicker{margin:0 0 4px;color:#1f5fba;font-size:.78rem;font-weight:800;letter-spacing:.12em}.section-head-row{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.section-note{max-width:620px;margin:0;color:var(--fc-muted);font-size:.88rem;line-height:1.65}.field-grid{display:grid;gap:14px}.field-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-grid{max-width:860px}.field-label{display:flex;flex-direction:column;gap:7px;min-width:0;color:var(--fc-text);font-size:.92rem;font-weight:800}.field-label input,.field-label select,.mini-checks select,.mode-select,.amount-inline input,.amount-inline select{width:100%;height:44px;border:1px solid #c9d6e5;border-radius:12px;background:#fff;padding:0 12px;color:var(--fc-text);font:inherit;font-weight:700;box-sizing:border-box}.field-label input:focus,.field-label select:focus,.mini-checks select:focus,.mode-select:focus,.amount-inline input:focus{outline:3px solid rgba(31,95,186,.15);border-color:var(--fc-blue)}.field-help{min-height:2.8em;color:var(--fc-muted);font-size:.78rem;font-weight:500;line-height:1.45}.mini-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;border-radius:16px;background:#f8fbff;border:1px solid #dce7f4}.mini-check-head{grid-column:1/-1;color:var(--fc-navy);font-weight:900;font-size:.92rem}.mini-checks label{display:flex;flex-direction:column;gap:7px;color:var(--fc-text);font-size:.84rem;font-weight:800}.question-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px;border:1px solid #dbe5f1;border-radius:16px;background:#f8fbff}.primary-question{border-color:#bed2ee;background:#f2f7ff}.question-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.question-title{font-size:1rem;font-weight:900;color:var(--fc-navy)}.link-help{border:none;background:transparent;color:var(--fc-blue);font-weight:800;text-decoration:underline;cursor:pointer;padding:2px 4px}.choice-pills{display:flex;gap:8px;flex-wrap:wrap}.choice-pills label{cursor:pointer}.choice-pills input{position:absolute;opacity:0;pointer-events:none}.choice-pills span{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:40px;padding:0 14px;border:1px solid #c9d6e5;border-radius:999px;background:#fff;color:#273b58;font-weight:900;font-size:.88rem}.choice-pills input:checked+span{background:var(--fc-navy);border-color:var(--fc-navy);color:#fff}.route-box{margin-top:16px;border:1px solid var(--fc-border);border-radius:18px;padding:16px;background:#fff}.route-label{display:inline-flex;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:#eef5ff;color:var(--fc-navy);font-size:.82rem;font-weight:900}.deduction-list{margin-top:16px;border:1px solid #dbe5f1;border-radius:16px;overflow:hidden}.deduction-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f4f8fd;padding:13px 14px;color:var(--fc-navy)}.deduction-head span{color:var(--fc-muted);font-size:.82rem;font-weight:600}.deduction-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,330px) auto;gap:12px;align-items:center;padding:13px 14px;border-top:1px solid #e4edf6}.deduction-title{font-weight:900;color:var(--fc-text);line-height:1.45}.mode-select{min-width:260px}.amount-inline{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--fc-text);font-weight:800}.amount-inline input{width:140px}.amount-inline.rate-inline input{width:86px}.button-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.btn{min-height:46px;border-radius:12px;border:1px solid #cbd7e7;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-weight:900;text-decoration:none;cursor:pointer;box-sizing:border-box;white-space:normal;text-align:center}.btn.primary{background:var(--fc-navy);color:#fff;border-color:var(--fc-navy)}.btn.secondary{background:#fff;color:var(--fc-navy)}.btn.ghost{background:#f8fbff;color:var(--fc-blue)}.result-summary{padding:18px;border-radius:16px;background:#f8fbff;border:1px solid #dce7f4}.result-summary strong{display:block;margin:8px 0 6px;color:var(--fc-navy);font-size:1.1rem}.result-summary p{margin:0;color:var(--fc-muted);line-height:1.65}.status-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:900}.status-badge.neutral{background:#eef2f7;color:#40516a}.status-badge.ok{background:var(--fc-ok-bg);color:var(--fc-ok)}.status-badge.warn{background:var(--fc-warn-bg);color:var(--fc-warn)}.status-badge.ng{background:var(--fc-ng-bg);color:var(--fc-ng)}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.result-card{padding:14px;border:1px solid #dce7f4;border-radius:14px;background:#fff}.result-card span{display:block;color:var(--fc-muted);font-size:.78rem;font-weight:800}.result-card strong{display:block;margin-top:5px;color:var(--fc-navy);font-size:1.04rem}.cause-panel{margin-top:16px}.cause-panel h3{margin:0 0 10px;color:var(--fc-navy);font-size:1rem}.cause-list{display:grid;gap:10px}.cause-card{border:1px solid #e0e8f2;border-radius:14px;background:#fff;padding:14px}.cause-card strong{display:block;color:var(--fc-navy);margin-bottom:5px}.cause-card p{margin:.25rem 0;color:var(--fc-muted);line-height:1.6;font-size:.9rem}.cause-card .amount{display:inline-flex;margin-top:5px;padding:4px 9px;border-radius:999px;background:#eef5ff;color:var(--fc-blue);font-weight:900}.warning-list{margin-top:16px;padding:14px;border:1px solid #ead2a7;border-radius:14px;background:#fffaf1;color:#76510d}.warning-list ul{margin:0;padding-left:1.1rem}.warning-list li{margin:.35rem 0;line-height:1.6}.bottom-notice p{color:var(--fc-muted);line-height:1.75}.ad-column{display:grid;gap:16px}.ad-box{display:flex;align-items:center;justify-content:center;color:#8896a8;background:#f9fbfe}.ad-250{height:250px}.ad-600{height:600px}.sample-modal[hidden]{display:none}.sample-modal{position:fixed;inset:0;z-index:1000}.sample-backdrop{position:absolute;inset:0;background:rgba(4,14,30,.52)}.sample-dialog{position:relative;max-width:960px;max-height:88vh;overflow:auto;margin:5vh auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.28)}.sample-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.modal-close{width:40px;height:40px;border-radius:999px;border:1px solid #d7e2ee;background:#fff;color:var(--fc-navy);font-size:1.5rem;line-height:1;cursor:pointer}.sample-lead{margin:8px 0 14px;color:var(--fc-muted);line-height:1.65}.sample-img{width:100%;height:auto;border:1px solid #dce7f4;border-radius:14px;background:#f6f8fb}.sample-notes{margin-top:14px;padding:13px;border-radius:14px;background:#f8fbff;border:1px solid #dce7f4}.sample-notes ul{margin:0;padding-left:1.1rem}.sample-notes li{margin:.35rem 0;line-height:1.55;color:var(--fc-text)}
@media(max-width:1180px){.tool-layout{grid-template-columns:220px minmax(0,1fr)}.ad-column{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static}.ad-600{height:250px}.field-grid.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-checks{grid-template-columns:1fr}.deduction-row{grid-template-columns:1fr}.mode-select{min-width:0}.amount-inline{flex-wrap:wrap}}
@media(max-width:820px){.furusato-check-container{padding:0 14px}.tool-layout{display:block}.guide-column,.ad-column{position:static;margin-bottom:18px}.section-head-row,.question-row{display:block}.section-note{margin-top:8px}.choice-pills{margin-top:12px}.field-grid.three-col,.field-grid.two-col,.result-grid{grid-template-columns:1fr}.button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-card{margin-bottom:18px}.sample-dialog{margin:2vh 12px;max-height:94vh}.deduction-head{display:block}.deduction-head span{display:block;margin-top:4px}}
@media(max-width:520px){.button-row{grid-template-columns:1fr}.choice-pills span{min-width:0;width:100%}.choice-pills label{flex:1}.amount-inline input{width:100%}.ad-column{display:block}.ad-box{margin-bottom:14px}}
@media print{.no-print,.site-header,.breadcrumb{display:none!important}.furusato-check-wrap{background:#fff;padding:0}.furusato-check-container{max-width:none;padding:0}.tool-layout{display:block}.sim-panel{border:none;box-shadow:none;padding:0}.result-grid{grid-template-columns:repeat(2,1fr)}.bottom-notice{margin-top:20px}}
.judgement-hero{padding:18px;border-radius:16px;border:1px solid #dce7f4;background:#f8fbff}.judgement-hero.ok{background:#f1fbf5;border-color:#bfe6ca}.judgement-hero.warn{background:#fff9ed;border-color:#ead2a7}.judgement-hero.ng{background:#fff3f2;border-color:#efc5bf}.judgement-hero strong{display:block;margin:8px 0 12px;color:var(--fc-navy);font-size:1.25rem;line-height:1.45}.hero-amount-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.hero-amount{padding:15px;border-radius:14px;background:#fff;border:1px solid #dce7f4}.hero-amount span{display:block;color:var(--fc-muted);font-size:.82rem;font-weight:900}.hero-amount b{display:block;margin-top:5px;color:var(--fc-navy);font-size:1.42rem;line-height:1.25}.hero-amount.primary b{font-size:1.72rem}.resident-check-summary{margin-top:12px;padding:13px;border-radius:14px;background:#fff;border:1px solid #dce7f4}.resident-check-summary strong{display:block;margin:0 0 4px;color:var(--fc-navy);font-size:.98rem}.resident-check-summary p{margin:0;color:var(--fc-muted);line-height:1.6}@media(max-width:820px){.hero-amount-row{grid-template-columns:1fr}.hero-amount.primary b{font-size:1.48rem}}

/* v3.3 split amount inputs */
.split-input-card{border:1px solid #dbe5f1;border-radius:16px;background:#fff;padding:14px;box-sizing:border-box}.split-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--fc-navy);font-weight:900}.inline-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:.84rem;color:var(--fc-text);font-weight:900}.inline-check input{width:16px!important;height:16px!important;padding:0!important;border-radius:4px}.split-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.split-inputs label,.split-total{display:flex;flex-direction:column;gap:7px;color:var(--fc-text);font-size:.86rem;font-weight:800}.split-total{margin-top:10px;max-width:420px}.split-inputs input,.split-total input{height:44px;border:1px solid #c9d6e5;border-radius:12px;background:#fff;padding:0 12px;color:var(--fc-text);font:inherit;font-weight:700;box-sizing:border-box}.split-total input.is-readonly{background:#f5f8fc;color:#233b5c}.split-inputs.is-muted{opacity:.52}.split-inputs input:disabled{background:#f3f6fa}.lower-row{margin-top:12px}
@media(max-width:820px){.split-head{display:block}.inline-check{margin-top:8px}.split-inputs{grid-template-columns:1fr}.split-total{max-width:none}}

/* v3.4 ordered input layout */
.ordered-fields{display:grid;gap:14px}.form-row{display:grid;gap:14px}.form-row.one-col{grid-template-columns:1fr}.form-row.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.split-horizontal-card{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:start;margin-top:16px;border:1px solid #dbe5f1;border-radius:16px;background:#fff;padding:14px;box-sizing:border-box}.split-horizontal-title{display:flex;align-items:center;min-height:44px;color:var(--fc-navy);font-weight:900}.amount-cell{display:flex;flex-direction:column;gap:7px;color:var(--fc-text);font-size:.86rem;font-weight:800;min-width:0}.amount-cell input{height:44px;border:1px solid #c9d6e5;border-radius:12px;background:#fff;padding:0 12px;color:var(--fc-text);font:inherit;font-weight:700;box-sizing:border-box}.amount-cell input.is-readonly{background:#f5f8fc;color:#233b5c}.split-check{align-self:end;min-height:44px;padding:0 10px;border:1px solid #dbe5f1;border-radius:12px;background:#f8fbff;box-sizing:border-box;justify-content:center}.split-help{grid-column:2/-1;min-height:0}.mini-checks{align-items:start}.mini-checks label{display:grid;grid-template-rows:minmax(2.8em,auto) 44px;align-items:end}.mini-checks label select{align-self:end}.donation-credit-card{margin-top:0}.resident-income-card{margin-top:18px}.split-inputs.is-muted + .split-total input,.amount-cell input:disabled{background:#f3f6fa}.compact-grid .split-horizontal-card{max-width:100%}
@media(max-width:980px){.split-horizontal-card{grid-template-columns:1fr 1fr}.split-horizontal-title{grid-column:1/-1}.split-check{align-self:auto}.split-help{grid-column:1/-1}.form-row.two-col{grid-template-columns:1fr}}
@media(max-width:560px){.split-horizontal-card{grid-template-columns:1fr}.split-help{grid-column:1}.split-check{justify-content:flex-start}.mini-checks label{grid-template-rows:auto 44px}}

.calc-flow{margin-top:16px;padding:16px;border:1px solid #dce7f4;border-radius:16px;background:#fff}.calc-flow h3{margin:0 0 12px;color:var(--fc-navy);font-size:1rem}.formula-line{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.4fr) minmax(120px,.5fr);gap:12px;align-items:center;padding:10px 0;border-top:1px solid #edf2f7}.formula-line:first-of-type{border-top:none}.formula-label{color:var(--fc-muted);font-size:.82rem;font-weight:900}.formula-text{color:var(--fc-text);font-size:.9rem;line-height:1.5}.formula-line strong{color:var(--fc-navy);font-size:1.02rem;text-align:right}.formula-line.emphasis{background:#f8fbff;margin:0 -10px;padding:11px 10px;border-radius:12px}.resident-detail{margin-top:10px;border-top:1px solid #edf2f7;padding-top:10px}.resident-detail summary{cursor:pointer;color:var(--fc-blue);font-weight:900;font-size:.9rem}.inline-sample-link{margin-left:8px}.sample-img{max-height:68vh;object-fit:contain}
@media(max-width:720px){.formula-line{grid-template-columns:1fr}.formula-line strong{text-align:left}.calc-flow{padding:14px}}


/* v3.6 form alignment and numeric input refinements */
.field-label input[inputmode="numeric"],
.amount-cell input[inputmode="numeric"],
.amount-inline input[inputmode="numeric"],
.split-inputs input[inputmode="numeric"],
.split-total input[inputmode="numeric"],
#dividendRate,
input[type="number"]{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.field-label input,
.field-label select,
.mini-checks select,
.mode-select,
.amount-inline input,
.amount-inline select,
.amount-cell input,
.split-inputs input,
.split-total input{
  min-height:44px;
  line-height:44px;
}
.btn,
.choice-pills span,
.link-help,
.inline-check,
.split-check{
  line-height:1.2;
}
.button-row .btn{
  height:46px;
  min-height:46px;
  padding-top:0;
  padding-bottom:0;
}
.choice-pills span{
  height:40px;
  min-height:40px;
}
.form-row.donation-row{
  grid-template-columns:180px minmax(220px,260px);
  justify-content:start;
  align-items:start;
}
.form-row.donation-row .field-label input,
.form-row.donation-row .field-label select{
  width:100%;
}
.split-horizontal-card{
  grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(180px,.72fr) auto;
  align-items:end;
}
.split-horizontal-title{
  grid-column:1/-1;
  min-height:auto;
  margin-bottom:-2px;
  align-items:flex-start;
}
.amount-cell,
.split-horizontal-title{
  white-space:nowrap;
}
.amount-cell input{
  width:100%;
}
.split-check{
  align-self:end;
  height:44px;
  min-height:44px;
  margin-bottom:0;
  white-space:nowrap;
}
.split-help{
  grid-column:1/-1;
}
.mini-checks{
  align-items:start;
}
.mini-checks label{
  grid-template-rows:3.2em 44px;
}
.mini-checks select{
  align-self:end;
}
.deduction-row{
  align-items:end;
}
.mode-select{
  height:44px;
}
.amount-inline{
  align-items:center;
  min-height:44px;
}
@media(max-width:1080px){
  .split-horizontal-card{grid-template-columns:repeat(2,minmax(220px,1fr));}
  .split-horizontal-title,.split-help{grid-column:1/-1;}
  .split-check{justify-content:flex-start;}
}
@media(max-width:720px){
  .form-row.donation-row{grid-template-columns:1fr;}
  .split-horizontal-card{grid-template-columns:1fr;}
  .amount-cell,.split-horizontal-title{white-space:normal;}
}

/* v3.7 split input consistency and disabled-value display */
.route-box .compact-grid,
.compact-grid{
  max-width:none;
}
.donation-credit-card,
.resident-income-card{
  width:100%;
}
.donation-credit-card .amount-cell input,
.resident-income-card .amount-cell input{
  width:100%;
  min-width:0;
}
.amount-cell input.split-hidden-value,
.amount-cell input.split-hidden-value:disabled{
  background:#edf1f6;
  border-color:#cbd5e1;
  color:transparent!important;
  text-shadow:none!important;
  caret-color:transparent;
  -webkit-text-fill-color:transparent;
  opacity:1;
}
.amount-cell input.split-hidden-value::selection{
  background:transparent;
}
.amount-cell input.split-hidden-value + .hidden-note{
  display:block;
}
.amount-cell:has(input.split-hidden-value)::after{
  content:'合計入力中';
  display:block;
  margin-top:-37px;
  margin-right:12px;
  height:0;
  text-align:right;
  color:#7c8898;
  font-size:.78rem;
  font-weight:800;
  pointer-events:none;
}
.split-check:has(input:checked){
  background:#eef5ff;
  border-color:#b8cdea;
  color:var(--fc-navy);
}
@media(max-width:1080px){
  .amount-cell:has(input.split-hidden-value)::after{margin-top:-37px;}
}

/* v3.9: fixed top summary row placement */
.top-summary-rows{display:grid;gap:12px;margin-top:16px}
.top-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.top-summary-row:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:920px){.top-summary-row,.top-summary-row:last-child{grid-template-columns:1fr}}

/* v4.0: deduction input visibility and vertical alignment */
.deduction-row,
.direct-deduction-row{
  grid-template-columns:minmax(300px,1fr) minmax(300px,340px) minmax(180px,220px) minmax(180px,220px) minmax(180px,220px);
  align-items:end;
}
.deduction-row .deduction-title,
.direct-deduction-row .deduction-title{
  min-height:44px;
  display:flex;
  align-items:center;
}
.deduction-row .mode-select,
.direct-deduction-row .mode-select,
.deduction-row .amount-inline,
.direct-deduction-row .amount-inline{
  align-self:end;
}
.deduction-row .amount-inline,
.direct-deduction-row .amount-inline{
  height:44px;
  margin:0;
}
.deduction-row .amount-inline input,
.direct-deduction-row .amount-inline input{
  width:150px;
  height:44px;
}
.direct-deduction-row{
  margin-top:12px;
  border:1px solid #e4edf6;
  border-radius:14px;
  padding:13px 14px;
  background:#fff;
}
.direct-deduction-row .direct-help{
  grid-column:1/-1;
  min-height:0;
  margin-top:2px;
}
@media(max-width:1180px){
  .deduction-row,
  .direct-deduction-row{grid-template-columns:1fr;align-items:start;}
  .deduction-row .deduction-title,
  .direct-deduction-row .deduction-title{min-height:auto;}
  .deduction-row .amount-inline,
  .direct-deduction-row .amount-inline{height:auto;min-height:44px;}
}


/* v4.1: notice block placement, guide style alignment, unknown-mode disabled fields */
.guide-column.tool-side-guide{
  position:static;
  top:auto;
}
.guide-column.tool-side-guide .tool-side-guide-card{
  position:sticky;
  top:92px;
  border:1px solid #cdd9e8;
  border-radius:12px;
  background:#fff;
  padding:16px 16px 14px;
  box-shadow:0 8px 22px rgba(0,30,78,.05);
  color:#243447;
}
.guide-column.tool-side-guide .tool-side-guide-kicker{
  margin:0 0 4px;
  color:#ff4519;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.45;
}
.guide-column.tool-side-guide .tool-side-guide-card h2{
  margin:0 0 12px;
  color:var(--navy, var(--fc-navy));
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.04em;
}
.guide-column.tool-side-guide .tool-side-guide-card ol{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:guide-step;
}
.guide-column.tool-side-guide .tool-side-guide-card li{
  position:relative;
  counter-increment:guide-step;
  padding:0 0 12px 34px;
  margin:0 0 12px;
  border-bottom:1px solid #e5ebf4;
}
.guide-column.tool-side-guide .tool-side-guide-card li:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}
.guide-column.tool-side-guide .tool-side-guide-card li::before{
  content:counter(guide-step);
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--navy, var(--fc-navy));
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
.guide-column.tool-side-guide .tool-side-guide-card strong{
  display:block;
  margin:0 0 3px;
  color:#153a92;
  font-size:14px;
  line-height:1.35;
  font-weight:900;
}
.guide-column.tool-side-guide .tool-side-guide-card span{
  display:block;
  color:#31425f;
  font-size:12px;
  line-height:1.55;
  font-weight:700;
}
/* 通知書確認ブロック上部の税額控除前所得割額は、他の横並び行と同じ高さでそろえる */
#notice-title + .section-note,
.resident-income-card{
  margin-top:0;
}
.resident-income-card{
  margin-bottom:16px;
}
/* 「あるが控除額は分からない」を選んだ場合の入力不可表示 */
.amount-inline.unknown-disabled{
  opacity:1;
}
.amount-inline.unknown-disabled input,
.amount-inline.unknown-disabled input:disabled{
  background:#edf1f6;
  border-color:#cbd5e1;
  color:#7c8898;
  -webkit-text-fill-color:#7c8898;
  cursor:not-allowed;
  text-align:center;
  font-weight:900;
}
.deduction-row .mode-target[hidden],
.direct-deduction-row .mode-target[hidden]{
  display:none!important;
}
.deduction-row .mode-target,
.direct-deduction-row .mode-target{
  display:flex;
}
@media(max-width:1180px){
  .guide-column.tool-side-guide .tool-side-guide-card{position:static;}
  .guide-column.tool-side-guide .tool-side-guide-card ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
  .guide-column.tool-side-guide .tool-side-guide-card li{padding-bottom:0;margin-bottom:0;border-bottom:0;}
}
@media(max-width:760px){
  .guide-column.tool-side-guide .tool-side-guide-card ol{grid-template-columns:1fr;}
}


/* v4.3: align page background, split input width, and prevent overflow */
:root{--fc-bg:#f7f9fc;}
.furusato-check-hero{background:linear-gradient(90deg,#fff 0%,#fff 38%,rgba(241,246,251,.8) 100%)}
.furusato-check-wrap{background:#f7f9fc;}
.sim-panel,.tool-side-guide-card,.ad-box{background:#fff;}
.split-horizontal-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.split-horizontal-title,
.split-help{grid-column:1/-1;}
.amount-cell{
  min-width:0;
  white-space:nowrap;
}
.amount-cell input,
.split-total input,
.split-inputs input,
.donation-credit-card .amount-cell input,
.resident-income-card .amount-cell input{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.split-check{
  align-self:end;
  height:44px;
  min-height:44px;
  max-width:100%;
  white-space:nowrap;
  display:flex;
  align-items:center;
}
.donation-credit-card,
.resident-income-card{
  max-width:100%;
  overflow:hidden;
}
.route-box,
.compact-grid{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.direct-deduction-row,
.deduction-row{
  max-width:100%;
  box-sizing:border-box;
}
.direct-deduction-row{
  grid-template-columns:minmax(220px,1fr) minmax(260px,330px) minmax(180px,220px) minmax(180px,220px) minmax(180px,220px);
}
@media(max-width:1260px){
  .direct-deduction-row,
  .deduction-row{grid-template-columns:1fr;align-items:start;}
  .direct-deduction-row .amount-inline,
  .deduction-row .amount-inline{height:auto;min-height:44px;}
}
@media(max-width:980px){
  .split-horizontal-card{grid-template-columns:repeat(2,minmax(0,1fr));}
  .split-check{justify-content:flex-start;}
}
@media(max-width:560px){
  .split-horizontal-card{grid-template-columns:1fr;}
  .amount-cell{white-space:normal;}
}

/* v4.4: 判定結果を大きく、網掛けで強調 */
.judgement-hero{
  padding:22px;
  border-radius:18px;
  border-width:2px;
  box-shadow:0 10px 24px rgba(9,36,75,.06);
}
.judgement-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.judgement-title-row strong{
  margin:0;
  font-size:1.48rem;
  line-height:1.35;
}
.judgement-hero .status-badge{
  font-size:1.02rem;
  padding:9px 16px;
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.hero-amount-row.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.hero-amount.primary{
  border-color:#bdd4f2;
  background:#f2f7ff;
}
.hero-amount.primary b{
  font-size:1.58rem;
}
.top-cause-note{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid #dce7f4;
}
.top-cause-note strong{
  display:block;
  margin:0 0 5px;
  color:var(--fc-navy);
  font-size:1rem;
}
.top-cause-note p{
  margin:0;
  color:var(--fc-text);
  line-height:1.65;
  font-weight:700;
}
@media(max-width:920px){
  .hero-amount-row.three{grid-template-columns:1fr}
  .judgement-title-row strong{font-size:1.26rem}
}


/* v4.5: keep resident comparison summary in one row without overflowing */
.result-card{
  min-width:0;
  overflow:hidden;
}
.result-card span,
.result-card strong{
  overflow-wrap:normal;
  word-break:keep-all;
}
.top-summary-row.resident-compare-row{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.top-summary-row.resident-compare-row .result-card{
  padding:12px 10px;
}
.top-summary-row.resident-compare-row .result-card span{
  white-space:nowrap;
  font-size:clamp(.66rem, .72vw, .78rem);
  letter-spacing:-.02em;
}
.top-summary-row.resident-compare-row .result-card strong{
  white-space:nowrap;
  font-size:clamp(.92rem, 1.05vw, 1.04rem);
  letter-spacing:-.01em;
}
@media(max-width:920px){
  .top-summary-row.resident-compare-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .top-summary-row.resident-compare-row .result-card{
    padding:10px 7px;
  }
  .top-summary-row.resident-compare-row .result-card span{
    font-size:clamp(.54rem, 2.1vw, .68rem);
    line-height:1.25;
  }
  .top-summary-row.resident-compare-row .result-card strong{
    font-size:clamp(.74rem, 2.7vw, .95rem);
  }
}
@media(max-width:520px){
  .top-summary-row.resident-compare-row{
    grid-template-columns:1fr;
  }
  .top-summary-row.resident-compare-row .result-card span,
  .top-summary-row.resident-compare-row .result-card strong{
    white-space:normal;
  }
}

/* v4.5: keep the non-furusato donation label on one line on desktop */
.deduction-row[data-mode-row="otherDonationMode"] .deduction-title,
.direct-deduction-row[data-mode-row="nonFurusatoDirectMode"] .deduction-title{
  display:flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
  min-width:0;
}
.deduction-row[data-mode-row="otherDonationMode"] .deduction-title .link-help,
.direct-deduction-row[data-mode-row="nonFurusatoDirectMode"] .deduction-title .link-help{
  flex:0 0 auto;
  margin-left:10px;
}
.deduction-row[data-mode-row="otherDonationMode"],
.direct-deduction-row[data-mode-row="nonFurusatoDirectMode"]{
  grid-template-columns:minmax(360px,1.25fr) minmax(270px,320px) minmax(160px,190px) minmax(160px,190px);
}
@media(max-width:1180px){
  .deduction-row[data-mode-row="otherDonationMode"],
  .direct-deduction-row[data-mode-row="nonFurusatoDirectMode"]{
    grid-template-columns:1fr;
  }
  .deduction-row[data-mode-row="otherDonationMode"] .deduction-title,
  .direct-deduction-row[data-mode-row="nonFurusatoDirectMode"] .deduction-title{
    white-space:normal;
  }
}

/* v4.6 reflection-first result layout */
.judgement-lead{
  margin:0 0 14px;
  color:var(--fc-text);
  font-size:1.02rem;
  font-weight:800;
  line-height:1.7;
}
.reflection-main-row{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.reflection-main-row .hero-amount{
  min-width:0;
  padding:13px 12px;
}
.reflection-main-row .hero-amount span{
  min-height:2.7em;
  line-height:1.35;
}
.reflection-main-row .hero-amount b{
  font-size:1.2rem;
  white-space:nowrap;
}
.reflection-main-row .hero-amount.primary b{
  font-size:1.38rem;
}
.simple-note{
  margin-top:14px;
  padding:13px 15px;
  border-radius:14px;
  background:#fffdf3;
  border:1px solid #ead9a5;
}
.simple-note strong{
  display:block;
  margin:0 0 4px;
  color:#735000;
  font-size:.96rem;
}
.simple-note p{
  margin:0;
  color:#574523;
  line-height:1.65;
}
.reflection-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.calc-details{
  margin-top:16px;
  border:1px solid #dce7f4;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.calc-details summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:900;
  color:var(--fc-blue);
  background:#f8fbff;
}
.calc-details .calc-flow{
  margin-top:0;
  border:0;
  border-radius:0;
}
@media(max-width:1120px){
  .reflection-main-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .reflection-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .reflection-main-row,.reflection-summary-grid{grid-template-columns:1fr;}
  .reflection-main-row .hero-amount span{min-height:0;}
}

/* v4.7: 社長報告向けの結果表示 */
.report-comment{
  margin:12px 0 16px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  border:1px solid #dce7f4;
}
.report-comment strong{
  display:block;
  margin:0 0 5px;
  color:var(--fc-navy);
  font-size:.95rem;
  letter-spacing:.03em;
}
.report-comment p{
  margin:0;
  color:var(--fc-text);
  font-weight:800;
  line-height:1.65;
}
.hero-amount small,
.result-card small{
  display:block;
  margin-top:5px;
  color:var(--fc-muted);
  font-size:.76rem;
  line-height:1.35;
  font-weight:800;
}
.hero-amount.shortage{
  background:#fff8ea;
  border-color:#f1d39a;
}
.judgement-hero.ng .hero-amount.shortage{
  background:#fff0ef;
  border-color:#f1b7b4;
}
.hero-amount.shortage small{
  color:#7a4b00;
}
.judgement-hero.ng .hero-amount.shortage small{
  color:#8f211b;
}
.reflection-summary-grid.compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:14px;
}
.result-card.compact{
  padding:13px 14px;
}
.result-card.compact span{
  font-size:.76rem;
}
.result-card.compact strong{
  font-size:1.02rem;
}
.cause-lead{
  margin:0 0 12px;
  color:var(--fc-muted);
  font-weight:800;
  line-height:1.6;
}
.cause-list.concise{
  grid-template-columns:1fr;
}
.notice-details{
  border:1px solid #dce7f4;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.notice-details summary{
  cursor:pointer;
  padding:12px 14px;
  color:var(--fc-blue);
  font-weight:900;
  background:#f8fbff;
}
.notice-details ul{
  margin:0;
  padding:12px 18px 14px 32px;
}
@media(max-width:980px){
  .reflection-summary-grid.compact{grid-template-columns:1fr;}
}


/* v4.8: deduction help consolidation and stable multi-input rows */
.deduction-head strong{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.deduction-head .link-help{
  white-space:nowrap;
  margin-left:4px;
}
.deduction-row.wide{
  grid-template-columns:minmax(270px,1fr) minmax(250px,330px);
  align-items:start;
}
.deduction-row.wide .deduction-title{
  align-self:center;
}
.deduction-row.wide .mode-select{
  grid-column:2;
}
.deduction-row.wide .mode-target{
  grid-column:2;
  width:100%;
  min-width:0;
}
.deduction-row.wide .amount-inline{
  justify-content:flex-start;
  white-space:normal;
}
.deduction-row.wide .amount-inline input{
  flex:1 1 130px;
  min-width:0;
  max-width:100%;
}
.deduction-row.wide .amount-inline select{
  flex:1 1 130px;
  min-width:0;
}
.deduction-row.wide .rate-inline input{
  flex:0 0 86px;
}
@media(max-width:1180px){
  .deduction-row.wide{grid-template-columns:1fr;}
  .deduction-row.wide .mode-select,
  .deduction-row.wide .mode-target{grid-column:1;}
}


/* v4.9: simplified deduction rows; only dividend-related rows keep short help text */
.deduction-row.wide{
  grid-template-columns:minmax(360px,1fr) minmax(240px,300px) minmax(150px,190px);
  align-items:center;
}
.deduction-row.wide .mode-select{grid-column:2;align-self:center;}
.deduction-row.wide .mode-target{grid-column:3;align-self:center;width:100%;}
.deduction-row.wide .amount-inline{height:44px;min-height:44px;white-space:nowrap;justify-content:flex-start;}
.deduction-row.wide .amount-inline input{width:150px;max-width:100%;flex:1 1 auto;}
.deduction-title.with-help{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
  white-space:normal;
  min-height:44px;
}
.deduction-title .deduction-help{
  display:block;
  color:var(--fc-muted);
  font-size:.76rem;
  font-weight:600;
  line-height:1.45;
}
@media(max-width:1180px){
  .deduction-row.wide{grid-template-columns:1fr;align-items:start;}
  .deduction-row.wide .mode-select,
  .deduction-row.wide .mode-target{grid-column:1;}
  .deduction-row.wide .amount-inline{height:auto;min-height:44px;}
}

/* v5.0: non-furusato donation is a simple yes/no check, no amount input */
.other-donation-simple-row{
  grid-template-columns:minmax(300px,1fr) minmax(200px,260px);
  align-items:center;
}
.other-donation-simple-row .deduction-title{
  white-space:nowrap;
  min-height:44px;
  display:flex;
  align-items:center;
}
.other-donation-simple-row .mode-select{
  min-width:0;
  width:100%;
}
.other-donation-simple-row .field-help,
.other-donation-simple-row .deduction-note,
.other-donation-simple-row .direct-help{
  grid-column:1/-1;
  min-height:0;
  margin-top:2px;
  color:var(--fc-muted);
  font-size:.78rem;
  line-height:1.55;
}
.other-donation-result-note{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff8ea;
  border:1px solid #f1d39a;
  color:#5c4212;
}
.other-donation-result-note strong{
  display:block;
  margin:0 0 5px;
  color:#7a4b00;
  font-size:.94rem;
}
.other-donation-result-note p{
  margin:0;
  line-height:1.65;
  font-weight:800;
}
.other-donation-result-note small{
  display:block;
  margin-top:5px;
  color:#6c5a35;
  line-height:1.5;
  font-weight:700;
}
@media(max-width:1180px){
  .other-donation-simple-row{grid-template-columns:1fr;align-items:start;}
  .other-donation-simple-row .deduction-title{white-space:normal;min-height:auto;}
}

/* v5.2 所得税率の概算入力 */
.tax-rate-field{display:flex;flex-direction:column;gap:8px}
.tax-rate-methods{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tax-rate-methods label{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid #c9d6e5;border-radius:999px;background:#fff;font-size:.82rem;font-weight:900;color:#273b58;box-sizing:border-box}
.tax-rate-methods input{width:auto;height:auto;margin:0;accent-color:var(--fc-blue)}
.taxable-income-box{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px;align-items:end}
.taxable-income-box label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:900;color:var(--fc-text)}
.taxable-income-box input{height:44px;border:1px solid #c9d6e5;border-radius:12px;background:#fff;padding:0 12px;text-align:right;font:inherit;font-weight:800;box-sizing:border-box}
.estimated-rate{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:12px;background:#eef5ff;color:var(--fc-navy);font-size:.82rem;font-weight:900;white-space:nowrap}
@media (max-width:760px){.taxable-income-box{grid-template-columns:1fr}.estimated-rate{white-space:normal;min-height:auto;padding:10px 12px}}

/* v5.3 filing method and income-tax-rate layout refinements */
.filing-method-row{
  grid-template-columns:minmax(220px,260px) minmax(360px,620px)!important;
  justify-content:start;
  align-items:start;
}
.filing-method-field{
  max-width:260px;
}
.tax-rate-field{
  max-width:620px;
}
.tax-rate-methods{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  min-height:44px;
}
.tax-rate-methods label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:var(--fc-text);
  font-size:.86rem;
  font-weight:800;
}
#incomeRateSelectBox{
  max-width:180px;
}
.taxable-income-box{
  max-width:620px;
  grid-template-columns:minmax(190px,240px) minmax(220px,1fr)!important;
}
.estimated-rate{
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.45;
  min-height:44px;
  display:flex;
  align-items:center;
  box-sizing:border-box;
}
.taxable-income-box[hidden],
#incomeRateSelectBox[hidden]{
  display:none!important;
}
@media(max-width:900px){
  .filing-method-row{grid-template-columns:1fr!important;}
  .filing-method-field,.tax-rate-field{max-width:none;}
  #incomeRateSelectBox{max-width:220px;}
}
@media(max-width:640px){
  .taxable-income-box{grid-template-columns:1fr!important;}
}


/* v5.4: reverse tax-credit sample links and compact deduction selectors */
.field-label-line{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  white-space:nowrap;
}
.field-label-line .link-help{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:.82rem;
  padding:0 2px;
}
.deduction-row.wide{
  grid-template-columns:minmax(360px,1fr) minmax(170px,205px) minmax(150px,190px);
}
.deduction-row.wide .mode-select{
  min-width:0;
  width:100%;
  padding-left:10px;
  padding-right:10px;
}
.other-donation-simple-row{
  grid-template-columns:minmax(300px,1fr) minmax(150px,190px);
}
@media(max-width:1180px){
  .field-label-line{white-space:normal;align-items:flex-start;}
  .deduction-row.wide,
  .other-donation-simple-row{grid-template-columns:1fr;align-items:start;}
}

/* v5.5: 税額控除前所得割額の見本リンクを見出し側へ移動 */
.split-horizontal-title.title-with-help{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.split-horizontal-title.title-with-help .link-help{
  margin-left:4px;
  white-space:nowrap;
}
.resident-income-card .split-help .link-help{
  display:none;
}


/* v5.7: onestop notice emphasis and responsive guide fix */
.filing-alert{
  display:block;
  min-height:auto;
  margin-top:2px;
  padding:10px 12px;
  border:1px solid #f1c66d;
  border-left:5px solid #f59e0b;
  border-radius:12px;
  background:#fff8e6;
  color:#5f3b00;
  font-size:.84rem;
  font-weight:900;
  line-height:1.55;
}

@media(max-width:1180px){
  .tool-layout{
    grid-template-columns:1fr!important;
  }
  .guide-column.tool-side-guide{
    grid-column:1/-1;
    position:static;
    width:100%;
    min-width:0;
  }
  .guide-column.tool-side-guide .tool-side-guide-card{
    position:static;
  }
  .guide-column.tool-side-guide .tool-side-guide-card ol{
    display:grid;
    grid-template-columns:repeat(4,minmax(180px,1fr));
    gap:12px;
  }
  .guide-column.tool-side-guide .tool-side-guide-card li{
    min-width:0;
    padding:0 0 0 34px;
    margin:0;
    border-bottom:0;
    writing-mode:horizontal-tb;
    text-orientation:mixed;
    white-space:normal;
  }
  .guide-column.tool-side-guide .tool-side-guide-card strong,
  .guide-column.tool-side-guide .tool-side-guide-card span{
    writing-mode:horizontal-tb;
    word-break:normal;
    overflow-wrap:break-word;
  }
}
@media(max-width:900px){
  .guide-column.tool-side-guide .tool-side-guide-card ol{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }
}
@media(max-width:560px){
  .guide-column.tool-side-guide .tool-side-guide-card ol{
    grid-template-columns:1fr;
  }
}


/* v5.8: compact basic fields and single-line filing notice */
#memo{
  width:18em;
  max-width:100%;
}
.memo-field{
  max-width:22em;
}
.filing-method-row{
  grid-template-columns:minmax(190px,220px) minmax(360px,620px)!important;
  justify-content:start;
  align-items:start;
}
.filing-method-field{
  max-width:220px;
}
.method-alert-full{
  grid-column:1/-1;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:none;
  min-height:40px;
  margin-top:0;
  padding:9px 14px;
  border:1px solid #f1c66d;
  border-left:5px solid #f59e0b;
  border-radius:12px;
  background:#fff8e6;
  color:#5f3b00;
  font-size:.84rem;
  font-weight:900;
  line-height:1.35;
  white-space:nowrap;
  box-sizing:border-box;
}
.filing-alert.method-alert-full{
  min-height:40px;
}
#onestopChecks{
  grid-template-columns:repeat(2,minmax(190px,220px));
  max-width:520px;
  width:fit-content;
  box-sizing:border-box;
}
#onestopChecks .mini-check-head{
  grid-column:1/-1;
}
#onestopChecks label{
  min-width:0;
}
@media(max-width:980px){
  .method-alert-full{
    width:100%;
    max-width:100%;
    overflow-x:auto;
  }
  #onestopChecks{
    width:100%;
    max-width:100%;
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }
}
@media(max-width:560px){
  #memo{width:100%;}
  .memo-field{max-width:none;}
  #onestopChecks{grid-template-columns:1fr;}
}

/* required materials notice */
.required-docs{
  margin:0 0 16px;
  padding:16px 18px;
  border:1px solid #d4e3f3;
  border-radius:16px;
  background:#fff;
  color:var(--fc-text);
  box-shadow:0 8px 24px rgba(15,45,70,.06);
}
.required-docs strong{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  padding:6px 11px;
  border-radius:999px;
  background:#eef5ff;
  border:1px solid #cfe0f5;
  color:var(--fc-navy);
  font-weight:900;
  font-size:.94rem;
  margin-bottom:12px;
  letter-spacing:.01em;
}
.required-docs-list{
  display:grid;
  gap:8px;
}
.required-docs-item{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
  line-height:1.55;
}
.required-docs-item .checkmark{
  flex:0 0 auto;
  color:var(--fc-blue);
  font-weight:900;
  line-height:1.55;
}
.required-docs-main{
  flex:0 0 auto;
  font-weight:900;
  color:var(--fc-navy);
  white-space:nowrap;
}
.required-docs-desc{
  min-width:0;
  color:var(--fc-muted);
  font-size:.92rem;
}
@media(max-width:640px){
  .required-docs{padding:14px;}
  .required-docs strong{display:flex;width:100%;justify-content:center;}
  .required-docs-item{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;}
  .required-docs-desc{grid-column:2;}
}


/* v6.2: readability refinements */
:root{
  --fc-muted:#56677f;
}
.field-help,
.section-note,
.required-docs-desc,
.result-summary p,
.cause-card p,
.sample-lead,
.bottom-notice p{
  color:#56677f;
}
.section-head-row{
  align-items:flex-start;
}
.section-head-row .section-note{
  padding-top:18px;
}
.donation-formula-help{
  white-space:nowrap;
  overflow:visible;
  min-height:auto;
}
.guide-column.tool-side-guide{
  margin-top:32px;
}
.ad-column{
  margin-top:32px;
}
@media(max-width:1180px){
  .guide-column.tool-side-guide,
  .ad-column{
    margin-top:0;
  }
}
@media(max-width:760px){
  .donation-formula-help{
    white-space:normal;
  }
  .section-head-row .section-note{
    padding-top:0;
  }
}

/* v6.4: align left guide, main content, and right ad columns at the same top position */
.tool-layout{
  align-items:start;
}
.guide-column.tool-side-guide,
.ad-column{
  margin-top:0!important;
}
.tool-main{
  margin-top:0!important;
}
@media(max-width:1180px){
  .guide-column.tool-side-guide,
  .ad-column,
  .tool-main{
    margin-top:0!important;
  }
}
