/* ============================================================
   詐欺アラート研究所 — 「赤鉛筆の編集長・黒岩 誠」キャラもの刷新
   ------------------------------------------------------------
   ■ デザインシステム概要
   ・世界観: 新聞・調査報の骨格はそのまま、紙面全体を
     「編集長・黒岩誠が赤鉛筆を入れた校正刷り」として読み替える。
   ・配色:
       紙   --paper      #f6f1e3（生成り・わら半紙）
       紙深 --paper-deep #ece4cf（囲み・検印エリア下地）
       墨   --ink        #221f18（本文・罫線・題字）
       墨薄 --ink-mute   #6e6354（日付注記・欄外補足）
       朱   --vermilion  #b5402e（赤鉛筆・検印・欄外ツッコミ・キャラインク1）
       藍   --indigo     #2c4a73（見出し・カテゴリ・hover・キャラインク2）
     ※朱は紙面の5%以内・1ビューポート3点まで。検印は1ページ2個まで。
   ・フォント:
       Zen Antique（400のみ）……題字・大見出し（活版の欠けた骨格）
       Zen Kaku Gothic Antique …本文・UI（昭和写植の温度）
       Yusei Magic ……………… 黒岩の赤鉛筆書き込み「専用」。
                                  朱の注記のみに使用、本文使用は禁止。
   ・質感ルール:
       角丸は原則0（例外: 赤鉛筆丸囲み数字・検印の円形のみ）
       box-shadow / drop-shadow 全面禁止（warn の二重枠は outline 技法）
       キャラ画像（kuroiwa-*.png）は全て mix-blend-mode: multiply で
       紙に刷り込む。影は付けない。
       版ズレ・網点テクスチャは画像内に閉じる（本文へのCSS適用禁止）
   ・キャラ画像アセット（site-01/ 直下）:
       kuroiwa-standing.png  立ち絵（腕組み＋赤鉛筆）
       kuroiwa-bust.png      バストアップ小アイコン
       kuroiwa-moods.png     表情3連スプライト（左から 平常/眉ひそめ/渋面）
       kuroiwa-desk.png      編集長席ワンシーン（横長・背景つき）
   ・差別化の禁止事項: 吹き出しUI禁止（site-04）／書簡・便箋・文芸誌
     レイアウト禁止（site-06）／丸ゴ・水彩・グラデーション禁止
   ============================================================ */

:root {
  --paper:      #f6f1e3; /* 紙（生成り・わら半紙の温度）背景全面 */
  --paper-deep: #ece4cf; /* 囲み枠・編集室から・検印エリア下地 */
  --ink:        #221f18; /* 墨。本文・罫線・題字 */
  --ink-mute:   #6e6354; /* 墨・薄。日付注記・欄外補足 */
  --vermilion:  #b5402e; /* 朱赤。赤鉛筆・検印・欄外ツッコミ・キャラインク1 */
  --indigo:     #2c4a73; /* 藍。見出し・カテゴリ・hover・キャラインク2 */
  --rule:       #221f18;
  --rule-soft:  #d8cdb2;
  --rule-faint: #e2dac4;

  --maxw: 1040px;
  --read: 720px;

  --mincho: "Zen Antique", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  --gothic: "Zen Kaku Gothic Antique", -apple-system, BlinkMacSystemFont,
            "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  --hand:   "Yusei Magic", "Hiragino Maru Gothic ProN", sans-serif; /* 赤鉛筆書き込み専用 */
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; overflow-x: hidden; }

/* 折返し位置の固定用ユーティリティ */
.nowrap { white-space: nowrap; }

body {
  margin: 0;
  font-family: var(--gothic);
  font-size: 14px;
  line-height: 1.62;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip; /* 欄外ツッコミ等のはみ出し装飾でスクロールバーを出さない */
}

a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--indigo); text-decoration: underline; }

img { max-width: 100%; display: block; }

.sheet {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 20px;
}

/* ============================================================
   キャラレイヤー共通（黒岩 誠）
   ------------------------------------------------------------
   キャラ画像は必ず class="kuroiwa-img" を併用し multiply で刷り込む
   ============================================================ */
img.kuroiwa-img,
.kuroiwa-img { mix-blend-mode: multiply; }

/* --- 赤鉛筆書き込み（Yusei Magic・朱・微回転で手作業感） --------- */
.akahude {
  display: inline-block;
  font-family: var(--hand);
  font-size: 12.5px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: var(--vermilion);
  transform: rotate(-1.5deg);
}
.akahude.r2 { transform: rotate(2deg); }
.akahude.r3 { transform: rotate(-.8deg); }
.akahude.block {
  display: block;
  margin: 14px auto;
  max-width: var(--read);
  font-size: 14px;
  line-height: 1.8;
}

/* 欄外ツッコミ（主要記事1位の脇）— 広幅時のみ紙面余白へ絶対配置 */
.akahude-pin { display: block; margin: 8px 0 0; }

/* --- 検印スタンプ（CSSのみ） ------------------------------------ */
.kenin {
  display: inline-block;
  font-family: var(--mincho);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .18em;
  color: var(--vermilion);
  border: 2px solid var(--vermilion);
  padding: 2px 8px;
  transform: rotate(-3deg);
  opacity: .85;
  white-space: nowrap;
}
.kenin-mast { /* マストヘッド「黒岩検閲済」用の小型 */
  margin-left: 10px;
  font-size: 9.5px;
  border-width: 1.5px;
  padding: 0 5px;
  letter-spacing: .12em;
  vertical-align: 1px;
}
.kenin-corner { /* 枠の右上に押す位置指定（親に position:relative 必須） */
  position: absolute;
  top: 10px;
  right: 12px;
}

/* --- 赤鉛筆チェック（行頭 ✓） ----------------------------------- */
/* li に直接 class="akahude-check"、または ul に class="akahude-check" */
li.akahude-check::before,
ul.akahude-check > li::before {
  content: "✓" !important;
  font-family: var(--hand);
  color: var(--vermilion);
  background: none !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  font-size: 13px;
  line-height: 1;
  top: .35em !important;
  transform: rotate(-4deg);
}

/* --- 黒岩警戒メーター（表情スプライト＋朱ドット） ---------------- */
/* kuroiwa-moods.png＝横3連（左:平常1/中:眉ひそめ2/右:渋面3） */
.meter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  vertical-align: middle;
}
.meter-face {
  width: 40px;
  height: 40px;
  flex: none;
  background-image: url("kuroiwa-moods.png");
  background-repeat: no-repeat;
  background-size: 300% auto;
  background-position: 0% 2%; /* v2スプライト: 各コマ上端7%が透過余白のため頭から表示 */
  mix-blend-mode: multiply;
}
.meter-1 .meter-face { background-position-x: 0%; }
.meter-2 .meter-face { background-position-x: 50%; }
.meter-3 .meter-face { background-position-x: 100%; }
.meter-dots { display: inline-flex; gap: 3px; }
.meter-dots i {
  width: 7px;
  height: 7px;
  border-radius: 50%; /* 角丸禁止の例外: 検印・丸囲み系 */
  border: 1px solid var(--vermilion);
  background: transparent;
}
.meter-1 .meter-dots i:nth-child(1),
.meter-2 .meter-dots i:nth-child(-n+2),
.meter-3 .meter-dots i:nth-child(-n+3) { background: var(--vermilion); }
.meter-label {
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--ink-mute);
  white-space: nowrap;
}
.meter-sm .meter-face { width: 30px; height: 30px; }
.meter-lg .meter-face { width: 56px; height: 56px; }

/* 記事ページ report-meta 直下の警戒度表示（中央寄せ） */
.report-alert { text-align: center; margin: 12px 0 0; }
.report-alert .meter { justify-content: center; }

/* ============================================================
   マストヘッド（新聞題字部）
   ============================================================ */
.masthead { padding-top: 10px; }

.mast-top {
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 3px 2px;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--ink);
}
.mast-top .issue { font-family: var(--mincho); white-space: nowrap; }
.mast-pr {
  font-size: 10px;
  color: var(--vermilion);
  border: 1px solid var(--vermilion);
  padding: 0 5px;
  letter-spacing: .12em;
  white-space: nowrap;
}

.mast-title-row {
  text-align: center;
  padding: 22px 0 14px;
  position: relative;
}
.mast-title {
  font-family: var(--mincho);
  font-size: 44px;
  font-weight: 400; /* Zen Antique は 400 のみ。擬似ボールド禁止 */
  letter-spacing: .26em;
  text-indent: .26em; /* 字間ぶんの右寄り補正 */
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.mast-title:hover { color: var(--ink); text-decoration: none; }
.mast-seal { width: 40px; height: 40px; flex: 0 0 auto; }
.mast-tagline {
  margin: 8px 0 0;
  font-family: var(--mincho);
  font-size: 11.5px;
  letter-spacing: .34em;
  color: var(--ink-mute);
}

.mast-nav {
  border-top: 1px solid var(--rule);
  border-bottom: 3px double var(--rule);
  text-align: center;
  padding: 6px 0;
  font-size: 12.5px;
  letter-spacing: .14em;
}
.mast-nav a {
  display: inline-block;
  padding: 0 18px;
  color: var(--ink);
}
.mast-nav a + a { border-left: 1px solid var(--rule-soft); }
.mast-nav a.active { font-weight: 700; color: var(--indigo); }
.mast-nav a:hover { color: var(--indigo); }

/* ============================================================
   共通パーツ
   ============================================================ */
.kicker {
  display: inline-block;
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--indigo);
  border: 1px solid var(--indigo);
  padding: 1px 8px;
  margin-bottom: 8px;
}

.stamp {
  display: inline-block;
  font-family: var(--mincho);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--vermilion);
  border: 1.5px solid var(--vermilion);
  padding: 2px 9px 2px 11px;
}

.date-note {
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .06em;
}

.section-rule {
  font-family: var(--mincho);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: .1em;
  color: var(--ink);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule-soft);
  padding: 7px 2px;
  margin: 0 0 18px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.section-rule .to-index {
  font-family: var(--gothic);
  font-size: 11.5px;
  letter-spacing: .1em;
  color: var(--ink-mute);
}

/* ============================================================
   一面（index）
   ============================================================ */
.frontpage { padding: 26px 0 8px; }

.front-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1fr);
  gap: 0 28px;
  align-items: start;
}

/* 左カラム（リード記事＋編集室から を縦に積む） */
.front-left { padding-right: 28px; border-right: 1px solid var(--rule-soft); }
.front-left > .column-box { margin: 26px 0 0; }
.lead-story .headline {
  font-family: var(--mincho);
  font-size: 37px;
  font-weight: 400;
  line-height: 1.46;
  letter-spacing: .06em;
  margin: 6px 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rule-soft);
}
/* 大見出しは文節で折り返す（Chrome系。非対応環境はHTML側の <wbr> が効く） */
.report-head h1,
.lead-story .headline,
.top-stories a.ts-title {
  word-break: auto-phrase;
  text-wrap: balance;
}
.lead-story .headline a { color: var(--ink); }
/* 赤鉛筆風の波線下線（hover時のみ・朱） */
.lead-story .headline a:hover,
.ji h3 a:hover,
.top-stories a.ts-title:hover {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--vermilion);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}
/* リード文は紙面らしく2段組で */
.lead-story .lead-text {
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.95;
  columns: 2;
  column-gap: 26px;
  column-rule: 1px solid var(--rule-faint);
  text-align: justify;
}
.lead-story .continue {
  display: inline-block;
  font-size: 12.5px;
  letter-spacing: .1em;
  color: var(--indigo);
  border: 1px solid var(--rule-soft);
  padding: 5px 14px;
}

/* 立ち絵つきリード（黒岩が段間罫をまたいで立つ。足元罫＋一言＋名札つき） */
.lead-story.with-kuroiwa { position: relative; padding-right: 152px; }
.kuroiwa-side {
  position: absolute;
  top: 2px;
  right: -24px; /* 段間罫をまたがせる */
  width: 150px;
  margin: 0;
}
.kuroiwa-side img {
  width: 86%;
  height: auto;
  margin: 0 auto;
  mix-blend-mode: multiply;
  pointer-events: none;
}
/* 足元の罫で接地させ、その下に赤鉛筆の一言と名札 */
.kuroiwa-side figcaption {
  border-top: 1px solid var(--rule-soft);
  margin-top: -2px;
  padding-top: 7px;
}
.kuroiwa-word {
  display: block;
  font-family: var(--hand);
  font-size: 12px;
  line-height: 1.55;
  color: var(--vermilion);
  transform: rotate(-1.2deg);
}
.kuroiwa-name {
  display: block;
  margin-top: 5px;
  font-size: 9.5px;
  letter-spacing: .14em;
  color: var(--ink-mute);
}

/* 主要記事（右列） */
.top-stories h2 {
  font-family: var(--mincho);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0 0 4px;
  padding: 5px 2px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  text-align: center;
}
.top-stories ol { list-style: none; margin: 0; padding: 0; counter-reset: ts; }
.top-stories li {
  counter-increment: ts;
  position: relative;
  padding: 11px 2px 12px 34px;
  border-bottom: 1px dotted var(--rule-soft);
}
.top-stories li:last-child { border-bottom: 1px solid var(--rule-soft); }
/* 赤鉛筆の丸囲み数字（角丸禁止の例外） */
.top-stories li::before {
  content: counter(ts);
  position: absolute;
  left: 2px;
  top: 13px;
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--vermilion);
  border-radius: 50%;
  color: var(--vermilion);
  font-family: var(--hand);
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  transform: rotate(-4deg);
  opacity: .85;
}
.top-stories li:nth-child(even)::before { transform: rotate(3deg); }
.top-stories .cat {
  font-size: 10.5px;
  letter-spacing: .16em;
  color: var(--indigo);
  display: block;
  margin-bottom: 3px;
}
.top-stories a.ts-title {
  font-family: var(--mincho);
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.5;
  display: block;
}
.top-stories .meter { margin: 5px 0 1px; }
.top-stories .date-note { display: block; margin-top: 4px; }
.top-stories .ts-note {
  display: block;
  font-size: 11.5px;
  color: var(--ink-mute);
  line-height: 1.55;
  margin: 3px 0 1px;
}

/* 意図的に一部リンクのみ下線（黒岩の赤鉛筆下線） */
a.u {
  text-decoration: underline;
  text-decoration-color: var(--vermilion);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: none;
}

/* 段組（残り記事） */
.paper-section { padding: 26px 0 6px; }
.paper-columns {
  columns: 2;
  column-gap: 30px;
  column-rule: 1px solid var(--rule-soft);
}
.ji {
  break-inside: avoid;
  padding: 2px 0 14px;
  margin-bottom: 14px;
  border-bottom: 1px dotted var(--rule-soft);
}
.ji h3 {
  font-family: var(--mincho);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .04em;
  margin: 5px 0 7px;
}
.ji p { margin: 0 0 7px; font-size: 13px; line-height: 1.66; color: #2b2924; }

/* 編集室から（黒岩編集長の席） */
.column-box {
  position: relative;
  border: 1px solid var(--rule);
  outline: 1px solid var(--rule);
  outline-offset: 2px;
  padding: 16px 18px;
  margin: 24px 0 30px;
  background: var(--paper-deep);
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.column-box .col-face { width: 56px; flex: none; margin-top: 2px; }
.column-box h3 {
  font-family: var(--mincho);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0 0 6px;
}
.column-box p { margin: 0 0 6px; font-size: 12.5px; line-height: 1.7; }
.column-box .col-sign {
  font-family: var(--mincho);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--ink-mute);
}
.column-box a { color: var(--indigo); }

/* 更新履歴（一面の欄外） */
.updates {
  border-top: 1px solid var(--rule);
  margin: 0 0 32px;
  padding-top: 10px;
}
.updates h3 {
  font-family: var(--mincho);
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0 0 6px;
}
.updates ul { list-style: none; margin: 0; padding: 0; }
.updates li {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: var(--ink-mute);
  border-bottom: 1px dotted var(--rule-faint);
  padding: 5px 2px;
  line-height: 1.6;
}
.updates li span {
  font-family: var(--mincho);
  color: var(--ink);
  white-space: nowrap;
  min-width: 7.5em;
}
/* 訂正・追記系の行頭だけ赤鉛筆チェック（flex先頭に入る） */
.updates li.akahude-check::before { margin-right: -4px; align-self: center; }

/* ============================================================
   縮刷版・記事一覧（articles）
   ============================================================ */
.page-title-block {
  text-align: center;
  padding: 30px 0 18px;
}
.page-title-block h1 {
  font-family: var(--mincho);
  font-size: 27px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 8px 0 8px;
}
/* h1 の右脇に置く黒岩バストアップ（img を h1 内に置く） */
.page-title-block .title-face {
  display: inline-block;
  width: 44px;
  vertical-align: -14px;
  margin-left: 10px;
}
.page-title-block p {
  margin: 0 auto;
  max-width: 620px;
  font-size: 13px;
  color: var(--ink-mute);
}

.archive-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid var(--rule);
  border-bottom: 2px solid var(--rule);
  margin: 6px 0 14px;
}
.archive-table th {
  font-family: var(--mincho);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .2em;
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--rule);
  background: var(--paper-deep);
  white-space: nowrap;
}
.archive-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--rule-faint);
  vertical-align: top;
  font-size: 13px;
}
.archive-table tr:last-child td { border-bottom: none; }
.archive-table .a-date {
  white-space: nowrap;
  font-size: 12px;
  color: var(--ink-mute);
  letter-spacing: .04em;
}
.archive-table .a-cat { white-space: nowrap; }
.archive-table .a-cat > span:first-child {
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--indigo);
  border: 1px solid var(--indigo);
  padding: 1px 7px;
  display: inline-block;
}
/* カテゴリタグ下の警戒メーター（顔＋朱ドット。ラベルは省略可） */
.archive-table .a-cat .meter { display: flex; margin-top: 7px; }
/* 一覧の見出しリンクは素朴な青リンクのままにしている（手作業の不統一） */
.archive-table .a-title a {
  font-family: var(--mincho);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #1a0dab;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.archive-table .a-title a:hover { color: #0b2447; }
.archive-table .a-title .a-sub {
  display: block;
  font-size: 12px;
  color: var(--ink-mute);
  margin-top: 3px;
}
.archive-note {
  font-size: 11.5px;
  color: var(--ink-mute);
  margin: 0 0 10px;
}
.archive-note a { color: var(--indigo); text-decoration: underline; }
/* archive-note 脇の欄外ツッコミは <p class="akahude r3 archive-aka"> で */
.archive-aka { margin: 0 0 30px; max-width: 560px; }

/* ============================================================
   記事ページ（中央1カラムの読み物）
   ============================================================ */
.report {
  max-width: var(--read);
  margin: 0 auto;
  padding: 34px 20px 10px;
}

.report-head { text-align: center; margin-bottom: 26px; }
.report-head .stamp { margin-bottom: 14px; }
.report-head h1 {
  font-family: var(--mincho);
  font-size: 29px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .08em;
  margin: 10px 0 16px;
}
.report-meta {
  display: inline-block;
  border-top: 1px solid var(--rule-soft);
  border-bottom: 1px solid var(--rule-soft);
  padding: 5px 14px;
  font-size: 11.5px;
  color: var(--ink-mute);
  letter-spacing: .08em;
}
.report-meta span + span::before { content: "｜"; margin: 0 6px; color: var(--rule-soft); }

.report-body { font-size: 15px; line-height: 1.78; }
.report-body p { margin: 0 0 16px; }

.report-body h2 {
  font-family: var(--mincho);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.5;
  margin: 36px 0 14px;
  padding: 8px 2px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule-soft);
}
.report-body h3 {
  font-family: var(--mincho);
  font-size: 16.5px;
  font-weight: 400;
  letter-spacing: .08em;
  margin: 26px 0 10px;
  padding-left: 12px;
  border-left: 3px solid var(--indigo);
}

.report-body ul { margin: 0 0 16px; padding-left: 4px; list-style: none; }
.report-body ul li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 6px;
}
.report-body ul li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: .62em;
  width: 6px;
  height: 6px;
  background: var(--indigo);
}
.report-body ul.checklist li::before {
  background: none;
  border: 1px solid var(--ink);
  width: 8px;
  height: 8px;
  top: .5em;
}

/* 囲み（注意・要点・欄外注） */
.callout {
  border: 1px solid var(--rule);
  padding: 14px 16px;
  margin: 22px 0;
  font-size: 13px;
  line-height: 1.72;
  background: var(--paper-deep);
}
.callout .ct-title {
  display: block;
  font-family: var(--mincho);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .18em;
  margin-bottom: 6px;
  color: var(--indigo);
}
/* 二重枠は outline 技法（box-shadow 禁止のため） */
.callout.warn {
  position: relative;
  outline: 1px solid var(--rule);
  outline-offset: 3px;
  margin: 26px 6px;
}
.callout.warn .ct-title { color: var(--vermilion); }
/* 「注意」バッジは検印風（朱・傾き） */
.callout.warn .ct-title::before {
  content: "注意";
  display: inline-block;
  font-size: 10px;
  border: 2px solid var(--vermilion);
  padding: 1px 5px;
  margin-right: 10px;
  letter-spacing: .2em;
  vertical-align: 1px;
  transform: rotate(-3deg);
  opacity: .85;
}
/* warn 枠の左外に立つ渋面の黒岩（moods スプライト右端） */
.warn-face {
  position: absolute;
  left: -88px;
  top: -26px;
  width: 100px;
  height: 124px;
  background-image: url("kuroiwa-moods.png");
  background-repeat: no-repeat;
  background-size: 300% auto;
  background-position: 100% 8%; /* v2スプライト実測（図上端7%）に合わせ頭上余白を最小化 */
  mix-blend-mode: multiply;
  pointer-events: none;
}
/* callout.point は藍で静かに */
.callout.point { border-color: var(--indigo); }

/* 欄外注 → 黒岩の赤入れ欄（赤鉛筆の手書き・朱・左太罫） */
.note-aside {
  border-left: 3px solid var(--vermilion);
  padding: 8px 4px 8px 14px;
  margin: 22px 0;
  font-family: var(--hand);
  font-size: 13px;
  color: var(--vermilion);
  line-height: 1.78;
  transform: rotate(-.4deg);
}
.note-aside::before {
  content: "〔黒岩の赤入れ〕";
  font-family: var(--mincho);
  font-size: 11.5px;
  margin-right: 6px;
  color: var(--ink);
  letter-spacing: .08em;
}
.note-aside b { color: var(--vermilion); font-weight: 700; }

/* 追記・訂正（運営の痕跡）— 朱の点線枠 */
.postscript {
  border: 1px dashed var(--vermilion);
  background: var(--paper-deep);
  padding: 11px 14px;
  margin: 22px 0;
  font-size: 12.5px;
  line-height: 1.72;
  color: var(--ink);
}
.postscript b {
  font-family: var(--mincho);
  font-weight: 400;
  color: var(--indigo);
  margin-right: 4px;
}
/* 追記の行頭に赤鉛筆チェック（マークアップ変更不要で自動付与） */
.postscript::before {
  content: "✓";
  display: inline-block;
  font-family: var(--hand);
  font-size: 13px;
  color: var(--vermilion);
  margin-right: 6px;
  transform: rotate(-4deg);
}

/* まとめ（h2 の上に赤鉛筆の二重丸◎） */
.summary-box {
  border-top: 3px double var(--rule);
  border-bottom: 3px double var(--rule);
  padding: 14px 6px 8px;
  margin: 34px 0 26px;
}
.summary-box h2 {
  font-family: var(--mincho);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0 0 10px;
  padding: 0;
  border: none;
  text-align: center;
}
.summary-box h2::before {
  content: "◎";
  display: block;
  font-family: var(--hand);
  font-size: 17px;
  line-height: 1.2;
  color: var(--vermilion);
  transform: rotate(-6deg);
  margin-bottom: 2px;
}
.summary-box ul { margin-bottom: 8px; }

/* バイライン（取材・文／黒岩の顔つき） */
.byline-block {
  border-top: 1px solid var(--rule);
  margin-top: 30px;
  padding: 16px 2px 6px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.byline-block .by-face { width: 44px; flex: none; }
.byline-block .by-name {
  font-family: var(--mincho);
  font-size: 14px;
  letter-spacing: .12em;
}
.byline-block .by-role {
  display: block;
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .08em;
  margin-top: 2px;
}
.byline-block .by-link { margin-left: auto; font-size: 11.5px; color: var(--indigo); white-space: nowrap; }

/* 関連調査 */
.related {
  margin: 26px 0 36px;
  border-top: 1px solid var(--rule-soft);
  padding-top: 12px;
}
.related h2 {
  font-family: var(--mincho);
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: .1em;
  margin: 0 0 8px;
  padding: 0;
  border: none;
}
.related ul { list-style: none; margin: 0; padding: 0; }
.related li {
  border-bottom: 1px dotted var(--rule-faint);
  padding: 7px 2px;
  font-size: 13px;
}
.related li a { color: #1a0dab; text-decoration: underline; text-underline-offset: 2px; }
.related li a:hover { color: #0b2447; }
.related li::before { content: "▶"; font-size: 9px; color: var(--indigo); margin-right: 8px; vertical-align: 1px; }

/* パンくず（罫線下の小さな所在表示） */
.crumbs {
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .06em;
  padding: 8px 0 0;
}
.crumbs a { color: var(--ink-mute); text-decoration: underline; }

/* ============================================================
   当研究所について（奥付・組織概要）
   ============================================================ */
.about-wrap { max-width: var(--read); margin: 0 auto; padding: 0 20px 10px; }

/* 編集長席の様子（kuroiwa-desk.png。about冒頭） */
.desk-scene {
  max-width: var(--read);
  margin: 28px auto 8px;
  padding: 0 20px;
}
/* 手元のアーティファクトが画面外になるよう上半身トリミング */
.desk-scene img {
  width: 100%;
  aspect-ratio: 5 / 2;
  object-fit: cover;
  object-position: center 12%;
  mix-blend-mode: multiply;
}
.desk-caption {
  text-align: center;
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .08em;
  margin: 6px 0 0;
}

.org-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--rule);
  margin: 8px 0 30px;
  font-size: 13px;
}
.org-table th {
  font-family: var(--mincho);
  font-weight: 400;
  letter-spacing: .14em;
  text-align: left;
  white-space: nowrap;
  width: 9em;
  padding: 10px 14px;
  border-bottom: 1px solid var(--rule-faint);
  border-right: 1px solid var(--rule);
  background: var(--paper-deep);
  vertical-align: top;
}
.org-table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--rule-faint);
  line-height: 1.7;
}
.org-table tr:last-child th,
.org-table tr:last-child td { border-bottom: none; }

.about-wrap h2 {
  font-family: var(--mincho);
  font-size: 19px;
  font-weight: 400;
  letter-spacing: .14em;
  margin: 34px 0 14px;
  padding: 8px 2px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule-soft);
}
.about-wrap p { font-size: 14px; line-height: 1.78; margin: 0 0 14px; }

/* 主筆プロフィール（with-kuroiwa で立ち絵2カラム化） */
.profile-row {
  border: 1px solid var(--rule);
  padding: 18px;
  margin: 6px 0 8px;
  background: var(--paper-deep);
}
.profile-row.with-kuroiwa {
  display: flex;
  gap: 22px;
  align-items: flex-start;
}
/* about の主筆絵は moods スプライト1コマ目（湯呑み）を大判で。一面の立ち絵と差別化 */
.profile-row .profile-mood {
  width: 190px;
  height: 240px;
  flex: none;
  background-image: url("kuroiwa-moods.png");
  background-repeat: no-repeat;
  background-size: 300% auto;
  background-position: 0% 12%; /* v2スプライト実測（図上端7%）基準 */
  mix-blend-mode: multiply;
}
.profile-row .org-table { margin: 12px 0 0; font-size: 12.5px; }
.profile-row .org-table th { width: 6.5em; background: transparent; padding: 7px 12px; }
.profile-row .org-table td { padding: 7px 12px; }
.profile-row .kenin { margin-bottom: 8px; }
.profile-row .p-name {
  font-family: var(--mincho);
  font-size: 19px;
  letter-spacing: .14em;
  margin: 0 0 2px;
}
.profile-row .p-name .ruby { font-size: 11px; color: var(--ink-mute); margin-left: 8px; letter-spacing: .1em; }
.profile-row .p-role { font-size: 11.5px; color: var(--indigo); letter-spacing: .12em; margin: 0 0 8px; }
.profile-row p { font-size: 13px; line-height: 1.72; margin: 0 0 8px; }
.profile-row .p-note { font-size: 11px; color: var(--ink-mute); margin: 0; }

/* 警戒度図鑑（about）— 3段階の凡例 */
.meter-legend { list-style: none; margin: 0 0 16px; padding: 0; border-top: 1px solid var(--rule); }
.meter-legend li {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 13px 2px;
  border-bottom: 1px dotted var(--rule-soft);
}
.meter-legend .meter { flex: none; min-width: 158px; }
.meter-legend p { margin: 0; font-size: 13px; line-height: 1.7; }
.meter-legend strong {
  display: block;
  font-family: var(--mincho);
  font-weight: 400;
  letter-spacing: .06em;
}

.principles { list-style: none; margin: 0 0 16px; padding: 0; counter-reset: pr; }
.principles li {
  counter-increment: pr;
  border-bottom: 1px dotted var(--rule-faint);
  padding: 10px 2px 10px 40px;
  position: relative;
  font-size: 13.5px;
  line-height: 1.7;
}
.principles li::before {
  content: counter(pr, cjk-ideographic);
  font-family: var(--mincho);
  position: absolute;
  left: 4px;
  top: 10px;
  width: 24px;
  height: 24px;
  border: 1px solid var(--indigo);
  color: var(--indigo);
  text-align: center;
  line-height: 24px;
  font-size: 13px;
}
.principles strong { display: block; font-family: var(--mincho); font-weight: 400; letter-spacing: .06em; }

.about-wrap ul.plain { list-style: none; margin: 0 0 16px; padding: 0; }
.about-wrap ul.plain li {
  position: relative;
  padding: 6px 2px 6px 18px;
  border-bottom: 1px dotted var(--rule-faint);
  font-size: 13.5px;
}
.about-wrap ul.plain li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: .95em;
  width: 7px;
  height: 7px;
  border: 1px solid var(--ink);
}
/* 「ここではやらないこと」用：行頭を赤鉛筆の×印に（ul.plain.batsu） */
.about-wrap ul.plain.batsu li::before {
  content: "×";
  font-family: var(--hand);
  color: var(--vermilion);
  border: none;
  width: auto;
  height: auto;
  top: .35em;
  font-size: 14px;
  line-height: 1;
  transform: rotate(-4deg);
}

/* 沿革（粒度はあえて不揃い。年号は朱） */
.enkaku { list-style: none; margin: 0 0 16px; padding: 0; }
.enkaku li {
  display: flex;
  gap: 14px;
  border-bottom: 1px dotted var(--rule-faint);
  padding: 8px 2px;
  font-size: 13px;
  line-height: 1.65;
}
.enkaku li span {
  font-family: var(--mincho);
  color: var(--vermilion);
  white-space: nowrap;
  min-width: 6.5em;
  letter-spacing: .04em;
}

.read-first {
  margin: 30px 0 36px;
  border-top: 1px solid var(--rule-soft);
  padding-top: 12px;
  font-size: 13px;
}
.read-first a { color: var(--indigo); text-decoration: underline; font-family: var(--mincho); font-weight: 400; }

/* ============================================================
   奥付フッター（決めゼリフつき）
   ============================================================ */
.colophon {
  margin-top: 36px;
  border-top: 3px double var(--rule);
  padding: 22px 20px 26px;
  text-align: center;
}
/* colophon-title の上：黒岩の顔＋決めゼリフ */
.colophon-kuroiwa {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 12px;
}
.colophon-kuroiwa img { width: 48px; mix-blend-mode: multiply; }
.colophon-kuroiwa .akahude { font-size: 14px; }
.colophon-title {
  font-family: var(--mincho);
  font-size: 17px;
  letter-spacing: .1em;
  margin-bottom: 8px;
}
.colophon-nav { font-size: 11.5px; letter-spacing: .1em; margin-bottom: 12px; }
.colophon-nav a { color: var(--ink); padding: 0 4px; }
.colophon-nav a:hover { color: var(--indigo); }
.colophon-note {
  font-size: 11px;
  color: var(--ink-mute);
  letter-spacing: .08em;
  margin: 0 0 10px;
}
.colophon-disclaimer {
  max-width: 760px;
  margin: 0 auto 12px;
  font-size: 10.5px;
  line-height: 1.7;
  color: var(--ink-mute);
  text-align: left;
  border-top: 1px solid var(--rule-faint);
  border-bottom: 1px solid var(--rule-faint);
  padding: 8px 4px;
}
.colophon-copy { font-size: 10.5px; color: var(--ink-mute); letter-spacing: .1em; margin: 0; }

/* ============================================================
   レスポンシブ
   ============================================================ */

/* 広幅時のみ：主要記事1位の欄外ツッコミを紙面右余白へ */
@media (min-width: 1366px) {
  .top-stories .akahude-pin {
    position: absolute;
    left: calc(100% + 18px);
    top: 10px;
    width: 150px;
    margin: 0;
  }
}

@media (max-width: 860px) {
  .mast-title { font-size: 32px; letter-spacing: .18em; text-indent: .18em; gap: 10px; }
  .mast-seal { width: 30px; height: 30px; }
  .front-grid { grid-template-columns: 1fr; }
  .front-left { padding-right: 0; border-right: none; }
  .front-left > .column-box { margin: 20px 0; }
  .lead-story { border-bottom: 1px solid var(--rule-soft); padding-bottom: 18px; }
  .lead-story.with-kuroiwa { padding-right: 0; }
  .kuroiwa-side {
    position: static;
    width: 160px;
    margin: 14px auto 0;
  }
  .kuroiwa-side figcaption { text-align: center; }
  .lead-story .headline { font-size: 25px; }
  .lead-story .lead-text { columns: 1; }
  .paper-columns { columns: 1; }
  .column-box { flex-wrap: wrap; }
  /* warn 横の渋面は枠上に縮小静的配置 */
  .warn-face {
    position: static;
    display: block;
    width: 72px;
    height: 76px;
    margin: 0 auto 8px;
  }
  .profile-row.with-kuroiwa { flex-wrap: wrap; justify-content: center; }
  .profile-row .profile-mood { width: 160px; height: 200px; }
}

@media (max-width: 600px) {
  body { font-size: 13.5px; }
  .mast-top { flex-wrap: wrap; row-gap: 2px; font-size: 10px; }
  .mast-top .issue { white-space: normal; }
  .mast-top-desc { display: none; } /* モバイルは号数＋発行日＋検印だけ残す */
  .mast-title { font-size: 25px; letter-spacing: .12em; text-indent: .12em; }
  .mast-tagline { letter-spacing: .1em; }
  .mast-nav a { padding: 0 10px; font-size: 11.5px; }
  .kenin-mast { font-size: 8.5px; margin-left: 6px; }
  .report-head h1 { font-size: 22px; }
  .report-body h2 { font-size: 17.5px; }
  .archive-table th:nth-child(2),
  .archive-table td:nth-child(2) { display: none; } /* 縮刷版は更新日列を畳む */
  .archive-table td, .archive-table th { padding: 9px 7px; }
  .org-table th { width: 7em; padding: 8px 10px; }
  .byline-block { flex-wrap: wrap; }
  .byline-block .by-link { margin-left: 0; width: 100%; }
  /* 警戒メーターは顔＋朱ドット（ラベルのみ非表示。警戒度情報は残す） */
  .meter .meter-label { display: none; }
  .meter-legend .meter { min-width: 0; }
  .meter-legend li { gap: 12px; }
  /* 検印は1ページ1個まで（マストヘッドの「黒岩検閲済」を残す） */
  .kenin-corner,
  .profile-row .kenin { display: none; }
  .page-title-block .title-face { width: 36px; vertical-align: -11px; }
}
