/* ============================================================
   GEAR ECHO ── 人物名鑑（jinbutsu）共通スタイル
   ・機材記事の gear-echo.css とは別（人物名鑑ページ専用）
   ・ヘッダー / プロフィール / 世界の声 / 動画 / 代表機材 / ゴン太吹き出し
   ・色は全人物共通（--pv 紫系）。個別に変えたい場合は本文側で上書き
   ============================================================ */

/* 国旗絵文字フォント（Windows等は標準で国旗を出せないため補う） */
@font-face{
  font-family:'Twemoji Country Flags';
  src:url('TwemojiCountryFlags.woff2') format('woff2');
  font-display:swap;
  unicode-range:U+1F1E6-1F1FF;
}

:root{
  --gold:#d4a017;
  --ink:#282e30;
  --cream:#faf7f1;
  /* 人物名鑑ヘッダー：サイト共通の紫×白（全人物共通・人物ごとに変えない） */
  --pv:#7b3ff2;       /* メインパープル */
  --pv-deep:#5a2db0;
  --pv-light:#b98cff;
  --paw:#c9b3f5;      /* 足跡カラー（淡紫） */
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
.jb-wrap{
  max-width:820px;
  margin:0 auto;
  padding:0 16px 60px;
}

/* ============ ヘッダー（固定・全ページ共通・紫×白） ============ */
.jb-hero{
  position:relative;
  margin:0 -16px 26px;
  padding:40px 26px 18px;
  min-height:230px;
  background:linear-gradient(160deg,#ffffff 0%,#f3eefe 100%);
  border-bottom:1px solid #e6ddf7;
  overflow:hidden;
}
.jb-hero-bar{
  position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--pv),var(--pv-light),var(--pv));
}
.jb-hero-inner{
  position:relative;z-index:3;max-width:60%;
}
.jb-name-en{
  font-size:clamp(2.6rem,9vw,3.8rem);
  font-weight:900;line-height:1.02;letter-spacing:.01em;
  font-style:italic;
  color:#241a3a;
  margin:0;
}
.jb-name-en em{color:var(--pv);font-style:italic;}
.jb-name-kana{
  font-size:clamp(.95rem,3.4vw,1.1rem);
  font-weight:500;letter-spacing:.14em;
  color:#6a5f80;
  margin:9px 0 0;
}
/* 足跡（犬の肉球・右エリア内で記事方向へ降下・名前に被らない） */
/* ゴン太シルエット（ヘッダー右・名前に被らない・淡紫#c9b3f5の後ろ姿） */
.jb-gonta-sil{
  position:absolute;z-index:2;pointer-events:none;
  right:24px;bottom:0;
  width:118px;height:auto;
  opacity:.9;
}

/* ============ セクション見出し ============ */
.jb-sec{margin:40px 0 0;}
.jb-sec-head{
  display:flex;align-items:baseline;gap:8px;
  border-bottom:3px solid var(--gold);
  padding-bottom:1px;margin-bottom:18px;
  line-height:1;          /* 1.1→1 まで落とす */
}
.jb-sec-num{
  font-size:1.15rem;font-weight:900;color:#1a1a1a;
}
.jb-sec-num::after{content:".";}
.jb-sec-title{font-size:1.15rem;font-weight:900;margin:0;color:#1a1a1a;white-space:nowrap;}
/* Cocoon既定のh2装飾（グレー箱）を無効化。金ライン見出しのみ残す。
   Cocoonの .entry-content h2 に勝つため .single-jinbutsu で加点 */
.single-jinbutsu .jb-sec-title{background:none;border:none;padding:0;}
.jb-sec-en{font-size:.72rem;letter-spacing:.12em;color:#9a9a92;margin-left:auto;}
.jb-sec-pr{font-size:.64rem;letter-spacing:.02em;color:#b7b0a2;margin-left:auto;white-space:nowrap;}

/* ============ ① プロフィール ============ */
.jb-profile{display:flex;gap:22px;align-items:flex-start;}
.jb-profile-tbl{flex:1 1 auto;min-width:0;}
.jb-profile-tbl table{width:100%;border-collapse:collapse;font-size:.92rem;}
.jb-profile-tbl th{
  text-align:left;white-space:nowrap;vertical-align:middle;
  color:#7a7a72;font-weight:700;
  padding:9px 14px 9px 6px;width:5.5em;
  border-bottom:1px solid #ece7dd;
}
.jb-profile-tbl td{
  padding:9px 0;
  border-bottom:1px solid #ece7dd;
}
/* 改行後の全角括弧行を1行目の左端に揃える（開き括弧の左アキを詰める） */
.jb-paren{display:inline-block;margin-left:-0.5em;text-indent:0;}
.jb-profile-photo{
  flex:0 0 190px;
}
.jb-photo{
  width:100%;border-radius:8px;overflow:hidden;
  background:#eee6d8;aspect-ratio:3/4;
  display:flex;align-items:center;justify-content:center;
  color:#b6ab97;font-size:.72rem;text-align:center;
  border:1px solid #e6ddcc;
}
.jb-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.jb-photo-cap{
  font-size:.66rem;color:#a89e8c;margin-top:5px;line-height:1.5;
}
.jb-bio{
  margin:18px 0 0;font-size:.92rem;line-height:1.9;
}

/* ============ ② 世界の声 ============ */
.jb-voice-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.jb-voice{
  background:#fff;border:1px solid #ece7dd;border-radius:10px;
  border-left:3px solid var(--gold);
  padding:16px 18px;
  position:relative;
  display:flex;flex-direction:column;justify-content:flex-start;
}
.jb-voice-head{
  display:flex;align-items:center;gap:8px;margin-bottom:9px;
}
.jb-voice-flag{font-family:'Twemoji Country Flags',sans-serif;font-size:1.35rem;line-height:1;}
.jb-voice-src{
  font-size:.7rem;font-weight:700;letter-spacing:.04em;
  color:#b07a3a;
  background:#fbf4ea;border:1px solid #f0e2cf;border-radius:4px;
  padding:2px 8px;
}
.jb-voice-text{font-size:.9rem;line-height:1.8;margin:0;}

/* 巨匠証言の署名（媒体名は上部タグ・人物名はカード右下に固定） */
.jb-voice-by{
  margin:auto 0 0;
  text-align:right;
  font-size:.78rem;font-weight:700;
  color:var(--pv);font-style:italic;
}

/* ゴン太 吹き出し（トリビア案内役・カード合間に小さく） */
.jb-gon{
  display:flex;gap:8px;align-items:center;
  background:linear-gradient(180deg,#fff8f0,#fef2e6);
  border:1px dashed #f0b895;border-radius:12px;
  padding:13px 16px 13px 4px;
}
/* ②世界の声グリッド内に置く時は全幅化 */
.jb-voice-grid > .jb-gon{grid-column:1 / -1;}
/* ①プロフィール等・単独ブロックで置く時の上マージン */
.jb-gon.jb-gon-solo{margin-top:18px;}
.jb-gon-face{
  flex:0 0 auto;width:84px;height:84px;
  display:flex;align-items:flex-end;justify-content:center;
  font-size:1.4rem;
}
/* 透過ゴン太イラスト（丸枠なし・そのまま表示） */
.jb-gon-face img{width:100%;height:100%;object-fit:contain;display:block;}
.jb-gon-body{flex:1 1 auto;min-width:0;font-size:.85rem;line-height:1.75;}
.jb-gon-body .jb-gon-name{
  font-weight:800;color:#c25b28;font-size:.74rem;
  letter-spacing:.04em;display:block;margin-bottom:2px;
}
.jb-gon-pt{color:#c25b28;font-style:italic;font-weight:700;}

/* ============ ③ 動画 ============ */
.jb-video-frame{
  position:relative;width:100%;aspect-ratio:16/9;
  background:#000;border-radius:10px;overflow:hidden;cursor:pointer;
}
.jb-video-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.82;}
.jb-video-frame iframe{width:100%;height:100%;border:0;display:block;}
.jb-yt-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
.jb-yt-play .btn{
  width:64px;height:44px;border-radius:11px;
  background:rgba(230,30,30,.92);position:relative;
}
.jb-yt-play .btn::after{
  content:"";position:absolute;top:50%;left:50%;
  transform:translate(-40%,-50%);
  border-style:solid;border-width:10px 0 10px 17px;
  border-color:transparent transparent transparent #fff;
}
.jb-video-cap{font-size:.78rem;color:#8a8378;margin-top:8px;}

/* ============ ④ 代表機材 ============ */
.jb-gear-list{
  list-style:none;padding:0;margin:0;
  display:grid;gap:10px;
}
.jb-gear-list li{
  background:#fff;border:1px solid #ece7dd;border-radius:8px;
  padding:13px 16px;display:block;
}
.jb-gear-cat{
  display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.06em;
  color:#fff;background:var(--pv-deep);border-radius:4px;
  padding:3px 9px;white-space:nowrap;margin-bottom:8px;
}
.jb-gear-name{font-size:.92rem;font-weight:600;display:block;}
.jb-gear-note{font-size:.82rem;color:#8a8378;display:block;margin-top:3px;line-height:1.6;}

.jb-foot{
  border-top:1px solid #ece7dd;margin-top:34px;padding-top:16px;
  font-size:.74rem;color:#a89e8c;line-height:1.7;
}

/* ============ レスポンシブ（600px） ============ */
@media (max-width:600px){
  .jb-hero-inner{max-width:100%;}
  .jb-gonta-sil{width:76px;right:6px;opacity:.4;}
  .jb-profile{flex-direction:column;}
  .jb-profile-photo{flex:0 0 auto;width:100%;max-width:240px;margin:0 auto;}
  .jb-voice-grid{grid-template-columns:1fr;}
}
/* === 略歴の可読性改善（A＋B） === */
.jb-bio{
  font-size:15px;
  line-height:1.95;
  letter-spacing:.02em;
  text-align:left;      /* justify解除：字間のガタつき除去 */
}
.jb-bio + .jb-bio{ margin-top:1em; }  /* 段落分割時の段間 */
/* 人物名鑑：WP自動タイトルを非表示（ヒーロー内の名前と重複するため） */
.single-jinbutsu .entry-title{ display:none; }
/* 人物名鑑：投稿日メタも非表示 */
.single-jinbutsu .date-tags{ display:none; }