/* スキルス胃がん／腹膜播種ページ専用の追加スタイル。
   既存 subpage.css のトークン（--primary / --deep / --mint など）と部品（.hero .card .panel .btn .chip .faq-item .safety .grid-2）を前提に、
   不足する表現（コンテンツ種別・治療の位置づけ・緊急カード）だけを追加する。新しい配色体系は作らない。 */

.gx-page{--gx-standard:var(--deep);--gx-conditional:#8a6a12;--gx-research:#5b4c9a;--gx-alert:#7a4b00;--gx-caution-bg:#fff8e6;--gx-caution-line:#e0b64a}
.gx-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gx-icon{flex:0 0 auto;vertical-align:-.15em}

/* ドラフト表示（公開ブロッカーが残る間だけ出る） */
.gx-draft{position:sticky;top:0;z-index:130;background:#fff4d6;border-bottom:1px solid #e9cf86;color:#5c4708;font-family:var(--sans);font-size:.72rem;line-height:1.7;padding:8px 0}
.gx-draft b{margin-right:.6rem}
.gx-todo{display:inline-block;margin:0 .3rem;padding:.05rem .45rem;border:1px dashed #c9a227;border-radius:6px;background:#fffaf0;color:#6b5306;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;font-weight:700;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.gx-page:not(.gx-is-draft) .gx-draft-only,.gx-page:not(.gx-is-draft) .gx-todo{display:none}
.gx-draft-only{margin-top:12px;padding:12px 14px;border:1px dashed #c9a227;border-radius:14px;background:#fffaf0;color:#5c4708;font-family:var(--sans);font-size:.7rem;line-height:1.8}

/* Hero・クイックナビ */
.gx-hero{padding-bottom:40px}
.gx-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;color:var(--soft);font-family:var(--sans);font-size:.72rem}
.gx-breadcrumb a{color:var(--soft)}
.gx-lead p{max-width:700px;margin:0 0 .8rem;color:var(--soft);font-size:.94rem;line-height:1.95}
.gx-ctas{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px}
.gx-quicknav ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.gx-quicknav a{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.72rem;font-weight:700;line-height:1.5;transition:border-color .2s,background .2s}
.gx-quicknav a>.gx-icon:first-child{color:var(--primary)}
.gx-quicknav a>span{flex:1}
.gx-quicknav a>.gx-icon:last-child{color:var(--faint)}
.gx-quicknav a:hover{border-color:var(--primary);background:var(--mint)}

/* ページ全体の流れ（事実を知る → 現在地 → 声 → 次の一歩） */
.gx-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none;counter-reset:none}
.gx-flow li{position:relative}
.gx-flow li+li::before{content:'';position:absolute;left:-7px;top:50%;width:6px;height:6px;border-top:2px solid var(--faint);border-right:2px solid var(--faint);transform:translate(-50%,-50%) rotate(45deg)}
.gx-flow a{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid #cae9e1;border-radius:14px;background:var(--mint);color:var(--deep);font-family:var(--sans);font-size:.72rem;font-weight:700;line-height:1.45}
.gx-flow a:hover{border-color:var(--primary);background:#fff}
.gx-flow a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.gx-flow-num{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:.72rem}

/* セクション共通 */
.gx-body{padding:36px 0 80px}
.gx-section{scroll-margin-top:96px;margin-bottom:22px}
.gx-card{padding:28px}
.gx-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.gx-head h2{margin:.35rem 0 0;font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:500;line-height:1.5}
.gx-step{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-family:var(--sans);font-size:.8rem;font-weight:700}
.gx-badges{display:flex;flex-wrap:wrap;gap:6px}
.gx-prose p,.gx-card>p,.gx-marker p,.gx-tx p{margin:.55rem 0;color:var(--ink);font-size:.9rem;line-height:2}
.gx-prose ul{margin:.3rem 0 .6rem;padding-left:1.4rem;color:var(--ink);font-size:.9rem;line-height:2}
.gx-lead-sm{margin:0 0 14px;color:var(--soft);font-size:.8rem}
.gx-sub{margin:22px 0 10px;color:var(--deep);font-family:var(--sans);font-size:.8rem;font-weight:700}
.gx-meta{margin:14px 0 0!important;padding-top:10px;border-top:1px dashed var(--line);color:var(--faint)!important;font-family:var(--sans);font-size:.72rem!important;line-height:1.8!important}
.gx-meta a,.gx-table-ev a{color:var(--soft)}
.gx-meta-inline{display:block;color:var(--faint);font-family:var(--sans);font-size:.72rem}
.gx-review-badge{display:inline-block;margin-right:8px;padding:1px 8px;border:1px solid #e9cf86;border-radius:999px;background:#fff8e6;color:#7a5a12;font-family:var(--sans);font-size:.72rem;font-weight:600;line-height:1.7;vertical-align:baseline}
.gx-review-notice{max-width:700px;margin:0 0 1rem;padding:10px 12px;border:1px solid #e9cf86;border-radius:12px;background:#fff8e6;color:var(--ink);font-family:var(--sans);font-size:.82rem;line-height:1.8}
.gx-cta{margin:16px 0 0}

/* コンテンツ種別ラベル（アイコン＋文字） */
.gx-type{display:inline-flex;align-items:center;gap:5px;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--deep);font-family:var(--sans);font-size:.72rem;font-weight:700}
.gx-type--medical-information{background:var(--blue);border-color:#cfe6ee;color:#35687a}
.gx-type--doctor-commentary{background:var(--mint);border-color:#cae9e1}
.gx-type--patient-experience,.gx-type--family-experience{background:#fdf1f3;border-color:#f3d3da;color:#9a3f55}
.gx-type--research-clinical-trial{background:#f3f0fb;border-color:#dcd4f2;color:var(--gx-research)}
.gx-type--lifestyle-support{background:var(--beige);border-color:#eadfc6;color:#7a5b1f}
.gx-type--guide,.gx-type--treatment{background:#fff;border-color:#bfe6dc}

/* 治療の位置づけラベル：tierごとに枠線スタイルも変える（色覚に依存しない） */
.gx-status{display:inline-flex;align-items:center;gap:5px;padding:.25rem .7rem;border:2px solid;border-radius:8px;background:#fff;font-family:var(--sans);font-size:.72rem;font-weight:700}
.gx-status--standard{border-style:solid;border-color:var(--gx-standard);color:var(--gx-standard)}
.gx-status--conditional{border-style:dashed;border-color:var(--gx-conditional);color:var(--gx-conditional)}
.gx-status--research{border-style:dotted;border-color:var(--gx-research);color:var(--gx-research)}
.gx-status--support{border-style:double;border-width:3px;border-color:var(--deep);color:var(--deep)}

/* チェックリスト */
.gx-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 6px;padding:0;list-style:none}
.gx-checklist label,.gx-q{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-family:var(--sans);font-size:.78rem;line-height:1.6;cursor:pointer}
.gx-checklist input,.gx-q input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--primary)}
.gx-checklist label:has(input:checked),.gx-q:has(input:checked){border-color:var(--primary);background:var(--mint)}
.gx-checklist input:focus-visible,.gx-q input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
.gx-hint{margin:6px 0 0!important;color:var(--faint)!important;font-family:var(--sans);font-size:.72rem!important}
.gx-support-msg{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:16px 18px;border-radius:16px;background:#fdf1f3;color:#9a3f55}
.gx-support-msg p{margin:0!important;color:#7d3446!important;font-weight:700;font-size:.84rem!important}

/* 主治医に聞く */
.gx-ask{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid #cae9e1;border-radius:16px;background:var(--mint);color:var(--deep)}
.gx-ask b{font-family:var(--sans);font-size:.72rem}
.gx-ask ul{margin:.3rem 0 0;padding-left:1.1rem;color:var(--ink);font-size:.82rem;line-height:1.9}

/* 表 */
.gx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.gx-table{width:100%;border-collapse:collapse;font-size:.82rem;line-height:1.8}
.gx-table th,.gx-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.gx-table thead th{color:var(--soft);font-family:var(--sans);font-size:.72rem}
.gx-table tbody th{width:9.5em;color:var(--deep);font-family:var(--sans);font-weight:700}
.gx-table-ev{width:7.5em;font-family:var(--sans);font-size:.72rem;color:var(--faint)}

/* 現在地ナビ */
.gx-journey{position:relative}
.gx-journey-item summary{display:flex;align-items:center;gap:10px}
.gx-journey-dot{width:12px;height:12px;border:2px solid var(--primary);border-radius:50%;background:#fff}
.gx-journey-item[open] .gx-journey-dot{background:var(--primary)}
.gx-journey-qs,.gx-journey-next{margin:.3rem 0 .9rem;padding-left:1.2rem;font-size:.78rem;line-height:1.9;color:var(--ink)}
.gx-journey-next a{color:var(--deep);font-weight:700}

/* バイオマーカー */
.gx-marker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.gx-marker{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfefd}
.gx-marker h3{margin:0 0 .3rem;color:var(--deep);font-family:var(--sans);font-size:1rem}
.gx-note p{margin:0}

/* 治療：位置づけごとにブロックを分ける */
.gx-position-note{display:flex;align-items:center;gap:6px;margin:.4rem 0 .2rem!important;padding:.45rem .7rem;border:1px dashed var(--gx-conditional);border-radius:10px;background:#fffdf6;color:var(--gx-conditional)!important;font-family:var(--sans);font-size:.76rem!important;font-weight:700;line-height:1.6!important}
.gx-tiers{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.gx-tier{padding:18px;border-radius:20px}
.gx-tier--standard{border:2px solid #bfe6dc;background:#fbfefd}
.gx-tier--conditional{border:2px dashed #e2cf95;background:#fffdf6}
.gx-tier--research{border:2px dotted #c9bff0;background:#faf9fe}
.gx-tier-head{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--sans);font-size:.9rem}
.gx-tier--standard .gx-tier-head{color:var(--gx-standard)}
.gx-tier--conditional .gx-tier-head{color:var(--gx-conditional)}
.gx-tier--research .gx-tier-head{color:var(--gx-research)}
.gx-tx{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.gx-tx+.gx-tx{margin-top:12px}
.gx-tx h4{margin:.6rem 0 .2rem;font-size:1rem}

/* 症状・注意 */
.gx-symptoms{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:0;list-style:none}
.gx-symptoms li{padding:.45rem .85rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-family:var(--sans);font-size:.74rem}
.gx-important{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-left:4px solid var(--gx-conditional);border-radius:0 14px 14px 0;background:#fffdf6;color:var(--gx-conditional)}
.gx-important b{font-family:var(--sans);font-size:.72rem}
.gx-important p{margin:.3rem 0 0;color:var(--ink);font-size:.84rem;line-height:1.9}

/* 緊急カード */
.gx-emergency{padding:26px 28px;border:2px solid var(--gx-caution-line);border-radius:24px;background:var(--gx-caution-bg)}
.gx-emergency-head{display:flex;gap:12px;align-items:flex-start;color:var(--gx-alert)}
.gx-emergency h2:focus{outline:3px solid var(--gx-alert);outline-offset:4px;border-radius:6px}
.gx-emergency h2{margin:0;color:var(--gx-alert);font-size:clamp(1.1rem,2.3vw,1.4rem);font-weight:700;line-height:1.55}
.gx-emergency p{margin:.8rem 0;color:var(--ink);font-size:.88rem;line-height:1.9}
.gx-emergency ul{margin:0;padding-left:1.3rem;color:var(--ink);font-size:.9rem;font-weight:700;line-height:2}
.gx-emergency-disclaimer{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #efd9a0}
.gx-emergency-disclaimer p{margin:0;font-size:.78rem}
.gx-emergency-fab{position:fixed;left:14px;bottom:20px;z-index:110;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:.55rem .95rem;border:1.5px solid var(--gx-caution-line);border-radius:999px;background:var(--gx-caution-bg);color:var(--gx-alert);font-family:var(--sans);font-size:.7rem;font-weight:700;box-shadow:0 10px 24px -16px rgba(0,0,0,.35)}
.gx-emergency-fab:focus-visible{outline:3px solid var(--gx-alert);outline-offset:2px}

/* 質問ビルダー */
.gx-qbuilder{display:grid;gap:14px}
.gx-qgroup{margin:0;padding:14px;border:1px solid var(--line);border-radius:16px}
.gx-qgroup legend{padding:0 .4rem;color:var(--deep);font-family:var(--sans);font-size:.74rem;font-weight:700}
.gx-q{margin-top:8px}
.gx-priority{margin-left:.5rem;padding:.05rem .45rem;border:1px solid var(--primary);border-radius:6px;color:var(--deep);font-style:normal;font-size:.72rem;font-weight:700}
.gx-qactions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.gx-qcount{flex:1 1 100%;margin:0;color:var(--soft);font-family:var(--sans);font-size:.72rem}

/* 体験談 */
.gx-exp-disclaimer{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;padding:12px 14px;border-radius:14px;background:var(--mint);color:var(--deep)}
.gx-exp-disclaimer p{margin:0;color:var(--ink);font-size:.78rem;line-height:1.85}
.gx-exp{padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.gx-exp h3{margin:.55rem 0 .2rem;font-size:.95rem}
.gx-empty{margin:0;color:var(--faint);font-family:var(--sans);font-size:.72rem}

/* 相談 */
.gx-topics{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;list-style:none}
.gx-support-links{margin:10px 0;padding-left:1.2rem;font-size:.84rem;line-height:2}
.gx-consult{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 8px;padding:0;list-style:none;counter-reset:none}
.gx-consult a,.gx-consult-pending{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;padding:18px 12px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:center;font-family:var(--sans)}
.gx-consult a:hover{border-color:var(--primary);background:var(--mint)}
.gx-consult .gx-icon{color:var(--primary)}
.gx-consult b{font-size:.8rem;color:var(--deep)}
.gx-consult span{font-size:.72rem;color:var(--soft)}

/* 凡例・出典 */
.gx-legend-title{margin:0 0 .4rem;font-size:1.1rem;font-weight:500}
.gx-legend-row{display:flex;flex-wrap:wrap;gap:8px}
.gx-ev-list{margin:0;padding-left:1.1rem;font-size:.74rem;line-height:1.9}
.gx-ev-list li{margin:.4rem 0}
.gx-ev-list .gx-status{margin-left:.3rem;padding:.05rem .45rem;font-size:.72rem}

/* PC：site-nav.js の左サイドバー（幅196px・1024px以上）と重ならない位置に置く */
@media(min-width:1024px){.gx-emergency-fab{left:212px}}

/* ── コンテンツ種別：カード左帯（色＋線種。ラベル・アイコンと併用） ── */
.gx-card[data-type]{border-left-width:5px}
.gx-card[data-type="medical-information"]{border-left-color:#7fb2c4;border-left-style:solid}
.gx-card[data-type="treatment"]{border-left-color:var(--deep);border-left-style:solid}
.gx-card[data-type="patient-experience"]{border-left-color:#e3a3b3;border-left-style:dashed}
.gx-card[data-type="lifestyle-support"]{border-left-color:#d8bf85;border-left-style:double;border-left-width:6px}
.gx-card[data-type="guide"]{border-left-color:var(--primary);border-left-style:dotted}
.gx-card[data-type="consult"]{border-left-color:var(--primary);border-left-style:solid}
.gx-type--consult{background:var(--mint);border-color:#bfe6dc}

/* ── 段階の区切り見出し・次に見る ── */
.gx-phase{margin:44px 0 16px;scroll-margin-top:96px}
.gx-phase:first-child{margin-top:0}
.gx-phase-divider{display:flex;align-items:center;gap:10px;margin:0;padding:10px 0;border-bottom:2px solid #cae9e1;color:var(--deep);font-family:var(--sans);font-size:1rem;font-weight:700}
.gx-phase-summary{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:var(--mint);color:var(--ink);font-family:var(--sans);font-size:.8rem;line-height:1.8}
.gx-phase-summary b{display:block;color:var(--deep);font-size:.72rem}
.gx-next{margin:10px 4px 0;text-align:right}
.gx-next a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 4px;color:var(--soft);font-family:var(--sans);font-size:.72rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.gx-next a:hover{color:var(--deep)}

/* ── スマートフォン用 段階バー（900px以下で表示。JSで画面上端に固定） ── */
.gx-phasebar-slot,.gx-phasebar{display:none}
@media(max-width:900px){
  .gx-phasebar-slot{display:block;min-height:56px}
  .gx-phasebar{display:flex;align-items:center;gap:6px;min-height:56px;padding:6px 10px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-sizing:border-box}
  .gx-phasebar.is-fixed{position:fixed;top:0;left:0;right:0;z-index:115;box-shadow:0 6px 18px -14px rgba(0,0,0,.35)}
  .gx-phasebar ol{display:flex;gap:4px;flex:1;min-width:0;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
  .gx-phasebar ol::-webkit-scrollbar{display:none}
  .gx-phasebar a{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:4px 8px;border-radius:10px;color:var(--soft);font-family:var(--sans);font-size:.72rem;font-weight:700;white-space:nowrap;text-decoration:none}
  .gx-phasebar a .gx-flow-num{width:20px;height:20px;font-size:.72rem;background:var(--faint)}
  .gx-phasebar a[aria-current="step"]{background:var(--mint);color:var(--deep)}
  .gx-phasebar a[aria-current="step"] .gx-flow-num{background:var(--primary)}
  .gx-phasebar-q{flex:0 0 auto;border:1px solid #bfe6dc;background:#fff;color:var(--deep)!important}
  .gx-phasebar-q [data-qcount-badge]{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:var(--primary);color:#fff;font-size:.72rem}
  .gx-section,.gx-phase{scroll-margin-top:72px}
}
.gx-pb-short{display:none}
@media(max-width:639px){
  .gx-phasebar .gx-pb-long{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .gx-phasebar .gx-pb-short{display:inline}
  .gx-phasebar a{padding:4px 6px;gap:3px}
  .gx-phasebar{gap:4px;padding:6px 8px}
}
@media(max-width:439px){
  .gx-pb-qlabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .gx-phasebar ol{gap:2px}
  .gx-phasebar a{padding:4px 5px}
  .gx-phasebar a .gx-flow-num{display:none}
}

/* ── チェックリスト／現在地ナビ → 質問 の連携 ── */
.gx-link-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px}
.gx-link-actions .btn{min-height:44px}
.gx-link-status{flex:1 1 100%;margin:0;color:var(--deep);font-family:var(--sans);font-size:.72rem}
.gx-link-status a{margin-left:.4em;color:var(--deep);font-weight:700}

/* ── 治療の位置づけ一覧（承認済みラベルのみ） ── */
.gx-ladder ol{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.gx-ladder li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-family:var(--sans);font-size:.74rem}
.gx-ladder-head{display:inline-flex;align-items:center;gap:6px;font-weight:700;min-width:11em}
.gx-ladder-items{display:flex;flex-wrap:wrap;gap:6px}
.gx-ladder-items a{padding:.2rem .6rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:.7rem;text-decoration:none}
.gx-ladder-standard{border:2px solid #bfe6dc;color:var(--gx-standard)}
.gx-ladder-conditional{border:2px dashed #e2cf95;color:var(--gx-conditional)}
.gx-ladder-research{border:2px dotted #c9bff0;color:var(--gx-research)}
.gx-ladder-support{border:3px double #bfe6dc;color:var(--deep)}

/* ── 相談・緊急・セカンドオピニオン ── */
.gx-emergency-link{display:flex;align-items:center;gap:10px;min-height:48px;margin:4px 0 8px;padding:12px 14px;border:1.5px solid var(--gx-caution-line);border-radius:14px;background:var(--gx-caution-bg);color:var(--gx-alert);font-family:var(--sans);text-decoration:none}
.gx-emergency-link--hero{max-width:560px;margin:0 0 22px}
.gx-emergency-link span{display:flex;flex-direction:column;flex:1}
.gx-emergency-link b{font-size:.8rem}
.gx-emergency-link small{font-size:.72rem;color:var(--soft)}
.gx-soon{display:inline-block;margin-top:4px;padding:.1rem .5rem;border-radius:999px;background:var(--line);color:var(--soft);font-size:.72rem!important}
.gx-so{margin-top:18px;padding:14px 16px;border:1px solid #cae9e1;border-radius:16px;background:#fbfefd}
.gx-so .gx-sub{display:flex;align-items:center;gap:6px;margin-top:0}
.gx-link-pending{font-weight:700}
.gx-section--legend{margin-bottom:14px}

@media(max-width:900px){
  .gx-quicknav ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-consult{grid-template-columns:1fr}
}
@media(max-width:639px){
  .gx-flow ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-flow li:nth-child(odd)::before{display:none}
  .gx-card,.gx-emergency{padding:18px}
  .gx-checklist,.gx-marker-grid{grid-template-columns:1fr}
  .gx-quicknav a{min-height:52px;padding:10px 12px;font-size:.72rem}
  .gx-tier{padding:12px}
  .gx-table tbody th{width:auto}
  .gx-table thead{display:none}
  .gx-table tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}
  .gx-table th,.gx-table td{display:block;padding:2px 0;border:0;width:auto}
  /* モバイル下部ナビ（site-nav.js・高さ約64px）の上に緊急導線を常時表示する */
  .gx-emergency-fab{left:10px;right:auto;bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .gx-draft{position:static;font-size:.72rem}
}
@media print{
  .header,.footer,.gx-emergency-fab,.gx-draft,#irohaMobileNav,#irohaSidebarNav,.iroha-concierge-launcher{display:none!important}
  body.gx-printing-questions main>*:not(.gx-body),body.gx-printing-questions .gx-section:not(#questions){display:none!important}
  body.gx-printing-questions .gx-q:not(:has(input:checked)),body.gx-printing-questions .gx-qactions{display:none!important}
}
@media(prefers-reduced-motion:reduce){.gx-quicknav a,.gx-consult a{transition:none}}

/* ── 現在地ナビ：どれに当てはまるかわからない ── */
.gx-journey-unknown{border-style:dashed}
.gx-unknown-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0;padding:0;list-style:none}
.gx-unknown-list li{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--sans);font-size:.78rem}
.gx-unknown-list .gx-icon{color:var(--primary)}

/* ── 質問準備の通知（画面下部・モバイル下部ナビの上） ── */
.gx-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:130;transform:translateX(-50%);width:min(92vw,460px);padding:12px 14px;border-radius:14px;background:var(--deep);color:#fff;font-family:var(--sans);font-size:.78rem;line-height:1.7;box-shadow:0 12px 28px -14px rgba(0,0,0,.45)}
.gx-toast[hidden]{display:none}
.gx-toast a{display:inline-flex;align-items:center;min-height:44px;margin-left:.6em;color:#fff;font-weight:700;text-decoration:underline}
.gx-link-status a{display:inline-flex;align-items:center;min-height:44px}
.gx-src-org{font-weight:700}

/* ── キーボード操作の見える化 ── */
.gx-page a:focus-visible,.gx-page button:focus-visible,.gx-page summary:focus-visible,.gx-page input:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}
@media(max-width:639px){ .gx-unknown-list{grid-template-columns:1fr} }

/* ── タップ領域44px（文中リンク・パンくず・次に読むコンテンツ） ── */
.gx-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.gx-journey-next{list-style:none;padding-left:0}
.gx-journey-next a{display:flex;align-items:center;min-height:44px;padding:4px 0}
.gx-unknown-jump{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-left:.4em;color:var(--deep);font-weight:700}
.gx-ladder-items a{display:inline-flex;align-items:center;min-height:44px}
.gx-ev-list a,.gx-link-status a,.gx-meta a{display:inline-flex;align-items:center;min-height:44px}
.gx-topics .chip{font-size:.72rem;padding:.3rem .7rem}
.gx-page .faq-answer b{font-size:.74rem}

/* 関連ブログ（腹膜播種ページ） */
.gx-blog-title{margin:0 0 .4rem;font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:500;line-height:1.5}
.gx-blog-lead{margin:0 0 16px;color:var(--soft);font-size:.86rem}
.gx-blog-lead .gx-review-badge{margin:0 0 0 8px}
.gx-blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.gx-blog-list a{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:inherit;transition:transform .2s,box-shadow .2s}
.gx-blog-list a:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(20,60,50,.45)}
.gx-blog-list img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.gx-blog-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 16px;font-size:.78rem;line-height:1.75;color:var(--soft)}
.gx-blog-body b{color:var(--deep);font-size:.92rem;line-height:1.55}
@media(max-width:760px){.gx-blog-list{grid-template-columns:1fr}.gx-blog-list a{flex-direction:row}.gx-blog-list img{width:38%;aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.gx-blog-list a{transition:none}.gx-blog-list a:hover{transform:none}}

/* 医師の解説動画（スキルス胃がんページ） */
.gx-video{max-width:760px}
.gx-video-frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0f1f1b}
.gx-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gx-video-title{margin:12px 0 2px;color:var(--deep);font-size:.9rem;font-weight:600;line-height:1.6}
.gx-video-doctor{margin:0;color:var(--soft);font-size:.78rem}
.gx-video-note{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--mint);color:var(--soft);font-size:.74rem;line-height:1.8}

/* 体験談記事へのリンク */
.gx-story{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:0;margin-top:14px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:inherit;transition:transform .2s,box-shadow .2s}
.gx-story:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(20,60,50,.45)}
.gx-story img{display:block;width:100%;height:100%;min-height:180px;object-fit:cover;object-position:55% 25%}
.gx-story-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px;font-size:.8rem;line-height:1.8;color:var(--soft)}
.gx-story-body b{color:var(--deep);font-size:1rem;line-height:1.6}
.gx-story-tag{align-self:flex-start;padding:1px 10px;border-radius:999px;background:#fff0f4;color:#b3456a;font-size:.7rem;font-weight:700}
.gx-story-more{display:inline-flex;align-items:center;gap:4px;margin-top:auto;color:var(--primary);font-weight:700}
@media(max-width:640px){.gx-story{grid-template-columns:1fr}.gx-story img{aspect-ratio:16/9;min-height:0}}
@media(prefers-reduced-motion:reduce){.gx-story{transition:none}.gx-story:hover{transform:none}}
