.blks-1 .heading {
      margin-bottom: 70px;
}

.footerArea {
  margin-top: 100px;
}

  /* サイト基調色に合わせたパレット */
  .su-sim-page {
    --blue:#004e96;      /* サイト基調の紺青（見出し左バー等） */
    --pale-blue:#eff7ff; /* 小見出し・パネル背景の薄青 */
    --line:#d6d6d6;      /* 罫線グレー */
    --gray:#7e7e7e;      /* 補足テキスト */
  }
  .su-sim-page * { box-sizing:border-box; }
  .su-sim-page button,
  .su-sim-page input { font:inherit; }

  /* 設問見出し（サイトの薄青バンド見出し .heading-2 に準拠） */
  .su-sim-page .sim-heading { margin:0 0 25px; padding:10px 15px; font-size:18px; font-weight:700; line-height:1.45; background:var(--pale-blue); border-left:5px solid var(--blue); }

  /* 設問ブロック */
  .su-sim-page form > section { margin-top:60px; }
  .su-sim-page form > section:first-of-type { margin-top:70px; }
  .su-sim-page .question-block { padding:0 15px; }

  /* 選択肢 */
  .su-sim-page .radio-list { display:grid; gap:16px; }
  .su-sim-page .radio-list label { width:fit-content; display:flex; align-items:center; gap:14px; cursor:pointer; font-size:16px; font-weight:600; line-height:1.8; }
  .su-sim-page .radio-list.priced-options label { width:min(520px,100%); }
  .su-sim-page .radio-list input { position:absolute; opacity:0; pointer-events:none; }
  .su-sim-page .radio-list label::before { content:""; width:20px; height:20px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #fff; }
  .su-sim-page .radio-list label:has(input:checked)::before { border-color:var(--blue); background:var(--blue); }
  .su-sim-page .radio-list label:has(input:focus-visible)::before { outline:3px solid rgba(0,78,150,.25); outline-offset:2px; }
  .su-sim-page .radio-list span strong:not(.option-price) { margin-right:10px; }
  .su-sim-page .option-line { width:100%; display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:baseline; column-gap:24px; }
  .su-sim-page .radio-list.priced-options .option-line { flex:1; min-width:0; }
  .su-sim-page .option-name { min-width:0; }
  .su-sim-page .option-price { justify-self:end; white-space:nowrap; text-align:right; }
  .su-sim-page .option-price strong { margin-right:0; }

  /* 病室料金に含まれる場合（TV・アメニティ無効時） */
  .su-sim-page .option-block.is-disabled .radio-list { color:#a3a3a3; }
  .su-sim-page .option-block.is-disabled label { cursor:not-allowed; }
  .su-sim-page .option-block.is-disabled .radio-list label::before { border-color:var(--line); background:#f0f0f0; box-shadow:none; }
  .su-sim-page .option-block.is-disabled .radio-list label:has(input:checked)::before { background:#c4c4c4; }
  .su-sim-page .included-message { margin:0 0 25px; padding:14px 15px; color:#000; background:var(--pale-blue); border:1px solid #c9dff2; font-size:14px; font-weight:600; line-height:1.8; }
  .su-sim-page .included-message::before { content:"※"; margin-right:6px; color:var(--blue); font-weight:700; }

  /* 結果パネル */
  .su-sim-page .result-panel { margin-top:70px; padding:40px 40px 30px; background:var(--pale-blue); }
  .su-sim-page .result-kicker { margin:0; font-size:16px; font-weight:700; }
  .su-sim-page .result-total { display:flex; align-items:baseline; gap:8px; margin:8px 0 35px; padding-bottom:20px; border-bottom:1px solid #c9dff2; }
  .su-sim-page .result-total strong { color:var(--blue); font-size:40px; line-height:1.2; letter-spacing:1px; font-weight: bold; }
  .su-sim-page .result-total span { font-size:20px; font-weight:700; }
  .su-sim-page .result-panel .sim-heading { background:#fff; }

  /* 内訳 */
  .su-sim-page .breakdown-table { border-top:2px solid var(--blue); background:#fff; }
  .su-sim-page .breakdown-row { min-height:64px; display:grid; grid-template-columns:200px 1fr 150px; align-items:center; gap:16px; padding:12px 20px; border-bottom:1px solid var(--line); }
  .su-sim-page .breakdown-row strong { font-size:16px; }
  .su-sim-page .breakdown-row span { font-size:13px; color:var(--gray); line-height:1.7; white-space:normal; }
  .su-sim-page .breakdown-row b { text-align:right; font-size:16px; }

  /* リセット */
  .su-sim-page .reset-button { display:block; margin:25px 0 0 auto; padding:6px 0; border:0; color:var(--gray); background:transparent; text-decoration:underline; text-underline-offset:3px; font-size:14px; cursor:pointer; }
  .su-sim-page .reset-button:hover { color:var(--blue); }

  /* 注意書き */
  .su-sim-page .notes { margin-top:60px; padding-top:25px; border-top:1px solid var(--line); }
  .su-sim-page .notes p { margin:0; font-size:14px; font-weight:600; line-height:2; color:var(--gray); }

  @media (max-width:767px) {
    .su-sim-page form > section { margin-top:45px; }
    .su-sim-page form > section:first-of-type { margin-top:50px; }
    .su-sim-page .sim-heading { margin-bottom:20px; font-size:16px; }
    .su-sim-page .question-block { padding:0 5px; }
    .su-sim-page .radio-list { gap:14px; }
    .su-sim-page .radio-list label { align-items:flex-start; font-size:14px; }
    .su-sim-page .radio-list label::before { margin-top:3px; }
    .su-sim-page .radio-list.priced-options label { width:100%; }
    .su-sim-page .radio-list.priced-options .option-line { grid-template-columns:1fr; row-gap:2px; }
    .su-sim-page .radio-list.priced-options .option-price { justify-self:end; }
    .su-sim-page .result-panel { margin-top:50px; padding:25px 20px 20px; }
    .su-sim-page .result-total strong { font-size:32px; }
    .su-sim-page .breakdown-row { grid-template-columns:1fr auto; gap:2px 14px; padding:12px 12px; min-height:0; }
    .su-sim-page .breakdown-row strong { grid-column:1; font-size:14px; }
    .su-sim-page .breakdown-row span { grid-column:1; font-size:12px; }
    .su-sim-page .breakdown-row b { grid-column:2; grid-row:1/3; font-size:14px; }
    .su-sim-page .notes { margin-top:45px; }
    .su-sim-page .notes p { font-size:12px; }
  }