/* テーマページだけに効く追加（<body class="gii-theme"> の下だけ）。スタイルガイド（gii-tokens.css・starter.html）は触らない
   2026-10-13 平野：10/7版フィジカルAI（M2）のモックの CSS を、そのまま移植した
   - 色と文字サイズだけ primitive のトークンに読み替える（読み替え表は gii-design-tokens/覚書_テーマページのスタイル調整_2026-10-13.md）
   - 余白・罫線・角丸・配置は参考の値のまま（同じ値の space トークンがあればそれを使う）
   - 幅はレポート詳細ページの実測どおり：器 1250px（左右 25px を含む）、本文と右カラムの間 20px、右カラム 280px（平野の決定 2026-10-13）
   - 縁ライン（左の太い線）は使わない（第8回の決定。平野の指示があるときだけ）。参考の .summary / .callout / .speeda / .shelf の左線はここでは落としている */

/* ===== 0. 仮の変数（トークンにない値）。青は第12回（2026-10-16）の10段階 primitive（番号＝明るさ。主色 blue.600、濃紺 blue.800）。オレンジは実測2色だけなので、薄い地・罫線は仮の変数 ===== */
.gii-theme {
  --gii-x-sidebar-report: 280px;                                   /* 右カラム幅。トークンは reference.layout.reportSidebarWidth（参考値）だけ */
  --gii-x-r: var(--gii-radius-md);                                 /* 参考 --r: 8px */
  /* オレンジの primitive は実測2色（500 #ff8d41・600 #f56b0f）だけと決めた（平野 2026-10-16）。薄い地・罫線は 500 から作る */
  --gii-x-orange-bg: color-mix(in srgb, var(--gii-color-orange-500) 8%, var(--gii-color-white));    /* 参考M2 #fff6ee / #fff3ea / #fffaf6 */
  --gii-x-orange-line: color-mix(in srgb, var(--gii-color-orange-500) 30%, var(--gii-color-white)); /* 参考M2 #ffd8bb / #ffb27a */
  /* 見取図（theme_kit.span_chart）の色。2026-10-23 平野：生の色コード（#a7b0bd・#3d6398・#c9d1dc）をトークンに読み替えた */
  --gii-x-span-start: var(--gii-color-blue-400);     /* 起点の円・凡例（旧 #a7b0bd → 2026-10-23 平野：blue-300 → blue-400） */
  --gii-x-span-end: var(--gii-color-blue-700);      /* 最終年の円・金額の文字・凡例（旧 #3d6398 → chart-rank-3（blue-600）→ 2026-10-23 平野：blue-700） */
  --gii-x-span-line: var(--gii-color-gray-300);     /* 起点と最終年を結ぶ線（旧 #c9d1dc） */
}

/* ===== 1. 地・本文の文字（参考 body） ===== */
.gii-theme { background: var(--gii-color-white); color: var(--gii-color-gray-900); font-family: var(--gii-font-family-jp); font-size: var(--gii-font-size-15); line-height: 1.85; font-feature-settings: var(--gii-font-feature-palt); -webkit-font-smoothing: antialiased; }
.gii-theme .cross-main, .gii-theme .gii-raside { font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-main a { color: var(--gii-color-blue-600); }
.gii-theme .cross-main { display: block; }   /* 参考は margin で間隔を取る。grid の gap はやめて、参考の margin をそのまま効かせる */
.gii-theme .cross-main p { margin: 0 0 12px; }
.gii-theme .cross-body, .gii-theme .cross-article p { margin: 0 0 12px; font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-note { margin: 0 0 12px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); line-height: 1.85; }   /* 参考 .note 12.5px */

/* ===== 1b. 暫定で非表示にした項目の決まり（平野 2026-10-13） =====
   削除せず class="gii-hidden" を付けて隠す（HTMLには残る。削除は入谷さんと擦り合わせてから）。一覧は 02_PJ管理/非表示にした項目_一覧.md
   上の帯の「非表示にした項目：表示」（body.mock-show-hidden）で、隠した項目をオレンジの破線つきで呼び出せる */
.gii-theme .gii-hidden { display: none; }
.gii-theme.mock-show-hidden .gii-hidden { display: revert; outline: 2px dashed var(--gii-color-orange-500); outline-offset: 2px; position: relative; }
.gii-theme.mock-show-hidden .gii-hidden::before { content: "非表示：" attr(data-hidden); display: block; margin-bottom: 4px; color: var(--gii-color-orange-600); font-size: var(--gii-font-size-12); font-weight: 700; }

/* ===== 2. モックの帯（参考 .mock） ===== */
.gii-theme .gii-mock { background: var(--gii-x-orange-bg); border-bottom: 1px solid var(--gii-x-orange-line); color: var(--gii-color-orange-600); font-size: var(--gii-font-size-12); text-align: center; padding: 6px 16px; line-height: 1.5; }
.gii-theme .gii-mock b { color: inherit; font-weight: 700; }
.gii-theme .gii-mock .mnav { gap: 4px 10px; }
.gii-theme .gii-mock .mnav a { color: inherit; }

/* ===== 3. パンくず（参考 .bc） ===== */
.gii-theme .cross-breadcrumb { padding: 0; background: var(--gii-color-gray-100); }
.gii-theme .cross-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 8px 0; font-size: var(--gii-font-size-12); line-height: 1.85; color: var(--gii-color-gray-700); }
.gii-theme .cross-breadcrumb li { display: inline-flex; align-items: center; }
.gii-theme .cross-breadcrumb li + li { margin-left: 0; }
.gii-theme .cross-breadcrumb li::before, .gii-theme .cross-breadcrumb li:first-child::before { translate: none; }   /* 矢印とホームの上下ずらし（starter の -2px / +2px）は、ここでは li を中央ぞろえにしているので外す（2026-10-21 平野） */
.gii-theme .cross-breadcrumb li, .gii-theme .cross-breadcrumb a, .gii-theme .cross-breadcrumb span { font-size: var(--gii-font-size-12); line-height: 1.85; }
.gii-theme .cross-breadcrumb a { color: var(--gii-color-gray-700); text-decoration: none; }

/* ===== 4. 器（参考 .wrap：上 28px・下 64px、本文＋右カラム） ===== */
.gii-theme .gii-rcol { display: grid; grid-template-columns: minmax(0, 1fr) var(--gii-x-sidebar-report); column-gap: var(--gii-layout-column-gap-report); align-items: start; padding: 28px 0 64px; }
.gii-theme .gii-raside { min-width: 0; }
.gii-theme .gii-raside__in { position: sticky; top: 16px; }   /* 参考 aside{position:sticky;top:16px} */
.gii-theme .gii-rcol--static .gii-raside__in { position: static; }
.gii-theme .gii-wide, .gii-theme .cross-2col { padding: 28px 0 64px; }

/* ===== 5. タイトルまわり（参考 .eyebrow / h1 / .byline） ===== */
/* テンプレートの H1（アイコン付き「〇〇の市場調査レポート」）は参考にないので、小さく置く。検索語の見出し（リードの太字）を参考の h1 にする */
.gii-theme .cross-title { padding-bottom: 0; margin-bottom: 4px; font-size: var(--gii-font-size-16); line-height: 1.5; color: var(--gii-color-blue-600); }
.gii-theme .cross-title::before { display: none; }
.gii-theme .cross-title img { width: 20px; height: 20px; }
/* H1（2026-10-14）：新しいテンプレートでは、長い題名（SEOに強いテキスト）を H1 にする。上の「〇〇の市場調査レポート」は .gii-eyebrow の段落 */
.gii-theme .gii-eyebrow { margin: 0 0 4px; }
.gii-theme .gii-h1 { margin: 4px 0 10px; padding: 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-25); font-weight: 700; line-height: 1.45; }
.gii-theme .gii-h1::before, .gii-theme .gii-h1::after { display: none; }
.gii-theme .gii-leadbox { margin: 0; padding: 0; background: transparent; border-radius: 0; }
.gii-theme .gii-leadbox .cross-lead { margin: 0; font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .gii-leadbox .cross-lead b { display: block; margin: 4px 0 10px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-25); font-weight: 700; line-height: 1.45; }   /* 参考 h1 28px */
.gii-theme .gii-byline { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 22px; padding: 0; border: 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); }   /* 参考 .byline 12.5px */
.gii-theme .gii-byline b { color: var(--gii-color-gray-900); }

/* ===== 6. 章見出し（参考 h2.h / h3） ===== */
.gii-theme .cross-main > section > h2.cross-section-title, .gii-theme .gii-read > h2.cross-h2 {
  display: block; position: relative; margin: 40px 0 14px; padding: 0 0 10px; border-bottom: 2px solid var(--gii-color-gray-300);
  color: var(--gii-color-gray-900); font-family: var(--gii-font-family-jp); font-size: var(--gii-font-size-20); font-weight: 700; line-height: 1.5; letter-spacing: 0;   /* 参考 21px */
}
.gii-theme .cross-main > section > h2.cross-section-title::before, .gii-theme .gii-read > h2.cross-h2::before { content: ""; position: absolute; left: 0; bottom: -2px; width: 56px; height: 2px; border-radius: 0; background: var(--gii-color-blue-600); }
.gii-theme .cross-main section > h3, .gii-theme .gii-read-h { margin: 32px 0 10px; padding: 0; border: 0; color: var(--gii-color-gray-900); font-family: var(--gii-font-family-jp); font-size: var(--gii-font-size-20); font-weight: 700; line-height: 1.5; letter-spacing: 0; }   /* h2 と同じ文字指定（下の罫線と青い短い線だけ無し）。青は使わない（2026-10-20 平野：16px の青では弱い） */
/* 章の器は素通し：starter の .cross-card（白い箱、上下 24px・左右 32px の内側余白）と .cross-article の余白は使わない。間隔は見出しの margin（上 40px）だけで取る */
.gii-theme .cross-main > section, .gii-theme .cross-main > section.cross-card { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }

/* ===== 7. 要点（参考 .summary。左の線 5px は落とし、角丸を全周に） ===== */
.gii-theme .cross-main > section.gii-points { margin: 0 0 20px; padding: 18px 22px; background: var(--gii-color-blue-50); border-radius: var(--gii-x-r); }   /* 要点の地：100 は濃いので 50 に（平野 2026-10-16。25 と見比べて判断） */
.gii-theme .cross-main > section.gii-points > h2.cross-section-title { margin: 0 0 8px; padding: 0; border: 0; color: var(--gii-color-blue-800); font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-main > section.gii-points > h2.cross-section-title::before { display: none; }
.gii-theme .cross-main > section.gii-points .cross-body { margin: 0; font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-main > section.gii-points .cross-body b { color: var(--gii-color-gray-900); }

/* ===== 8. 数値カード（参考 .facts / .fact） ===== */
.gii-theme .cross-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0 0 30px; }
.gii-theme .cross-stat { display: flex; flex-direction: column; padding: 12px 14px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); box-shadow: none; }
.gii-theme .cross-stat__value { order: 1; margin: 0; color: var(--gii-color-blue-800); font-family: var(--gii-font-family-en); font-size: var(--gii-font-size-24); font-weight: 700; line-height: 1.2; word-break: keep-all; overflow-wrap: normal; }   /* 参考 .fact__v 22px */
.gii-theme .gii-stats4 .cross-stat__value { font-size: var(--gii-font-size-24); }
.gii-theme .cross-stat__unit { margin-left: 2px; font-family: var(--gii-font-family-jp); font-size: var(--gii-font-size-12); font-weight: 700; white-space: nowrap; }
.gii-theme .cross-stat__label { order: 2; min-height: 0; margin-top: 4px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); font-weight: 400; line-height: 1.5; }   /* 参考 .fact__l */
.gii-theme .gii-stat-sub { order: 3; margin-top: 2px; padding: 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); line-height: 1.5; }

/* ===== 10. 表（参考 .scroll / .tbl） ===== */
.gii-theme .cross-table-wrap { margin: 10px 0 8px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); }   /* 表の四隅に角丸：外枠は包む箱に持たせ、角で切り取る（2026-10-21 平野） */
.gii-theme .cross-table tr > :first-child { border-left: 0; }
.gii-theme .cross-table tr > :last-child { border-right: 0; }
.gii-theme .cross-table tr:first-child > * { border-top: 0; }
.gii-theme .cross-table tr:last-child > * { border-bottom: 0; }   /* 外側の罫線は箱に任せる（角で二重・切れ目にならないように） */
.gii-theme .cross-table { width: 100%; min-width: 760px; border-collapse: collapse; border: 0; font-size: var(--gii-font-size-14); line-height: 1.6; }   /* 参考 .tbl 13.5px */
.gii-theme .cross-table th, .gii-theme .cross-table td { border: 1px solid var(--gii-color-gray-200); padding: 8px 10px; text-align: left; vertical-align: top; line-height: 1.6; }
.gii-theme .cross-table th { background: var(--gii-color-gray-800); color: var(--gii-color-white); font-size: var(--gii-font-size-14); font-weight: 500; line-height: 1.6; border-color: var(--gii-color-gray-800); word-break: keep-all; }   /* 見出し行は元の blue-800 と同じ明るさの gray-800 に白文字（2026-10-20 平野）。セルの罫線は gray-200 */
.gii-theme .cross-table th .gii-sub { color: inherit; opacity: .85; }
.gii-theme .cross-table tr:nth-child(odd) td { background: var(--gii-color-gray-50); }   /* 参考 tbody tr:nth-child(even) #fafcfe。1行目が th なので奇数番目。薄い青→いちばん薄いグレー（2026-10-20）。2026-10-23 平野：白統一を試して縞に戻した */
.gii-theme .cross-table td:first-child { font-weight: 700; word-break: keep-all; overflow-wrap: anywhere; }
.gii-theme .cross-table td:first-child a { text-decoration: none; }
.gii-theme .cross-table td:not(:first-child) { white-space: nowrap; }
.gii-theme .cross-table td:nth-child(2), .gii-theme .cross-table td:nth-child(3), .gii-theme .cross-table td:nth-child(4), .gii-theme .cross-table td:nth-child(6) { text-align: right; font-variant-numeric: tabular-nums; }   /* 参考 td.n（数字の列だけ右そろえ。「日本」の列は左） */
.gii-theme .cross-table td .gii-sub { display: block; margin: 0; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); font-weight: 400; }   /* 参考 .tbl small */

/* ===== 11. 図版（参考 .chart / .legend） ===== */
.gii-theme .cross-chart { margin: 12px 0; padding: 16px 18px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); }
.gii-theme .cross-chart h3 { margin: 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-14); font-weight: 700; line-height: 1.85; }   /* 参考 .chart__t */
.gii-theme .cross-chart svg { margin-top: 12px; }
.gii-theme .gii-chart-wide svg .gii-svg-sub { font-size: var(--gii-font-size-11); fill: var(--gii-color-text-muted); font-weight: 400; }   /* #14：ラベルの2行目（補足）は灰色で1段小さく */
.gii-theme .gii-chart-wide svg text { font-size: var(--gii-font-size-12); }   /* 1行目の出版社名。4本で同じ大きさ */
.gii-theme .cross-chart svg a text { fill: var(--gii-color-blue-600); }
/* 順位のグラデーション（平野 2026-10-16）：系列が1種類の横棒は、上位5つだけ色を変える chart.rank.1（blue.800）→ rank.5（blue.400）。6位以降は rank.6（blue.300）で固定。900 は使わない。灰で固定する案は廃止。縁線は付けない */
.gii-theme .cross-chart rect.r1 { fill: var(--gii-chart-rank-1); }
.gii-theme .cross-chart rect.r2 { fill: var(--gii-chart-rank-2); }
.gii-theme .cross-chart rect.r3 { fill: var(--gii-chart-rank-3); }
.gii-theme .cross-chart rect.r4 { fill: var(--gii-chart-rank-4); }
.gii-theme .cross-chart rect.r5 { fill: var(--gii-chart-rank-5); }
.gii-theme .cross-chart rect.r6 { fill: var(--gii-chart-rank-6); }
.gii-theme .cross-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); line-height: 1.85; }
.gii-theme .cross-legend span { gap: 0; }
.gii-theme .cross-legend i { width: 12px; height: 12px; border-radius: 3px; margin-right: 5px; }

/* ===== 12. 注意書き（参考 .callout。左の線 5px は落とす） ===== */
.gii-theme .cross-callout { margin: 14px 0; padding: 14px 18px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); }
.gii-theme .cross-callout--warning { background: var(--gii-color-red-50); border: 0; }   /* 注意喚起は朱色の系統（オレンジは CTA の色）。色付きの地には枠線を敷かない（枠線は地が白のときだけ。2026-10-21 平野） */
.gii-theme .cross-callout--warning b { color: var(--gii-color-red-600); }
.gii-theme .cross-callout b { display: inline; gap: 0; font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-callout b::before { display: none; }
.gii-theme .cross-callout p { margin: 0 0 12px; font-size: var(--gii-font-size-15); line-height: 1.85; }
.gii-theme .cross-callout p:last-child { margin-bottom: 0; }

/* ===== 13. 目的別の選び方（参考 .cards / .card / .card__pick） ===== */
.gii-theme .cross-icons.cross-grid--2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 12px 0; }
.gii-theme .cross-icon-card { text-align: left; }
.gii-theme .cross-icons.cross-grid--2 > .gii-card { padding: 14px 16px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); box-shadow: none; }
.gii-theme .cross-icons.cross-grid--2 > .gii-card h3 { margin: 2px 0 6px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); font-weight: 700; line-height: 1.5; text-align: left; }   /* 参考 .card__t */
.gii-theme .cross-icons.cross-grid--2 > .gii-card p { margin: 0 0 8px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); line-height: 1.85; text-align: left; }   /* 参考 .card__a 13.5px → 本文の基本 15 */
.gii-theme .gii-card .gii-links { display: flex; flex-wrap: wrap; flex-direction: row; gap: 6px; margin: 0; text-align: left; }   /* 参考 .card__pick */
.gii-theme .gii-card .gii-links a { display: inline-block; padding: 2px 10px; background: var(--gii-color-blue-100); border-radius: 999px; color: var(--gii-color-blue-800); font-size: var(--gii-font-size-13); line-height: 1.85; text-decoration: none; }   /* 参考 12.5px */
.gii-theme .gii-card .gii-links .gii-sub { display: inline; margin-left: 4px; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-11); line-height: 1.85; }
.gii-theme .gii-card .gii-links + .cross-note { margin: 8px 0 0; }

/* ===== 13b. 範囲の箱（目的別のカードと同じ cross-icons cross-grid--2 を持つので、詳細度を上げて目的別の後ろに置く。Codex 指摘）（参考 .map / .scope：4列、薄い青の濃淡、4つ目はオレンジ系） ===== */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 14px 0; }
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card { padding: 12px 14px; border: 1px solid var(--gii-color-blue-300); border-radius: var(--gii-x-r); background: var(--gii-color-white); box-shadow: none; }
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card h3 { margin: 2px 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); font-weight: 700; line-height: 1.85; text-align: left; }   /* 参考 .scope__t（行間は本文を継承） */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card p { margin: 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); line-height: 1.6; text-align: left; }   /* 参考 .scope__p 12.5px */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card:nth-child(1) { background: var(--gii-color-blue-50); }    /* 参考 #f2f8fd */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card:nth-child(2) { background: var(--gii-color-blue-100); }    /* 参考 #e7f2fa */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card:nth-child(3) { background: var(--gii-color-blue-300); }   /* 参考 #d6e8f6 */
.gii-theme .gii-strip + .cross-icons.cross-grid--2 > .gii-card:nth-child(4) { background: var(--gii-x-orange-bg); border-color: var(--gii-x-orange-line); }   /* 参考 .scope--4 */
/* スケール帯は参考にない部品。図版（.chart）と同じ箱にする */
.gii-theme .gii-strip { margin: 12px 0 0; }
.gii-theme .gii-strip h3 { margin: 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-14); font-weight: 700; }
.gii-theme .gii-strip svg circle[class^="s"] { stroke: var(--gii-color-white); stroke-width: 2; }

/* ===== 14. GIIの読み（参考 .editor：左に丸いアイコン、罫線の箱、薄い青白の地） ===== */
.gii-theme .cross-main > .gii-read, .gii-theme .cross-main .gii-analyst { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; row-gap: 0; margin: 14px 0; padding: 16px 18px; background: var(--gii-color-blue-50);   /* 地は blue-50（2026-10-23 平野。10-21 に gray-50 にしたが青に戻した） */ border: 0; border-radius: var(--gii-x-r); overflow: visible; }   /* 罫線なし（平野 2026-10-16。要点と同じ、地だけの箱） */
.gii-theme .cross-main > .gii-read > *, .gii-theme .cross-main .gii-analyst > * { min-width: 0; }   /* 中の表（最低760px）に引っぱられて、スマホで枠ごとはみ出さないように（入谷 2026-10-14） */
/* 旧アバター（::before の "GII" の文字）は廃止。ロゴ白抜きの .gii-read__av に置き換え（2026-10-21 平野） */
.gii-theme .gii-read > h2.cross-h2, .gii-theme .gii-analyst > .gii-analyst__h { grid-column: 2; margin: 0 0 6px; padding: 0; border: 0; background: transparent; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); font-weight: 400; line-height: 1.85; }   /* 参考 .editor__n 12.5px */
.gii-theme .gii-read > h2.cross-h2::before { display: none; }
.gii-theme .gii-read__eyebrow { display: inline; margin-right: 8px; color: var(--gii-color-blue-600); font-family: var(--gii-font-family-en); font-size: var(--gii-font-size-12); font-weight: 700; letter-spacing: .12em; }   /* 参考 .eyebrow */
.gii-theme .gii-read > h2 .gii-sub, .gii-theme .gii-analyst__h .gii-sub { margin: 0; color: var(--gii-color-gray-700); font-size: inherit; }
.gii-theme .gii-read__av, .gii-theme .gii-analyst__av { grid-column: 1; grid-row: 1 / span 2; width: 56px; height: 56px; }   /* ロゴの「GII」だけを、ロゴ青の正円に白抜きで（2026-10-21 平野） */
.gii-theme .gii-read__av svg, .gii-theme .gii-analyst__av svg { display: block; width: 100%; height: 100%; }
.gii-theme .gii-read__av circle { fill: var(--gii-color-logo-blue); }
.gii-theme .gii-read__av path { fill: var(--gii-color-white); }
.gii-theme .gii-read__body, .gii-theme .gii-analyst__body { grid-column: 2; padding: 0; background: transparent; border: 0; }
.gii-theme .gii-read__body p { margin: 0 0 12px; font-size: var(--gii-font-size-15); line-height: 1.85; }   /* 参考 .editor p は 14px。本文の基本 15 にそろえる（平野 2026-10-13） */
.gii-theme .gii-read__body > p:last-of-type { margin-bottom: 0; }
.gii-theme .gii-read .gii-read-h { margin: 12px 0 6px; font-size: var(--gii-font-size-15); }
.gii-theme .gii-read__body > .gii-read-h:first-child { margin-top: 0; }
.gii-theme .gii-read .cross-callout { margin: 12px 0 0; padding: 10px 14px; background: var(--gii-color-white); border: 1px dashed var(--gii-color-gray-300); border-radius: var(--gii-x-r); }   /* 担当者のひとことの枠（参考の voice 枠は破線） */
.gii-theme .gii-read .cross-callout b { color: var(--gii-color-blue-800); font-size: var(--gii-font-size-14); }
.gii-theme .gii-read .cross-callout p { margin: 2px 0 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); }

/* ===== 15. 関連するテーマ（参考 .rel） ===== */
.gii-theme .cross-icons.cross-grid--3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0 0; }
.gii-theme .cross-icons.cross-grid--3 > .gii-card { padding: 12px 14px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); box-shadow: none; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-14); }   /* 参考 .rel a 13.5px */
.gii-theme .cross-icons.cross-grid--3 > .gii-card h3 { margin: 0; color: var(--gii-color-blue-800); font-size: var(--gii-font-size-14); font-weight: 700; line-height: 1.85; text-align: left; }   /* 参考 .rel a b */
.gii-theme .cross-icons.cross-grid--3 > .gii-card p { margin: 0; font-size: var(--gii-font-size-14); line-height: 1.85; text-align: left; }
.gii-theme .cross-icons.cross-grid--3 > .gii-card p a { color: var(--gii-color-blue-600); }

/* ===== 16. よくあるご質問（参考 details.faq：下の罫線、右に＋／−） ===== */
.gii-theme .cross-faq { display: block; gap: 0; margin-top: 14px; }
.gii-theme .cross-faq details { border-bottom: 1px solid var(--gii-color-gray-200); }
.gii-theme .cross-faq summary { display: block; position: relative; padding: 12px 30px 12px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; font-weight: 700; cursor: pointer; }
.gii-theme .cross-faq details[open] summary { border-radius: 0; }
.gii-theme .cross-faq summary:hover { background: var(--gii-color-gray-50); box-shadow: -8px 0 0 var(--gii-color-gray-50); }   /* 質問行のホバー：文字は変えず薄い灰の地を敷く（左に8px はみ出させて窮屈にしない。2026-10-21 平野：gray-100 → gray-50） */
.gii-theme .cross-faq__q { display: block; }
.gii-theme .cross-faq__mark { display: none; }   /* 参考に Q. / A. の印はない */
.gii-theme .cross-faq__title { color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); font-weight: 700; line-height: 1.85; }
.gii-theme .cross-faq__icon { position: absolute; right: 6px; top: 10px; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; }
.gii-theme .cross-faq__icon::before { content: "+"; position: static; translate: none; width: auto; height: auto; background: transparent; color: var(--gii-color-blue-600); font-family: var(--gii-font-family-en); font-size: var(--gii-font-size-18); font-weight: 700; line-height: 1; }
.gii-theme .cross-faq__icon::after { display: none; }
.gii-theme .cross-faq details[open] .cross-faq__icon::before { content: "−"; }
.gii-theme .cross-faq__body { display: block; gap: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.gii-theme .cross-faq__body p { margin: 0 0 12px; font-size: var(--gii-font-size-15); line-height: 1.85; color: var(--gii-color-gray-900); }   /* 参考 14px → 本文の基本 15 */

/* ===== 17. 出典一覧（参考 ol.srcl） ===== */
.gii-theme .gii-srcl { margin: 0; padding-left: 1.6em; font-size: var(--gii-font-size-13); line-height: 1.65; }   /* 参考 13.5px → 14。平野の指示（2026-10-13）でワンサイズ下げて 13 */
.gii-theme .gii-srcl li { margin: 0 0 8px; padding-left: 0; font-size: inherit; line-height: inherit; }   /* starter の list.ordered の 14px を継承に戻す */
.gii-theme .gii-srcl li::before { display: none; }
.gii-theme .gii-srcl { list-style: decimal; }
.gii-theme .gii-srcl a { font-weight: 700; text-decoration: none; }
.gii-theme .gii-srcl .gii-sub { margin-left: 0; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-11); }   /* 12 → ワンサイズ下げて 11 */
.gii-theme .gii-used { display: block; color: var(--gii-color-gray-900); }
/* 出典一覧（2026-10-14 入谷・平野で合意）：一覧は折りたたみ（初めは閉じる）。開くと、使った数値と、小さく薄い商品コードが出る */
.gii-theme .gii-srcl-fold { margin-top: 8px; }
.gii-theme .gii-srcl-fold > summary { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); color: var(--gii-color-blue-600); font-size: var(--gii-font-size-13); font-weight: 700; cursor: pointer; list-style: none; }
.gii-theme .gii-srcl-fold > summary::-webkit-details-marker { display: none; }
.gii-theme .gii-srcl-fold > summary::before { content: "＋"; }
.gii-theme .gii-srcl-fold[open] > summary::before { content: "－"; }
.gii-theme .gii-srcl-fold[open] > .gii-srcl { margin-top: 12px; }
.gii-theme .gii-srcl .gii-src-code { color: var(--gii-color-gray-500); font-size: var(--gii-font-size-11); font-weight: 400; }
.gii-theme .gii-warn { display: block; color: var(--gii-color-orange-600); font-size: var(--gii-font-size-12); }
/* レポートのカード（starter の出典カード。参考にはないので、罫線だけ参考に合わせる） */
.gii-theme .cross-sources { margin-top: 12px; }
.gii-theme .cross-src { padding: 14px 16px; border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); box-shadow: none; }
.gii-theme .cross-src__head { margin-top: 0; }

/* ===== 18. 右カラム：サンプル依頼（参考 .side / .btn / .btn2 / .side__c） ===== */
.gii-theme .gii-cta { padding: 18px 16px; background: var(--gii-color-blue-100); border: 0; border-radius: var(--gii-x-r); box-shadow: none; }   /* 色付きの地には枠線を敷かない（2026-10-21 平野） */
.gii-theme .gii-cta__t { display: block; margin: 0 0 4px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); font-weight: 700; line-height: 1.85; }   /* 参考 .side__t */
.gii-theme .gii-cta__t::before { display: none; }
.gii-theme .gii-cta__d { margin: 0 0 10px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); line-height: 1.6; }   /* 参考 .side__s 12.5px */
.gii-theme .gii-cta__q { margin: 16px 0 4px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-13); font-weight: 700; }
.gii-theme .gii-cta__list { list-style: none; margin: 0; padding: 0; }
.gii-theme .gii-cta__list li { border: 0; }
.gii-theme .gii-cta__list label { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; padding: 6px 0; border-bottom: 1px solid var(--gii-color-blue-300); font-size: var(--gii-font-size-13); line-height: 1.45; cursor: pointer; }   /* 参考 .side label */
.gii-theme .gii-cta__list input { margin-top: 3px; width: auto; height: auto; accent-color: var(--gii-color-blue-600); }
.gii-theme .gii-cta__name { display: block; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-13); font-weight: 400; line-height: 1.45; }
.gii-theme .gii-cta__sub { display: block; margin: 0; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); line-height: 1.45; }   /* 参考 label small 11.5px */
.gii-theme .gii-cta__sub a { color: var(--gii-color-blue-600); }
.gii-theme .gii-cta__opts { display: grid; gap: 2px; }
.gii-theme .gii-cta__opts label { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; padding: 4px 0; font-size: var(--gii-font-size-13); line-height: 1.5; cursor: pointer; }
.gii-theme .gii-cta__opts input { margin-top: 3px; accent-color: var(--gii-color-blue-600); }
.gii-theme .gii-cta__opts small { display: block; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); }
.gii-theme .gii-cta__cnt { margin: 8px 0 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); }   /* 参考 .side__c */
.gii-theme .gii-cta__cnt b { color: var(--gii-color-blue-800); }
.gii-theme .gii-cta__ids { margin: 4px 0 0; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); line-height: 1.5; word-break: break-all; }
/* ボタン：参考 .btn（オレンジ、角丸 6、太字 15px、余白 12px）。starter の cross-btn の形（アイコン＋文字）は保つ */
.gii-theme .gii-cta .cross-btn { display: block; width: 100%; margin-top: 12px; padding: 12px; border: 0; border-radius: 6px; background: var(--gii-color-orange-500); color: var(--gii-color-white); font: 700 var(--gii-font-size-15) var(--gii-font-family-jp); line-height: normal; text-align: center; cursor: pointer; box-shadow: none; }
.gii-theme .gii-cta .cross-btn .cross-btn__icon { display: none; }
.gii-theme .gii-cta .cross-btn > span:last-child:empty { display: none; }
.gii-theme .gii-cta .cross-btn--secondary { margin-top: 8px; padding: 10px; border: 1px solid var(--gii-color-blue-600); background: var(--gii-color-white); color: var(--gii-color-blue-600); font-size: var(--gii-font-size-14); }   /* 参考 .btn2 */
.gii-theme .gii-cta .cross-btn:not([disabled]):hover { background: var(--gii-color-orange-600); }   /* ホバーは一段濃いオレンジ（2026-10-21 平野） */
.gii-theme .gii-cta .cross-btn[disabled] { opacity: .45; cursor: default; }
.gii-theme .gii-cta .cross-btn .gii-cta__va, .gii-theme .gii-cta .cross-btn .gii-cta__vb { white-space: normal; }
.gii-theme .gii-cta__note { margin: 8px 0 0; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); line-height: 1.6; }   /* 参考 .side__c */
.gii-theme .gii-cta__note b { color: var(--gii-color-gray-700); }
/* 入力欄（型A／B共通。参考にはない部品。右カラムの文字の大きさに合わせる） */
.gii-theme .gii-form { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 0; }   /* 上の線はやめる：一覧の最後の行の線と二重になるため（2026-10-21 平野） */
.gii-theme .gii-form label { display: grid; gap: 2px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); line-height: 1.5; }
.gii-theme .gii-form label em { font-style: normal; color: var(--gii-color-gray-600); }
.gii-theme .gii-form input, .gii-theme .gii-form select, .gii-theme .gii-form textarea { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--gii-color-gray-300); border-radius: 4px; background: var(--gii-color-white); color: var(--gii-color-gray-900); font: inherit; font-size: var(--gii-font-size-13); }
.gii-theme .gii-form textarea { min-height: 56px; resize: vertical; }
/* 入力欄の状態（デジタル庁 DADS の入力テキスト／セレクトの状態の組を参考に、色は GII の青で。2026-10-21 平野） */
.gii-theme .gii-form input::placeholder, .gii-theme .gii-form textarea::placeholder { color: var(--gii-color-gray-500); }
.gii-theme .gii-form input:not([type=radio]):not([type=checkbox]):hover, .gii-theme .gii-form select:hover, .gii-theme .gii-form textarea:hover { border-color: var(--gii-color-gray-600); }
.gii-theme .gii-form input:not([type=radio]):not([type=checkbox]):focus, .gii-theme .gii-form select:focus, .gii-theme .gii-form textarea:focus { border-color: var(--gii-color-blue-600); box-shadow: inset 0 0 0 1px var(--gii-color-blue-600); outline: none; }   /* フォーカスは枠が青く 2px になるだけ（内側に 1px 足して太く見せる）。外側のリングは出さない＝二重の囲みはやりすぎ（2026-10-21 平野） */
.gii-theme .gii-form input[aria-invalid="true"], .gii-theme .gii-form select[aria-invalid="true"], .gii-theme .gii-form textarea[aria-invalid="true"] { border-color: var(--gii-color-red-600); }
.gii-theme .gii-form input:disabled, .gii-theme .gii-form select:disabled, .gii-theme .gii-form textarea:disabled { background: var(--gii-color-gray-50); border-color: var(--gii-color-gray-300); color: var(--gii-color-gray-500); cursor: default; }
.gii-theme .gii-form select, .gii-theme .gii-listbar select { appearance: none; -webkit-appearance: none; padding-right: 28px; background: var(--gii-color-white) var(--gii-asset-icon-arrow-select) no-repeat right 12px center / 8px 5px; }   /* 矢印はトークンのアイコン。右端から 12px 内側（素の矢印は枠ぎりぎりだった） */
.gii-theme .gii-form select::-ms-expand { display: none; }
/* フォーカスリング：キーボード操作で見えるように。色・太さ・外側の間隔はトークン（blue-600・2px・2px）。マウスのクリックでは出さない */
.gii-theme a:focus-visible, .gii-theme button:focus-visible, .gii-theme input[type=checkbox]:focus-visible, .gii-theme input[type=radio]:focus-visible, .gii-theme summary:focus-visible, .gii-theme [tabindex]:focus-visible { outline: var(--gii-focus-ring-width) solid var(--gii-focus-ring-color); outline-offset: var(--gii-focus-ring-offset); }   /* 文字の入力欄・セレクトはリングを出さない（上の枠の青で示す） */
/* メールサービスのご登録（ラジオ）と案内の小さな文（2026-10-16 入谷：フォームの項目の見直し） */
.gii-theme .gii-form__radio { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-wrap: wrap; gap: 2px 14px; color: var(--gii-color-gray-700); font-size: var(--gii-font-size-12); line-height: 1.5; }
.gii-theme .gii-form__radio legend { padding: 0; margin-bottom: 2px; width: 100%; }
.gii-theme .gii-form__radio legend em { font-style: normal; color: var(--gii-color-gray-600); }
.gii-theme .gii-form .gii-form__radio label { display: inline-flex; align-items: center; gap: 4px; font-size: var(--gii-font-size-13); color: var(--gii-color-gray-800); }
.gii-theme .gii-form .gii-form__radio input { width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; accent-color: var(--gii-color-blue-600); }   /* テキスト欄の枠を受け継がない（2026-10-19 Bugbot） */
.gii-theme .gii-form__help { display: block; width: 100%; margin: 0; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); line-height: 1.6; }
.gii-theme.mock-form-off .gii-form { display: none; }
.gii-theme.mock-v-a .gii-cta__vb, .gii-theme.mock-v-b .gii-cta__va { display: none; }
.gii-theme.mock-form-off .gii-cta .gii-cta__list, .gii-theme.mock-form-off .gii-cta .gii-cta__d--form { display: none; }
.gii-theme .gii-cta .gii-cta__d--short { display: none; }
.gii-theme.mock-form-off .gii-cta .gii-cta__d--short { display: block; }
.gii-theme.mock-out-off .gii-cta__out { display: none !important; }
.gii-theme .cross-src__check--theme label { color: var(--gii-color-blue-800); }
.gii-theme .gii-cta__out { display: none; margin-top: 12px; padding: 12px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-300); border-radius: 4px; font-size: var(--gii-font-size-12); line-height: 1.6; }
.gii-theme .gii-cta__out.is-open { display: block; }
.gii-theme .gii-cta__out b { display: block; margin-bottom: 4px; color: var(--gii-color-blue-800); }
.gii-theme .gii-cta__out dl { display: grid; grid-template-columns: 6em minmax(0, 1fr); gap: 2px 8px; margin: 0; }
.gii-theme .gii-cta__out dt { color: var(--gii-color-gray-600); }
.gii-theme .gii-cta__out dd { margin: 0; color: var(--gii-color-gray-900); word-break: break-all; }

/* ===== 19. 目次（参考 .toc2） ===== */
.gii-theme .gii-toc { position: static; margin-top: 14px; padding: 12px 14px; background: var(--gii-color-white); border: 1px solid var(--gii-color-gray-200); border-radius: var(--gii-x-r); font-size: var(--gii-font-size-13); }
.gii-theme .gii-toc__title { display: block; margin: 0; color: var(--gii-color-blue-600); font-family: var(--gii-font-family-en); font-size: var(--gii-font-size-11); font-weight: 700; letter-spacing: .1em; line-height: 1.85; }   /* 参考 .toc2 b */
.gii-theme .gii-toc__title::before { display: none; }
.gii-theme .gii-toc ol { list-style: decimal; margin: 6px 0 0; padding: 0 0 0 1.2em; display: block; }
.gii-theme .gii-toc li { display: list-item; }
.gii-theme .gii-toc a { display: inline; padding: 0; border-radius: 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-13); line-height: 1.85; text-decoration: none; }
.gii-theme .gii-toc a i { display: none; }   /* 見出しに番号がないときは空。番号は ol の採番で出す */
.gii-theme .gii-toc a:hover { background: var(--gii-color-gray-100); color: inherit; border-radius: 3px; box-shadow: 0 0 0 3px var(--gii-color-gray-100); }   /* ホバーは文字を変えず、薄い灰の地を敷く（2026-10-20 平野。濃い灰の文字はどぎつい） */
.gii-theme .gii-toc a.is-current { background: transparent; color: var(--gii-color-blue-600); font-weight: 700; }
.gii-theme .gii-toc a.is-current i { color: var(--gii-color-blue-600); }
.gii-theme .gii-toc a[href="#read"] { color: inherit; }
.gii-theme .cross-main h2[id] { scroll-margin-top: 16px; }
/* 左ナビ型（レビュー版4本）では左の列に目次を置き、追従させる */
.gii-theme .cross-side .gii-toc { position: sticky; top: 16px; margin-top: 24px; }

/* ===== 20. 設計メモ（参考 .dn） ===== */
.gii-theme .gii-dn { max-width: var(--gii-layout-container-max-width); margin: 0 auto 60px; padding: 0 var(--gii-layout-gutter); color: var(--gii-color-gray-900); font-size: var(--gii-font-size-14); }   /* 参考 13.5px */
.gii-theme .gii-dn details { border: 2px dashed var(--gii-x-orange-line); border-radius: var(--gii-x-r); background: var(--gii-x-orange-bg); padding: 0; }
.gii-theme .gii-dn summary { cursor: pointer; padding: 12px 18px; font-weight: 700; color: var(--gii-color-orange-600); }
.gii-theme .gii-dn ul { list-style: disc; padding: 0 20px 16px 38px; margin: 0; }
.gii-theme .gii-dn li { margin: 0 0 6px; }

/* ===== 21. 主要レポートの軽い一覧（レビュー版で使用。参考 .shelf の左線 4px は落とす） ===== */
.gii-theme .gii-rl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; padding: 0; list-style: none; }
.gii-theme .gii-rl__item { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--gii-color-gray-200); border-radius: 6px; }
.gii-theme .gii-rl__cover img { display: block; width: 30px; height: auto; }
.gii-theme .gii-rl__title { color: var(--gii-color-blue-600); font-size: var(--gii-font-size-14); font-weight: 700; line-height: 1.55; text-decoration: none; }
.gii-theme .gii-rl__meta { display: flex; flex-wrap: wrap; gap: 0 8px; margin-top: 2px; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); }
.gii-theme .gii-rl__meta span + span::before { content: "／"; margin-right: 8px; }
.gii-theme .gii-rl__check { display: flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--gii-color-blue-600); font-size: var(--gii-font-size-13); }
.gii-theme .gii-rl__check input { accent-color: var(--gii-color-blue-600); }

/* ===== 22. モックのコントローラ（上の帯）・営業に届くメール・注目トピック型・比較の資料（参考にない部品。文字と色だけ合わせる） ===== */
.gii-mock .gii-ctl { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 16px; margin-top: 6px; }
.gii-mock .gii-ctl b { color: inherit; }
.gii-mock .gii-ctl__g { display: inline-flex; align-items: center; gap: 4px; }
.gii-mock .gii-ctl button { padding: 2px 10px; border: 1px solid var(--gii-color-blue-600); border-radius: 999px; background: var(--gii-color-white); color: var(--gii-color-blue-600); font: inherit; cursor: pointer; }
.gii-mock .gii-ctl button.is-on { background: var(--gii-color-blue-600); color: var(--gii-color-white); }
.gii-theme .gii-mailbg { position: fixed; inset: 0; z-index: 1000; display: none; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow: auto; background: color-mix(in srgb, var(--gii-color-blue-800) 55%, transparent); }
.gii-theme .gii-mailbg.is-open { display: flex; }
.gii-theme .gii-mail { width: min(760px, 100%); background: var(--gii-color-white); border-radius: var(--gii-x-r); box-shadow: var(--gii-modal-shadow); overflow: hidden; }
.gii-theme .gii-mail__bar { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 16px; background: var(--gii-color-blue-800); color: var(--gii-color-white); font-size: var(--gii-font-size-13); }
.gii-theme .gii-mail__bar button { padding: 2px 10px; border: 1px solid var(--gii-color-white); border-radius: 999px; background: transparent; color: var(--gii-color-white); font: inherit; cursor: pointer; }
.gii-theme .gii-mail__h { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: 2px 8px; margin: 0; padding: 12px 16px; border-bottom: 1px solid var(--gii-color-gray-300); font-size: var(--gii-font-size-13); }
.gii-theme .gii-mail__h dt { color: var(--gii-color-gray-600); }
.gii-theme .gii-mail__h dd { margin: 0; color: var(--gii-color-gray-900); word-break: break-all; }
.gii-theme .gii-mail__b { margin: 0; padding: 16px; white-space: pre-wrap; word-break: break-all; color: var(--gii-color-gray-900); font: inherit; font-size: var(--gii-font-size-13); line-height: 1.6; }
.gii-theme .gii-mail__ok { margin-top: 12px; padding: 10px 12px; background: var(--gii-color-white); border-radius: 4px; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-13); }
.gii-theme .gii-listbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 16px 0; padding: 12px 16px; background: var(--gii-color-gray-50); border-radius: 4px; font-size: var(--gii-font-size-13); color: var(--gii-color-gray-700); }
.gii-theme .gii-listbar select { font: inherit; padding: 4px 8px; border: 1px solid var(--gii-color-gray-300); border-radius: 4px; background: var(--gii-color-white); }
.gii-theme .gii-pager { display: flex; justify-content: center; gap: 8px; margin-top: 24px; font-size: var(--gii-font-size-14); }
.gii-theme .gii-pager span { min-width: 32px; padding: 4px 8px; text-align: center; border: 1px solid var(--gii-color-gray-300); border-radius: 4px; background: var(--gii-color-white); color: var(--gii-color-blue-600); }
.gii-theme .gii-pager span.is-current { background: var(--gii-color-blue-600); border-color: var(--gii-color-blue-600); color: var(--gii-color-white); }
.gii-theme .gii-cmp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.gii-theme .gii-cmp__h { margin: 0 0 8px; color: var(--gii-color-blue-800); font-size: var(--gii-font-size-15); font-weight: 700; }
.gii-theme .gii-cmp__h small { display: block; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-12); font-weight: 400; }
.gii-theme .gii-cmp__link { display: inline-block; margin-top: 8px; font-size: var(--gii-font-size-13); color: var(--gii-color-blue-600); }
.gii-theme .gii-verdict { display: inline-block; padding: 0 6px; border-radius: 4px; font-size: var(--gii-font-size-12); font-weight: 700; }
.gii-theme .gii-verdict--good { background: var(--gii-color-blue-100); color: var(--gii-color-blue-800); }
.gii-theme .gii-verdict--bad { background: var(--gii-color-gray-50); color: var(--gii-color-gray-600); }
.gii-theme .gii-cmp-table td { white-space: normal !important; vertical-align: top; }

/* ===== 23. 画面幅（参考 960px / 640px の切り替え。767px はトークン側の切り替えを打ち消すためだけ） ===== */
@media (max-width: 960px) {
  .gii-theme .gii-rcol { grid-template-columns: 1fr; }
  .gii-theme .gii-raside__in { position: static; }
  .gii-theme .gii-strip + .cross-icons.cross-grid--2 { grid-template-columns: 1fr 1fr; }   /* 参考 .map 2列 */
  .gii-theme .cross-stats { grid-template-columns: 1fr 1fr; }                             /* 参考 .facts 2列 */
}
@media (max-width: 767px) {
  .gii-theme main.cross-inner, .gii-theme .cross-breadcrumb .cross-inner, .gii-theme .gii-dn { padding-left: 25px; padding-right: 25px; }   /* トークンの SP 余白 12px は使わない（参考は 640px 以下で 16px） */
  .gii-theme .cross-table th, .gii-theme .cross-table td:first-child { white-space: normal; }   /* starter の SP の nowrap を解除。数字の列は nowrap のまま */
}
@media (max-width: 640px) {
  .gii-theme main.cross-inner, .gii-theme .cross-breadcrumb .cross-inner, .gii-theme .gii-dn { padding-left: 16px; padding-right: 16px; }   /* 参考 .wrap / .bc ol 16px */
  .gii-theme .gii-leadbox .cross-lead b { font-size: var(--gii-font-size-24); }   /* 参考 h1 22px */
  .gii-theme .gii-h1 { font-size: var(--gii-font-size-24); }
  .gii-theme .cross-icons.cross-grid--2, .gii-theme .cross-icons.cross-grid--3, .gii-theme .gii-strip + .cross-icons.cross-grid--2 { grid-template-columns: 1fr; }   /* 参考 .cards .rel .map 1列 */
  .gii-theme .gii-rl { grid-template-columns: 1fr; }
  .gii-theme .gii-cmp { grid-template-columns: minmax(0, 1fr); }
}

/* Speedaトレンドの引用（2026-10-14 入谷）：GIIはユーザベースのグループ会社なので、Speedaのトレンドから引用して独自性を出す。引用の形はSpeedaのアナリストチームのレビューを受ける */

/* 吹き出し（グラフのラベル・フォームのチェックリストに乗せると、正式タイトル・出版社・発行年月・価格。2026-10-16 入谷） */
.gii-tt { position: fixed; z-index: 1000; max-width: 320px; padding: 10px 12px; border-radius: var(--gii-x-r, 6px); background: var(--gii-color-gray-900); color: var(--gii-color-white); font-size: var(--gii-font-size-12); line-height: 1.6; box-shadow: var(--gii-overlay-shadow); pointer-events: none; opacity: 0; transition: opacity .12s; }
.gii-tt.is-on { opacity: 1; }
.gii-tt b { display: block; margin-bottom: 4px; font-size: var(--gii-font-size-13); font-weight: 700; }
.gii-tt span { display: block; color: var(--gii-color-gray-200); }

/* 右カラムのフォームの追従（PC。2026-10-16 入谷）：目次が上に抜けたらチェックリストだけを固定で出し、「依頼に進む」で入力欄と送信ボタンを開く */
.gii-theme .gii-cta-ph { height: 0; }
.gii-theme .gii-cta.is-float { position: fixed; top: 16px; z-index: 50; box-sizing: border-box; max-height: calc(100vh - 32px); overflow-y: auto; box-shadow: var(--gii-overlay-shadow); }
.gii-theme .gii-cta__next { display: none; width: 100%; margin-top: 10px; padding: 12px; border: 0; border-radius: 6px; background: var(--gii-color-orange-500); color: var(--gii-color-white); font-size: var(--gii-font-size-15); font-weight: 700; cursor: pointer; }   /* 「サンプルを依頼する」の主ボタンと同じ見た目（2026-10-21 平野） */
.gii-theme .gii-cta__next:not([disabled]):hover { background: var(--gii-color-orange-600); }
.gii-theme .gii-cta__next[disabled] { opacity: .45; cursor: default; }
.gii-theme .gii-cta.is-float:not(.is-open) .gii-cta__next { display: block; }
.gii-theme .gii-cta.is-float .gii-cta__d,
.gii-theme .gii-cta.is-float:not(.is-open) .gii-form,
.gii-theme .gii-cta.is-float:not(.is-open) .cross-btn,
.gii-theme .gii-cta.is-float:not(.is-open) .gii-cta__note { display: none; }
/* #20 案B（2026-10-20 入谷）：追従中は「依頼に進む」と「サンプルを依頼する」をパネルの下端に固定し、一覧・入力欄の方をスクロールさせる（画面が低くてもボタンが隠れない） */
.gii-theme .gii-cta.is-float .gii-cta__next, .gii-theme .gii-cta.is-float.is-open .cross-btn { position: sticky; bottom: 0; z-index: 1;
  box-shadow: 0 0 0 10px var(--gii-color-blue-100), 0 -14px 12px -2px var(--gii-color-blue-100); }

/* 本文の中のレポート名（吹き出しつき）は、チャートのラベルと同じ青の太字に（2026-10-16 入谷）。目的別の選び方の箇条書き */
.gii-theme .gii-read a[data-tt], .gii-theme .gii-picks a[data-tt], .gii-theme .cross-faq a[data-tt] { color: var(--gii-color-blue-600); font-weight: 700; text-decoration: none; }
.gii-theme .gii-picks { margin: 4px 0 14px; }
.gii-theme .gii-picks li { margin: 4px 0; }

.gii-theme .cross-chart rect[data-tip] { cursor: default; }
.gii-theme .cross-chart rect[data-tip]:hover { filter: brightness(.92); }
/* 範囲の章の「細かく分ける軸」の表：文字の表なので左寄せ（2026-10-16 入谷） */
.gii-theme .cross-table.gii-axes td, .gii-theme .cross-table.gii-axes th { text-align: left; vertical-align: top; }
.gii-theme .cross-table.gii-axes td:first-child { min-width: 9em; white-space: nowrap; font-weight: 700; }
.gii-theme .cross-table.gii-axes td:nth-child(2) { min-width: 12em; }
.gii-theme .cross-table.gii-axes td:nth-child(2), .gii-theme .cross-table.gii-axes td:nth-child(3) { white-space: normal; word-break: normal; overflow-wrap: anywhere; }

/* 範囲の地図（横並び版 scope_rows。2026-10-16 入谷の案） */
.gii-theme .gii-srows svg { width: 100%; height: auto; display: block; }
.gii-theme .gii-srows .sr-n { fill: var(--gii-color-gray-800); font-size: 14px; }
.gii-theme .gii-srows .sr-b { font-weight: 700; }
.gii-theme .gii-srows .sr-v { fill: var(--gii-color-gray-800); font-size: 14px; }
.gii-theme .gii-srows .sr-1 { fill: var(--gii-chart-rank-1); }   /* 色は「出版社別の推計」の横棒と同じ青の段階（chart-rank）、縁取りなし（2026-10-20 平野）。テーマの粒度の段＝いちばん濃い */
.gii-theme .gii-srows .sr-2 { fill: var(--gii-chart-rank-5); }   /* それ以外の段 */
.gii-theme .gii-srows .sr-r { fill-opacity: .35; stroke-width: 1; stroke-dasharray: 1 2; }   /* 上限までの薄い部分：同じ色の点線で囲う */
.gii-theme .gii-srows .sr-1.sr-r { stroke: var(--gii-chart-rank-1); }
.gii-theme .gii-srows .sr-2.sr-r { stroke: var(--gii-chart-rank-5); }
.gii-theme .gii-srows .sr-ov { fill: var(--gii-chart-rank-6); fill-opacity: .6; stroke: var(--gii-chart-rank-3); stroke-width: 1; stroke-dasharray: 1 2; }   /* 一部重なる市場：オレンジをやめ、横棒と同じ青の系統で点線に */
.gii-theme .gii-srows .sr-grid { stroke: var(--gii-color-gray-200); }
.gii-theme .gii-srows .sr-t { fill: var(--gii-color-gray-500); font-size: 11px; }
.gii-theme .gii-srows .sr-guide { stroke: var(--gii-color-gray-400); stroke-width: 1; stroke-dasharray: 1 2; }
.gii-theme .gii-srows [data-tip] { cursor: default; }
.gii-theme .gii-srows [data-tip]:hover { filter: brightness(.94); }

/* ===== 2026-10-16 入谷：007 の精査（平野さんのレビュー待ち。申し送り：02_PJ管理/平野さんへの申し送り_2026-10-16_007の精査.md） ===== */
/* Speedaの差し色（案）：GIIのデザインシステムの外の色。Speedaの箱だけに、札と小さな線で控えめに使う */
.gii-theme .cross-callout.gii-speeda { --gii-x-speeda: var(--gii-color-speeda-red); border-top: 2px solid var(--gii-x-speeda); }   /* Speeda Red は 2026-10-23 にトークン --gii-color-speeda-red に登録（10-20 の「組み込まない」を改めた）。--gii-x-speeda はその別名。この箱と Speeda バナー（#12）だけの例外（平野の決定 2026-10-20） */
.gii-theme .cross-callout.gii-speeda > b { color: var(--gii-color-gray-900); }
.gii-theme .gii-speeda-tag { display: inline-block; margin: 0 8px 0 0; padding: 0 8px; border-radius: 3px; background: var(--gii-x-speeda); color: var(--gii-color-white); font-size: var(--gii-font-size-13); font-weight: 700; line-height: 22px; vertical-align: 1px; }
.gii-theme .cross-callout.gii-speeda li b, .gii-theme .cross-callout.gii-speeda p b { color: var(--gii-color-gray-900); }   /* リンクでない太字は黒（青はリンクの色） */
/* 目的別の選び方の見出し：「〇〇の方」は灰色の札に（頭の◆は 2026-10-16 入谷の判断で外した） */
.gii-theme h3.gii-pick-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.gii-theme .gii-pick-who { display: inline-block; padding: 0 8px; border-radius: 3px; background: var(--gii-color-gray-100); color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); font-weight: 700; line-height: 1.7; }
.gii-theme .gii-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* 関連するテーマ：カード全体を押せる（中のリンク・ボタンをカードいっぱいに広げる） */
.gii-theme .gii-card--link { position: relative; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.gii-theme .cross-icons .gii-card.gii-card--link:hover { box-shadow: var(--gii-card-related-hover-shadow); }   /* 静止0→ホバーで1段浮く（elevation-1、無彩色。2026-10-20 平野）。縁の色は変えない。セレクタはカードの基本スタイル（.cross-icons.cross-grid--3 > .gii-card）より優先度を上げておく */
.gii-theme .gii-card--link form { margin: 0; }
.gii-theme .gii-card__go { display: inline-block; margin-top: 8px; padding: 0; border: 0; background: none; color: var(--gii-color-blue-600); font: inherit; font-size: var(--gii-font-size-13); font-weight: 700; text-align: left; cursor: pointer; }
.gii-theme .gii-card__go::after { content: ""; position: absolute; inset: 0; }
/* サイト内検索の窓 */
/* サイト内検索の窓（状態の組はデジタル庁 DADS の検索ボックスを参考に、色は GII の青。2026-10-21 平野） */
.gii-theme .gii-search { display: flex; max-width: 640px; margin: 8px 0; border: 1px solid var(--gii-color-gray-300); border-radius: var(--gii-x-r); overflow: hidden; background: var(--gii-color-white); transition: border-color .15s, box-shadow .15s; }
.gii-theme .gii-search:hover { border-color: var(--gii-color-gray-600); }
.gii-theme .gii-search:focus-within { border-color: var(--gii-color-blue-600); box-shadow: inset 0 0 0 1px var(--gii-color-blue-600); }   /* 入力欄と同じ：枠が青の 2px になるだけ。外側のリングは出さない */
.gii-theme .gii-search input { flex: 1; min-width: 0; padding: 10px 14px; border: 0; outline: none; background: var(--gii-color-white); color: var(--gii-color-gray-900); font: inherit; font-size: var(--gii-font-size-15); }
.gii-theme .gii-search { position: relative; }
.gii-theme .gii-search input { padding-left: 40px; }
.gii-theme .gii-search::before { content: ""; position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; translate: 0 -50%; background: var(--gii-color-gray-500); -webkit-mask: var(--gii-asset-icon-search) no-repeat center / contain; mask: var(--gii-asset-icon-search) no-repeat center / contain; pointer-events: none; }   /* 左に虫眼鏡（DADS の検索ボックスと同じ置き方）。トークンの SVG は白塗りなので、形だけ使って gray-500 で塗る */
.gii-theme .gii-search input::placeholder { color: var(--gii-color-gray-500); }
.gii-theme .gii-search input::-webkit-search-cancel-button { display: none; }
.gii-theme .gii-search input:disabled { background: var(--gii-color-gray-50); color: var(--gii-color-gray-500); }
.gii-theme .gii-search button { padding: 0 22px; border: 0; background: var(--gii-color-blue-600); color: var(--gii-color-white); font: inherit; font-weight: 700; cursor: pointer; transition: background .15s; }
.gii-theme .gii-search button:hover { background: var(--gii-color-blue-700); }
.gii-theme .gii-search button:active { background: var(--gii-color-blue-800); }
.gii-theme .gii-search button:focus-visible { outline-offset: -4px; outline-color: var(--gii-color-white); }   /* 枠の中で切れないよう内側にリング（青の地なので白） */
.gii-theme .gii-search button:disabled { background: var(--gii-color-gray-400); cursor: default; }
/* 比較表：和文のレポートの行は薄い青（英文のレポートと分ける） */
.gii-theme .cross-table tr:has(.gii-wa) td { background: var(--gii-color-blue-100); }   /* 和文のレポートの行は青の薄い地（縞の gray-50 と見分けるため 100）。オレンジは注意と紛れるのでやめた（2026-10-21 平野） */

/* Speedaの箱の中の組み方（007 の別案、2026-10-20）：「広がっている背景」と「これから追いたい層」の2列、最後に「レポートを選ぶときは」の1行 */
/* 「Speedaアナリストの視点」を「GIIの読み」と同じ型（左にアバター、小さな見出し、本文）に（2026-10-23 平野）。地は gray-50 で GII の blue-50 と分け、差し色は Speeda Red。目次には出さない（見出しは h2 にしない） */
.gii-theme .cross-main .gii-analyst { --gii-x-speeda: var(--gii-color-speeda-red); background: var(--gii-color-gray-50); }
.gii-theme .gii-analyst .gii-read__eyebrow { color: var(--gii-x-speeda); }
.gii-theme .gii-analyst__av circle { fill: var(--gii-color-white); }   /* 白い正円に Speeda のロゴ（assets/img/speeda/logo_speeda.svg）を赤で */
.gii-theme .gii-analyst__av path { fill: var(--gii-x-speeda); }
.gii-theme .gii-analyst .gsp-head { margin: 0 0 12px; font-size: var(--gii-font-size-16); line-height: 1.6; }
.gii-theme .gii-analyst .gsp-head b { color: var(--gii-color-gray-900); }
.gii-theme .gii-analyst .gsp-use { background: var(--gii-color-white); }   /* 地が gray-50 なので、一言の枠は白 */
/* 本文は「GIIの読み」と同じ1カラム（2026-10-23 平野：2カラム禁止）。小見出しは gii-read-h と同じ見た目。後ろの .gii-speeda .gsp-* より強くするため .gii-analyst.gii-speeda */
.gii-theme .gii-analyst.gii-speeda .gsp-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; }
.gii-theme .gii-analyst.gii-speeda .gsp-col { margin: 0 0 12px; }
.gii-theme .gii-analyst.gii-speeda .gsp-h { margin: 12px 0 6px; padding: 0; border: 0; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-15); font-weight: 700; line-height: 1.5; }
.gii-theme .gii-analyst.gii-speeda .gsp-col:first-child .gsp-h { margin-top: 0; }
.gii-theme .gii-analyst .cross-note { margin-bottom: 0; }
.gii-theme .gii-speeda > b { display: block; margin-bottom: 12px; font-size: var(--gii-font-size-16); line-height: 1.6; }
.gii-theme .gii-speeda .gsp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin: 0 0 12px; }
.gii-theme .gii-speeda .gsp-h { margin: 0 0 6px; padding-bottom: 4px; border-bottom: 1px solid var(--gii-color-gray-200); color: var(--gii-color-gray-700); font-size: var(--gii-font-size-13); font-weight: 700; }
.gii-theme .gii-speeda .gsp-list { margin: 0; padding: 0; list-style: none; counter-reset: gsp; }
.gii-theme .gii-speeda .gsp-list li { position: relative; margin: 0 0 10px; padding-left: 0; font-size: var(--gii-font-size-14); line-height: 1.75; color: var(--gii-color-gray-800); }
.gii-theme .gii-speeda .gsp-list li::before { display: none; }
.gii-theme .gii-speeda .gsp-list li b { display: block; color: var(--gii-color-gray-900); font-size: var(--gii-font-size-14); }
.gii-theme .gii-speeda .gsp-list--num li { padding-left: 26px; counter-increment: gsp; }
.gii-theme .gii-speeda .gsp-list--num li::after { content: counter(gsp); position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--gii-x-speeda); color: var(--gii-color-white); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.gii-theme .gii-speeda .gsp-use { margin: 0 0 10px; padding: 10px 12px; border-radius: var(--gii-x-r); background: var(--gii-color-gray-50); font-size: var(--gii-font-size-14); line-height: 1.75; }
.gii-theme .gii-speeda .gsp-use b { display: block; margin-bottom: 2px; color: var(--gii-color-gray-900); }
/* 「Speedaアナリストの視点」の仮置き（2026-10-20）：準備中の枠は薄く見せる */
.gii-theme .gii-speeda .gsp-ph { margin: 0 0 10px; color: var(--gii-color-gray-600); font-size: var(--gii-font-size-13); }
.gii-theme .gii-speeda.gii-analyst--ph .gsp-list li, .gii-theme .gii-speeda.gii-analyst--ph .gsp-use { color: var(--gii-color-gray-500); }
.gii-theme .gii-speeda.gii-analyst--ph .gsp-list li b, .gii-theme .gii-speeda.gii-analyst--ph .gsp-use b { color: inherit; }   /* 仮置きの太字も薄く（Bugbot #24） */
/* 目的別の選び方の表（3列。2026-10-22 に4列目「サンプル・目次で確かめたいこと」を外した。4列目の指定は 2026-10-23 平野が削除）。1列目も折り返す */
.gii-theme .cross-table.gii-purpose td:first-child { white-space: normal; min-width: 0; width: 40%; }   /* 2026-10-23 平野：「調べたいこと」の幅を 20% → 40%（2倍） */
.gii-theme .cross-table.gii-purpose td:nth-child(2) { width: 18%; min-width: 0; overflow-wrap: normal; word-break: keep-all; }

/* 公表額と予測期間の見取図（theme_kit.span_chart。2026-10-22 伊藤さんの別案） */
.gii-theme .gii-span { margin-top: 16px; }
.gii-theme .gii-span svg { width: 100%; height: auto; display: block; }
.gii-theme .gii-span__lg { display: flex; gap: 18px; font-size: var(--gii-font-size-13, 13px); color: var(--gii-color-gray-600); }
.gii-theme .gii-span__lg i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.gii-theme .gii-span__u { margin-left: auto; }
.gii-theme .gii-span .sp-d0, .gii-theme .gii-span .sp-c0 { background: var(--gii-x-span-start); fill: var(--gii-x-span-start); }
.gii-theme .gii-span .sp-d1 { background: var(--gii-x-span-end); }
.gii-theme .gii-span .sp-c1 { fill: var(--gii-x-span-end); }
.gii-theme .gii-span .sp-yr { font-size: 12px; fill: var(--gii-color-gray-600); }
.gii-theme .gii-span .sp-g { stroke: var(--gii-color-gray-100); }
.gii-theme .gii-span .sp-pub { font-size: 14px; fill: var(--gii-color-gray-900); }
.gii-theme .gii-span .sp-sub { font-size: 12px; fill: var(--gii-color-gray-600); }
.gii-theme .gii-span .sp-ln { stroke: var(--gii-x-span-line); stroke-width: 1.5; }
.gii-theme .gii-span .sp-v0 { font-size: 14px; fill: var(--gii-color-gray-700); }
.gii-theme .gii-span .sp-v1 { font-size: 15px; fill: var(--gii-x-span-end); font-weight: 700; }
/* 関連するテーマを、リンク先で2つのブロックに（cross_kit.related_cards(split=True)。2026-10-22 伊藤さん） */
.gii-theme .gii-rel-h { margin: 18px 0 8px; font-size: var(--gii-font-size-15); color: var(--gii-color-gray-800); }
.gii-theme .gii-rel-h:first-child { margin-top: 0; }
