  /* ════════════════════════════════════════════════════════════
     TAILS — ブラシ診断（page-brush-guide.php）
     リセット・トークン・共通ヘッダー/フッターは base.css、
     カート・購入ボタン（.shop-card__cta）は shop.css を流用。
     ここは診断固有の部品（ページ見出し／ステップ／選択肢／確認／結果カード）だけ。

     設計方針（GOV.UK question pages / NN/g form design）
       - 1画面1問。主ボタンは1つ、常に左下の同じ位置
       - 「戻る」は設問の上にリンクとして置く
       - 小さい文字は --amber ではなく --amber-deep / --mid を使い、コントラストを確保
       - 影・左の縦ラインは使わない。余白とヘアラインで区切る
  ════════════════════════════════════════════════════════════ */

  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

  /* ---- ページ見出し（質問に入る前に要る情報だけ。結果ページではパンくずのみ） ---- */
  .guide-head { padding-bottom: clamp(20px, 2.6vw, 28px); margin-bottom: clamp(24px, 3.2vw, 36px); }
  .guide-head--result { margin-bottom: clamp(20px, 2.6vw, 28px); }
  .guide-head__crumb { display: flex; align-items: center; gap: 8px; font-size: 12.5px; letter-spacing: 0.06em; color: var(--mid); }
  .guide-head__crumb a { text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s; }
  .guide-head__crumb a:hover { color: var(--amber-deep); }
  .guide-head__crumb span { color: rgba(45,40,32,0.35); }
  .guide-head__title { margin-top: 14px; font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; font-size: clamp(20px, 2.6vw, 30px); font-weight: 700; letter-spacing: 0.05em; color: var(--dark); line-height: 1.5; }
  .guide-head__meta { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 12px; font-size: 13.5px; letter-spacing: 0.04em; color: var(--mid); }
  .guide-head__meta li { display: flex; align-items: center; }
  .guide-head__meta li + li::before { content: ''; display: inline-block; width: 1px; height: 12px; background: rgba(45,40,32,0.25); margin: 0 12px; }

  .guide-wrap { max-width: 760px; margin: 0 auto; padding: clamp(28px, 3.6vw, 44px) var(--pad-x-page) clamp(64px, 8vw, 112px); }
  .guide-wrap--result { max-width: 1240px; } /* 結果は情報量が多いので PC では幅を使う（質問は読みやすい幅のまま） */

  /* ---- 進捗（「質問 3 / 11」だけの簡素な表示） ---- */
  .guide-progress { margin-bottom: clamp(28px, 4vw, 44px); }
  .guide-progress__text { display: flex; justify-content: flex-end; align-items: baseline; gap: 12px; margin-bottom: 10px; font-size: 12.5px; letter-spacing: 0.08em; color: var(--mid); }
  .guide-progress__num { font-family: 'Ubuntu', 'Noto Sans JP', sans-serif; }
  .guide-progress__num b { color: var(--dark); font-weight: 500; font-size: 14px; }
  .guide-progress__bar { display: block; height: 4px; background: var(--hair); border-radius: 999px; overflow: hidden; }
  .guide-progress__bar i { display: block; height: 100%; width: 0; background: var(--amber); transition: width 0.3s ease; }

  /* ---- JSオフ時のエラーまとめ ---- */
  .guide-alert { margin-bottom: 28px; padding: 16px 0; border-top: 2px solid var(--bad); color: var(--dark); font-size: 14px; letter-spacing: 0.04em; line-height: 1.8; }
  .guide-alert strong { display: block; color: var(--bad); margin-bottom: 4px; }
  .guide-alert li { padding-left: 14px; position: relative; }
  .guide-alert li::before { content: ''; position: absolute; left: 0; top: 0.9em; width: 6px; height: 1px; background: var(--bad); }

  /* ---- 設問（1画面1問。JSオフ時は縦並び） ---- */
  .guide-step { border: 0; padding: clamp(24px, 3vw, 36px) 0; min-width: 0; }
  .guide-step:first-of-type { border-top: 0; }
  .guide-form.is-stepped .guide-step { display: none; border-top: 0; padding-top: 0; }
  .guide-form.is-stepped .guide-step.is-active { display: block; animation: guide-in 0.25s ease; }
  @keyframes guide-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { .guide-form.is-stepped .guide-step.is-active { animation: none; } }

  .guide-back { display: inline-flex; align-items: center; gap: 4px; margin-bottom: clamp(18px, 2.4vw, 28px); font-size: 13px; letter-spacing: 0.06em; color: var(--mid); padding: 6px 0; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
  .guide-back svg { width: 14px; height: 14px; }
  .guide-back:hover { color: var(--amber-deep); border-bottom-color: var(--amber-deep); }
  .guide-back:focus-visible { outline: 2px solid var(--amber-deep); outline-offset: 3px; }

  .guide-step__fs { border: 0; padding: 0; margin: 0; min-width: 0; }
  .guide-step__legend { display: block; padding: 0; }
  .guide-step__group { display: block; font-size: 12px; letter-spacing: 0.16em; color: var(--amber-deep); font-weight: 700; margin-bottom: 10px; }
  .guide-step__q { display: block; font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; font-size: clamp(20px, 2.3vw, 26px); font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; color: var(--dark); padding: 0; outline: none; }
  .guide-step__flag { display: inline-block; vertical-align: middle; margin-left: 10px; font-family: 'Noto Sans JP', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; line-height: 1; padding: 5px 8px; border-radius: 4px; color: var(--mid); background: rgba(45,40,32,0.06); }
  .guide-step__flag--req { color: #fff; background: var(--amber-deep); }
  .guide-step__hint { margin-top: 10px; font-size: 14px; letter-spacing: 0.04em; line-height: 1.8; color: var(--mid); }
  .guide-form.is-stepped .guide-step__when { display: none; }
  .guide-step__error { margin-top: 12px; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.7; color: var(--bad); }
  .guide-step.is-error .guide-step__q { color: var(--bad); }
  .guide-step.is-error .guide-opt span, .guide-step.is-error .guide-input { border-color: var(--bad); } /* エラーは文言＋選択肢の枠色で示す（縦ライン・影は使わない） */

  .guide-field__label { display: block; margin-bottom: 8px; font-size: 13.5px; font-weight: 700; letter-spacing: 0.06em; color: var(--dark); }

  /* 選択肢（大きめのタッチ領域・選択状態は色＋太線＋チェックで多重に示す） */
  .guide-opts { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: clamp(18px, 2.4vw, 26px); }
  .guide-opts--inline { margin-top: 12px; }
  .guide-opt { position: relative; display: block; cursor: pointer; }
  .guide-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
  .guide-opt span { display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 15px 18px; border: 1.5px solid rgba(45,40,32,0.22); border-radius: 10px; background: #fff; font-size: 15px; letter-spacing: 0.03em; line-height: 1.6; color: var(--dark); transition: border-color 0.15s, background 0.15s; }
  /* 丸（チェック）はフレックス項目として文字の左に置き、align-items で常に文字の中央に揃える（absolute だとブラウザ差でずれる） */
  .guide-opt span::before { content: ''; flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(45,40,32,0.45); background: #fff center / 12px 12px no-repeat; transition: border-color 0.15s, background-color 0.15s; }
  .guide-opt input[type="checkbox"] + span::before { border-radius: 5px; }
  .guide-opt:hover span { border-color: var(--amber-deep); background: rgba(212,145,74,0.05); }
  .guide-opt input:checked + span { border-color: var(--amber-deep); box-sizing: border-box; background: rgba(212,145,74,0.10); font-weight: 700; }
  .guide-opt input:checked + span::before { border-color: var(--amber-deep); background-color: var(--amber-deep); background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.4 2.4 4.6-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  .guide-opt input:focus-visible + span { outline: 3px solid var(--amber-deep); outline-offset: 2px; }
  .guide-opt--alt span { color: var(--mid); border-style: dashed; }
  .guide-opt--alt input:checked + span { color: var(--dark); border-style: solid; }
  @media (min-width: 600px) {
    .guide-opts { grid-template-columns: 1fr 1fr; }
    .guide-opts--inline { grid-template-columns: minmax(0, 260px); }
  }

  .guide-input { width: 100%; font-family: inherit; font-size: 17px; letter-spacing: 0.04em; color: var(--dark); background: #fff; border: 1.5px solid rgba(45,40,32,0.35); border-radius: 10px; padding: 15px 18px; min-height: 58px; transition: border-color 0.15s; }
  .guide-input:focus { outline: 1px solid var(--amber-deep); outline-offset: 2px; border-color: var(--amber-deep); }
  .guide-input::placeholder { color: rgba(45,40,32,0.38); }
  .guide-breed { position: relative; margin-top: clamp(18px, 2.4vw, 26px); }
  .guide-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 5; background: #fff; border: 1.5px solid rgba(45,40,32,0.22); border-radius: 10px; max-height: 280px; overflow-y: auto; }
  .guide-suggest li { padding: 13px 18px; font-size: 15px; letter-spacing: 0.03em; color: var(--dark); cursor: pointer; }
  .guide-suggest li:first-child { border-top: 0; }
  .guide-suggest li:hover, .guide-suggest li.is-active { background: rgba(212,145,74,0.10); color: var(--amber-deep); font-weight: 700; }
  .guide-number { margin-top: clamp(18px, 2.4vw, 26px); }
  .guide-number__row { display: flex; align-items: center; gap: 12px; }
  .guide-input--num { max-width: 180px; font-family: 'Ubuntu', 'Noto Sans JP', sans-serif; font-size: 20px; }
  .guide-number__unit { font-size: 15px; color: var(--dark); letter-spacing: 0.06em; }

  /* ---- ボタン（主ボタンは常に左） ---- */
  .guide-nav { margin-top: clamp(26px, 3.4vw, 36px); }
  .guide-btn { appearance: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; min-height: 54px; border: 0; border-radius: 999px; padding: 0 40px; font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: 0.08em; transition: background 0.2s, transform 0.1s; }
  .guide-btn--primary { background: var(--amber-deep); color: #fff; }
  .guide-btn--primary:hover { background: #9C5E24; }
  .guide-btn--primary:active { transform: translateY(1px); }
  .guide-btn:focus-visible { outline: 3px solid var(--dark); outline-offset: 3px; }
  .guide-btn--lg { min-height: 60px; padding: 0 48px; font-size: 16px; }
  @media (max-width: 599px) { .guide-btn { width: 100%; } }

  /* ---- 回答の確認 ---- */
  .guide-check { padding-top: clamp(24px, 3vw, 36px); }
  .guide-form.is-stepped .guide-check { display: none; border-top: 0; padding-top: 0; }
  .guide-form.is-stepped .guide-check.is-active { display: block; animation: guide-in 0.25s ease; }
  .guide-check__head h2 { margin: 0; }
  .guide-check__list { margin-top: clamp(20px, 2.6vw, 28px); }
  .guide-check__row { display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr) auto; gap: 8px 20px; align-items: baseline; padding: 14px 0; }
  .guide-check__row dt { font-size: 13.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--mid); line-height: 1.7; }
  .guide-check__row dd { margin: 0; font-size: 15px; letter-spacing: 0.03em; color: var(--dark); line-height: 1.7; }
  .guide-check__row.is-empty dd:not(.guide-check__act) { color: var(--mid); }
  .guide-check__change { font-size: 13.5px; font-weight: 700; letter-spacing: 0.06em; color: var(--amber-deep); text-decoration: underline; text-underline-offset: 4px; padding: 4px 0; white-space: nowrap; }
  .guide-check__change:hover { color: #9C5E24; }
  .guide-check__change:focus-visible { outline: 2px solid var(--amber-deep); outline-offset: 3px; }
  @media (max-width: 599px) {
    .guide-check__row { grid-template-columns: 1fr auto; }
    .guide-check__row dt { grid-column: 1 / -1; }
  }
  .guide-submit { margin-top: clamp(26px, 3.4vw, 36px); }
  .guide-submit__note { margin-top: 12px; font-size: 12.5px; letter-spacing: 0.05em; color: var(--mid); }

  /* ---- 結果 ---- */
  /* 結果ヘッダー。中央寄せをやめ、下に続くカード群と左端を揃える */
  .guide-result__head { padding-bottom: clamp(20px, 2.6vw, 26px); }
  .guide-result__title { font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; font-size: clamp(24px, 3vw, 32px); font-weight: 700; letter-spacing: 0.06em; color: var(--dark); line-height: 1.45; }
  .guide-result__lead { margin-top: 12px; max-width: 44em; font-size: 14px; letter-spacing: 0.04em; line-height: 1.9; color: var(--mid); }
  .guide-answers { margin-top: 16px; padding-top: 6px; }
  /* タップ領域を確保するため min-height を持たせる（文字だけだと 22px しかない） */
  .guide-answers > summary { cursor: pointer; display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--mid); list-style: none; transition: color 0.2s; }
  .guide-answers > summary::-webkit-details-marker { display: none; }
  .guide-answers > summary:hover { color: var(--amber-deep); }
  .guide-answers > summary:focus-visible { outline: 2px solid var(--amber-deep); outline-offset: 3px; }
  .guide-answers > summary svg { width: 13px; height: 13px; transition: transform 0.2s; }
  .guide-answers[open] > summary svg { transform: rotate(180deg); }
  @media (prefers-reduced-motion: reduce) { .guide-answers > summary svg { transition: none; } }
  .guide-answers__body { margin-top: 10px; font-size: 12.5px; letter-spacing: 0.03em; line-height: 1.95; color: var(--mid); }
  .guide-result__edit { display: inline-block; margin-top: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--amber-deep); border-bottom: 1px solid rgba(212,145,74,0.5); padding-bottom: 2px; transition: border-color 0.2s; }
  .guide-result__edit:hover { border-bottom-color: var(--amber-deep); }

  .guide-note { padding: 18px 0; }
  .guide-note strong { display: block; font-size: 14.5px; letter-spacing: 0.04em; color: var(--dark); }
  .guide-note p { margin-top: 6px; font-size: 13.5px; letter-spacing: 0.03em; line-height: 1.9; color: var(--mid); }
  .guide-note--safety strong { color: var(--amber-deep); }

  /* 1本目: 画像と説明を左右に。2本目以降: 横並びのカード（PC）。スマホは縦1列 */
  .guide-picks { display: grid; grid-template-columns: 1fr; gap: 0 clamp(24px, 3vw, 48px); margin-top: clamp(8px, 1vw, 12px); }
  .guide-pick { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: clamp(18px, 3vw, 36px); align-items: start; padding: clamp(28px, 4vw, 44px) 0; min-width: 0; }
  .guide-pick--main { grid-column: 1 / -1; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); }
  .guide-pick__media { position: relative; aspect-ratio: 4 / 5; background: var(--bg-warm); border-radius: 14px; overflow: hidden; }
  .guide-pick__media img { width: 100%; height: 100%; object-fit: contain; display: block; padding: clamp(10px, 1.2vw, 16px); }
  .guide-pick__placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: rgba(45,40,32,0.2); }
  .guide-pick__placeholder svg { width: 38%; height: auto; }
  .guide-pick__body { min-width: 0; }
  .guide-pick__rank { font-family: 'Noto Sans JP', sans-serif; font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; color: var(--dark); margin-bottom: 10px; }
  .guide-pick__rank em { font-style: normal; color: var(--amber-deep); }
  .guide-pick__name { font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; font-size: clamp(19px, 2vw, 24px); font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; color: var(--dark); }
  .guide-pick--main .guide-pick__name { font-size: clamp(22px, 2.4vw, 30px); }
  .guide-pick__spec { margin-top: 6px; font-size: 12.5px; letter-spacing: 0.05em; color: var(--mid); }
  /* 向いている用途。読点区切りの短い語なので見出し＋文章ではなくタグで見せる */
  .guide-pick__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
  .guide-pick__tags li { font-size: 12px; letter-spacing: 0.04em; line-height: 1.5; color: var(--amber-deep); background: rgba(212,145,74,0.10); border-radius: 999px; padding: 7px 14px; }
  /* 本文は縦に積み、全幅のヘアラインで行を区切る（2カラムに流すと右下に空白が出て読み順も定まらない） */
  .guide-pick__secs { margin-top: 18px; }
  .guide-pick__sec { padding: 16px 0; }
  .guide-pick__sec h4 { font-size: 12.5px; letter-spacing: 0.06em; font-weight: 700; color: var(--mid); margin-bottom: 7px; }
  .guide-pick__sec p, .guide-pick__sec li { font-size: 14.5px; letter-spacing: 0.03em; line-height: 1.9; color: var(--dark); }
  .guide-pick__sec li + li { margin-top: 3px; }
  .guide-pick__caution { margin-top: 14px; font-size: 13.5px; font-weight: 700; letter-spacing: 0.03em; line-height: 1.8; color: var(--bad); }
  .guide-pick__buy { margin-top: 18px; padding-top: 16px; }
  .guide-pick__price { display: block; font-family: 'Ubuntu', sans-serif; font-size: clamp(18px, 1.6vw, 22px); font-weight: 500; color: var(--dark); }
  .guide-pick__price span { font-size: 0.68em; color: var(--mid); margin-left: 3px; }
  .guide-pick__price small { font-family: 'Noto Sans JP', sans-serif; font-size: 11.5px; color: var(--mid); margin-left: 8px; font-weight: 400; }
  .guide-pick__pending { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; color: var(--mid); background: rgba(45,40,32,0.06); border-radius: 999px; padding: 9px 16px; }
  .guide-pick__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
  .guide-pick__actions .shop-card__cta { flex: 1 1 150px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; font-size: 13.5px; }

  /* PC: 1本目は 2 カラムの上に全幅、2本目・3本目は横に並べる。本文は縦積みのまま、主ボタンは画像の下でなく本文側に留める */
  @media (min-width: 900px) {
    .guide-picks { grid-template-columns: 1fr 1fr; }
    .guide-pick--main { padding: clamp(32px, 4vw, 56px) 0; }
    .guide-pick:not(.guide-pick--main) { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); }
    .guide-pick--main .guide-pick__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
    .guide-pick--main .guide-pick__actions { margin-top: 0; flex: 1 1 320px; max-width: 460px; }
  }
  /* 幅が中途半端なとき（900〜1100px）は 2本目・3本目の画像列を細くして横並びを保つ */
  @media (min-width: 900px) and (max-width: 1099px) {
    .guide-pick:not(.guide-pick--main) { grid-template-columns: minmax(0, 130px) minmax(0, 1fr); gap: 16px; }
  }
  @media (max-width: 599px) {
    .guide-pick, .guide-pick--main { grid-template-columns: 1fr; }
    .guide-pick__media { max-width: 260px; }
  }

  .guide-extras { margin-top: clamp(32px, 4.5vw, 52px); }
  .guide-extras__grid { display: grid; grid-template-columns: 1fr; gap: 0 clamp(24px, 3vw, 48px); }
  @media (min-width: 900px) { .guide-extras__grid { grid-template-columns: 1fr 1fr; } }
  .guide-extras__title { font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif; font-size: clamp(17px, 1.8vw, 21px); font-weight: 600; letter-spacing: 0.06em; color: var(--dark); margin-bottom: 4px; }
  .guide-extra { padding: 18px 0; }
  .guide-extra h4 { font-size: 15px; letter-spacing: 0.05em; font-weight: 700; color: var(--dark); }
  .guide-extra p { margin-top: 6px; font-size: 14px; letter-spacing: 0.03em; line-height: 1.95; color: var(--mid); }
  .guide-extra--warn216 h4 { color: var(--bad); }
  .guide-extra__link { display: inline-block; margin-top: 8px; font-size: 13.5px; font-weight: 700; letter-spacing: 0.05em; color: var(--amber-deep); text-decoration: underline; text-underline-offset: 4px; }

  /* まとめ買い。何が合計に入っているかを画像付きの明細で見せる */
  .guide-bulk { margin-top: clamp(28px, 4vw, 44px); padding: clamp(20px, 2.6vw, 26px) 0; }
  .guide-bulk__head { font-size: 14.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--dark); margin-bottom: 14px; }
  .guide-bulk__item { display: flex; align-items: center; gap: 14px; padding: 11px 0; }
  .guide-bulk__thumb { flex: 0 0 54px; width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; background: var(--bg-warm); border-radius: 9px; overflow: hidden; color: rgba(45,40,32,0.3); }
  .guide-bulk__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 5px; display: block; }
  .guide-bulk__thumb svg { width: 55%; height: auto; }
  .guide-bulk__name { flex: 1 1 auto; min-width: 0; font-size: 13.5px; letter-spacing: 0.02em; line-height: 1.6; color: var(--dark); }
  .guide-bulk__name small { display: block; margin-top: 2px; font-size: 11.5px; color: var(--mid); }
  .guide-bulk__amount { font-family: 'Ubuntu', sans-serif; font-size: 15px; font-weight: 500; color: var(--dark); white-space: nowrap; }
  /* 合計に入らない本。薄くしたうえで、入らない理由を文字で残す */
  .guide-bulk__status { font-size: 11.5px; font-weight: 700; letter-spacing: 0.04em; color: var(--mid); white-space: nowrap; }
  .guide-bulk__item--off .guide-bulk__thumb { opacity: 0.4; }
  .guide-bulk__item--off .guide-bulk__name { color: #A79E93; }
  .guide-bulk__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 18px; }
  .guide-bulk__total { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--dark); }
  .guide-bulk__price { font-family: 'Ubuntu', sans-serif; font-size: 21px; font-weight: 500; margin-left: 10px; }
  .guide-bulk__ship { display: inline-block; margin-left: 10px; font-size: 11.5px; letter-spacing: 0.1em; color: var(--good); font-weight: 700; }
  @media (max-width: 599px) {
    .guide-bulk__foot { flex-direction: column; align-items: stretch; }
    .guide-bulk__foot .guide-btn { width: 100%; }
  }

  /* 結果ページ末尾の2つの導線。どちらもテキストリンクで、中央に並べる */
  .guide-cta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 28px; margin-top: clamp(32px, 4vw, 48px); }
  .guide-cta__shop, .guide-cta__again { font-size: 13.5px; font-weight: 700; letter-spacing: 0.06em; color: var(--amber-deep); text-decoration: underline; text-underline-offset: 4px; padding: 6px 0; }
