:root{
  --green-900:#0E4335;--green-800:#145A46;--green-700:#1B7059;--green-600:#23846A;--green-500:#2AA07E;--green-300:#7FD3B7;
  --bg:#ffffff;--text:#0b1320;--border:#e5eef7;--muted:#4d5b6a;--glass-bg:rgba(255,255,255,.92);
  --shadow:0 10px 30px rgba(5,17,33,.12);
  --ff-text:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',sans-serif
}

/* ========== 基本 ========== */
*{box-sizing:border-box}
html{font-size:16px}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ff-text);line-height:1.7;overflow-x:hidden;width:100%}
img{max-width:100%;display:block;height:auto}

/* ========== HERO ========== */
.hero{
  position:relative;min-height:56vh;overflow:hidden;border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,#F3FBF8 0%,#FFFFFF 60%)
}
.hero .slides{position:absolute;inset:0}
.hero .slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity .9s ease
}
.hero .slide.active{opacity:1}
/* 初回デザイン（左下の透明カード）を維持 */
.overlay{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:var(--glass-bg);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  padding:22px 24px;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);z-index:2;max-width:min(760px,92vw)
}
/* 微修正パッチ（左下固定） */
.hero .overlay{
  position:absolute !important;left:24px !important;right:auto !important;bottom:24px !important;top:auto !important;
  transform:none !important;text-align:left !important;background:rgba(255,255,255,0.6) !important;
  -webkit-backdrop-filter:blur(4px) !important;backdrop-filter:blur(4px) !important;
  padding:12px 16px !important;border-radius:12px !important;border:1px solid var(--border) !important;
  box-shadow:0 10px 20px rgba(0,0,0,.14) !important;max-width:min(820px,92vw) !important
}
@media(max-width:640px){
  .hero .overlay{left:12px !important;right:12px !important;bottom:12px !important;max-width:none !important}
}
.brand{font-weight:700;color:#1B7059;opacity:.95;margin-bottom:6px}
.title{font-weight:900;margin:0;color:#0b1320;font-size:clamp(28px,6vw,48px)}
.subtitle{margin-top:8px;color:#23364f;font-weight:700;font-size:clamp(14px,2.6vw,18px)}
.controls{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;z-index:2
}
.dot{
  width:12px;height:12px;border-radius:50%;background:#ffffff;border:1px solid var(--border);
  box-shadow:0 1px 3px rgba(5,17,33,.12);cursor:pointer
}
.dot.active{
  background:linear-gradient(135deg,var(--green-700),var(--green-500));border-color:#cfe6df
}

/* ========== SECTION / HEADLINE ========== */
.section{max-width:1160px;margin:0 auto;padding:32px 18px}
.headline{
  font-weight:800;font-size:clamp(22px,3.6vw,32px);margin:0 0 18px;position:relative;
  display:flex;align-items:center;gap:12px
}
.num-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;
  padding:0 10px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--green-800),var(--green-500))
}
.underline::after{
  content:"";position:absolute;left:0;bottom:-10px;height:6px;width:0%;border-radius:3px;
  background:linear-gradient(90deg,var(--green-900),var(--green-600));animation:underline-grow 900ms ease-out forwards
}
@keyframes underline-grow{from{width:0%}to{width:100%}}

/* ========== PROFILE ========== */
.section--profile{padding-top:22px}
.profile-slab{display:grid;grid-template-columns:minmax(480px,52%) 1fr;gap:32px;align-items:start}
/* 2カラム崩れ防止 */
.profile-slab>*{min-width:0}
.profile-photo{
  width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px;border:1px solid var(--border);
  box-shadow:0 14px 34px rgba(5,17,33,.16)
}
.profile-photo--emphasis{transform:scale(1.02)}
.name{position:relative;font-weight:900;margin:0;display:inline-block}
.name--xl{font-size:2.4rem}
.name::after{
  content:"";position:absolute;left:0;bottom:-8px;height:6px;width:100%;border-radius:3px;
  background:linear-gradient(90deg,var(--green-900),var(--green-600));
  box-shadow:0 2px 6px rgba(26,112,89,.25)
}
.role{color:#263b56;font-weight:800;margin:12px 0 18px}
.role--xl{font-size:1.3rem}
.keywords{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.keywords--xl .tag{font-size:1.02rem}
.tag{
  padding:12px 16px;border-radius:999px;background:linear-gradient(135deg,#F2FBF7 0%,#E8F6F0 40%,#FFFFFF 100%);
  border:1px solid #b7e1d3;color:#0b1f33;font-weight:800;box-shadow:0 8px 18px rgba(5,17,33,.12)
}
.tag--lg{padding:12px 18px}
.tag:hover{
  background:linear-gradient(135deg,var(--green-300) 0%,#ffffff 100%);border-color:#9bd4c2
}

/* 略歴タイトル（初回デザイン維持） */
.bio-title{
  display:inline-block;font-weight:900;font-size:1.4rem;color:#fff;
  background:linear-gradient(90deg,var(--green-800),var(--green-500));
  padding:8px 16px;border-radius:12px;margin:32px 0 16px
}
/* 略歴リスト（初回デザイン維持） */
.bio-list.vertical{list-style:none;padding:8px 0;margin:0;display:flex;flex-direction:column;gap:6px}
.bio-list--plain li{
  border:1px dashed #f0f6fb;border-radius:10px;padding:6px 8px;display:flex;align-items:center;gap:10px;
  background:#fff;font-size:.95rem
}
.year{
  display:inline-block;min-width:56px;padding:6px 8px;border-radius:10px;
  background:linear-gradient(135deg,#EEF6FF,#FFFFFF);color:#0b1f33;font-weight:900;text-align:center;font-size:.9rem
}

/* ========== QA（左：写真／右：テキスト） ========== */
.qa-row{
  display:grid;grid-template-columns:minmax(420px,46%) 1fr;gap:28px;align-items:start;margin:26px 0
}
/* スマホ崩れ対策 */
.qa-row>*{min-width:0}
.qa-photos,.qa{min-width:0}
/* 本文中の写真（初回デザイン維持） */
.qa-photo img{
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;border:1px solid var(--border);
  box-shadow:0 10px 28px rgba(5,17,33,.14)
}
.qa dt{
  position:relative;margin:0 0 10px;padding-left:0;font-weight:900;color:#0b1f33;display:flex;align-items:center
}
.qa dd{margin:0 0 12px;padding-left:38px;color:#2a3d56}
.qa-icon{
  display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:10px;border-radius:50%;
  background:linear-gradient(135deg,var(--green-800),var(--green-500));box-shadow:0 6px 14px rgba(26,112,89,.25)
}

/* セクション末尾の大きめ写真（初回 21:9 を維持） */
:where(.section) :where(.qa-photo--section){
  display:block !important;width:100% !important;max-width:640px !important;margin:16px auto !important
}
:where(.section) :where(.qa-photo--section) img{
  width:100%;height:auto;aspect-ratio:21/9 !important;object-fit:cover;border-radius:20px;border:1px solid var(--border);
  box-shadow:0 10px 28px rgba(5,17,33,.14)
}
@media(max-width:640px){
  :where(.section) :where(.qa-photo--section){max-width:100% !important}
}

/* ========== Appear アニメ ========== */
.appear{opacity:0;transform:translateY(18px)}
.appear.in{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}
.stagger>*{opacity:0;transform:translateY(18px)}
.stagger.in>*{opacity:1;transform:translateY(0)}
.stagger.in>*{transition:opacity .6s ease,transform .6s ease}

/* ========== レスポンシブ ========== */
@media(max-width:640px){
  .hero{min-height:48vh}
  .profile-slab,.qa-row{grid-template-columns:1fr !important}
  .profile-slab>*,.qa-row>*,.qa-photos,.qa{min-width:0}
  .name--xl{font-size:2.0rem}
  .role--xl{font-size:1.15rem}
  .tag{font-size:.98rem}
  .bio-title{font-size:1.2rem;padding:6px 12px}
  .bio-list--plain li{font-size:.9rem}
  .qa dd{padding-left:20px}
}

/* ========== 動きの抑制設定 ========== */
@media (prefers-reduced-motion: reduce){
  .hero .slide{transition:none}
}

/* ========== 既存パッチ群：デザイン維持のための最小限 ========== */
/* キーワードのマーカー消し（pill 化は採用しない） */
:where(ul.keywords){
  list-style:none !important;list-style-type:none !important;padding-inline-start:0 !important;margin:0 !important;
  display:flex !important;flex-wrap:wrap !important;gap:12px !important
}
:where(ul.keywords>li){
  list-style:none !important;list-style-type:none !important;padding:0 !important;margin:0 !important;display:inline-flex !important
}
:where(ul.keywords>li)::marker{content:'' !important}
:where(ul.keywords>li)::before{content:none !important}

/* テキストのみ行の体裁 */
.section .qa-row.qa-row--textOnly{
  display:block !important;width:100% !important;max-width:none !important;margin:26px 18px !important;grid-template-columns:none !important
}
.section .qa-row.qa-row--textOnly .qa{
  max-width:none !important;padding-left:0 !important;margin:0 !important
}

/* QA見出し強調（初回の見え方を維持） */
.section .qa dt{
  display:flex !important;align-items:flex-start !important;gap:10px !important;font-size:1.12rem !important;line-height:1.5 !important;
  font-weight:800 !important
}
.section .qa dt .qa-icon{
  flex:0 0 22px !important;width:22px !important;height:22px !important;min-width:22px !important;min-height:22px !important;
  border-radius:50% !important;background:linear-gradient(135deg,var(--green-800),var(--green-500)) !important;
  box-shadow:0 6px 14px rgba(26,112,89,.25) !important;font-size:0 !important;line-height:0 !important
}

/* 2カラムを確実に維持（PC/タブレット） */
:where(.section) :where(.qa-row){
  display:grid !important;
  grid-template-columns:minmax(420px,46%) 1fr !important;
  gap:28px !important;
  align-items:start !important
}

/* 見出し下の帯・番号バッジ（初回見え方を維持） */
:root{
  --kw-pill-bg:#F4FBF8;--kw-pill-bg-hover:#E8F6F1;--kw-pill-border:#CFE6DF;--kw-pill-border-hover:#A8D6C9;
  --kw-pill-glow:rgba(33,131,107,.16);--kw-pill-glow-hover:rgba(33,131,107,.28);
  --badge-size:34px;--headline-offset:calc(var(--badge-size) + 14px);
  --headline-grad:linear-gradient(90deg,#87D7C2 0%, #4FB39A 50%, #21836B 100%);
  --nbg:#2AA07E;--nbg-dark:#1B7059;--badge-radius:6px;--badge-font:0.95rem;
}
body .section .headline{position:relative !important}
body .section .headline::before{
  content:"";position:absolute;left:var(--headline-offset);right:0;bottom:-8px;height:10px;border-radius:999px;z-index:0 !important;
  background:var(--headline-grad) !important;transform:scaleX(0);transform-origin:left center;transition:transform .7s ease-out
}
body .section .appear.in .headline::before,
body .section .headline.appear.in::before{transform:scaleX(1) !important}
body .section .headline > *{position:relative;z-index:1}
@media (prefers-reduced-motion: reduce){
  body .section .headline::before{transition:none !important;transform:none !important}
}
body .section .headline .num-badge{
  all:unset;position:relative !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:var(--badge-size) !important;height:var(--badge-size) !important;min-width:var(--badge-size) !important;
  background:var(--nbg) !important;color:#fff !important;border-radius:var(--badge-radius) !important;
  font-weight:900 !important;font-size:var(--badge-font) !important;letter-spacing:.02em;line-height:1;margin-right:10px !important
}
body .section .headline .num-badge::after{
  content:"";position:absolute;width:100%;height:100%;right:-6px;bottom:-6px;border-radius:var(--badge-radius);
  border:2px solid var(--nbg-dark) !important;background:transparent !important
}
body .section .qa .qa-q-text{
  text-decoration-line:underline !important;text-decoration-style:dotted !important;text-decoration-thickness:2px !important;
  text-underline-offset:4px !important;text-decoration-color:var(--qa-underline-color, #2A8C74) !important
}

/* Intro（円の丸タイトル） */
.section .intro--bracket{
  position:relative;display:inline-block;color:var(--green-900);font-weight:900;font-size:1.15rem;padding-left:10px;margin:18px 0 22px;
  text-shadow:0 0 2px #fff
}
.section .intro--bracket::before{
  content:"";position:absolute;background:rgba(170,236,200,.60);width:46px;height:46px;border-radius:50%;top:50%;left:-14px;
  transform:translateY(-50%);z-index:-1
}
.section .intro--title{position:relative;z-index:2;color:var(--green-900);font-weight:900;font-size:1.15rem}
.section .intro--circle-title{
  position:relative;display:inline-block;color:var(--green-900);font-weight:900;font-size:1.15rem;padding-left:10px;margin:18px 0 22px;
  text-shadow:0 0 2px #fff
}
.section .intro--circle-title::before{
  content:"";position:absolute;background:rgba(170,236,200,0.60);
  width:46px;height:46px;border-radius:50%;top:50%;left:-14px;transform:translateY(-50%);z-index:-1
}
.section .intro--circle-title{margin-left:18px;font-size:clamp(1.18rem, 2.2vw, 1.38rem);line-height:1.35}
.section .intro--circle-title::before{left:-6px;width:48px;height:48px}
@media (max-width:640px){
  .section .intro--circle-title{margin-left:12px;font-size:1.22rem}
  .section .intro--circle-title::before{left:-8px;width:44px;height:44px}
}

/* 略歴の「年号」と役職名の間隔を広げる（初回最小差分） */
.bio-list--plain li{display:flex !important;align-items:flex-start !important;gap:24px !important;line-height:1.7 !important}
.bio-list--plain .year{
  width:115px !important;flex-shrink:0 !important;text-align:right !important;padding:6px 10px !important;margin:0 !important
}

/* 写真の縦比をやや深く（16/10）・セクション末尾は 16/9 */
.qa-photo img{aspect-ratio:16/10 !important;}
.section .qa-photo--section img{aspect-ratio:16/9 !important}

/* 2枚並びギャラリー */
.qa-photos.qa-photos--two{
  display:grid !important;grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:18px !important;align-items:start !important;
}
@media (max-width:640px){
  .qa-photos.qa-photos--two{grid-template-columns:1fr !important;gap:12px !important}
}
.qa-photos.qa-photos--two .qa-photo{min-width:0 !important}

/* 本文内参照番号（上付き）＆ローカル脚注 */
sup.footnote-ref{font-size:0.72em;vertical-align:super;line-height:0;color:#1B7059;font-weight:800;text-decoration:none}
sup.footnote-ref a{color:inherit;text-decoration:none;outline:none}
sup.footnote-ref a:focus{box-shadow:0 0 0 3px rgba(33,131,107,.25);border-radius:4px}
.footnotes-local{
  margin:22px 0 0;padding:20px 18px 12px;background:#fff;border:1px dashed #cfe6df;border-radius:14px;
  box-shadow:0 8px 18px rgba(5,17,33,.06);color:#2a3d56;font-size:0.95rem
}
.footnotes-local .fn-title{
  position:relative;display:inline-flex;align-items:center;gap:6px;font-weight:900;color:#0E4335;padding:2px 4px;margin:0 0 10px
}
.footnotes-local .fn-title::before{
  content:"";width:20px;height:20px;background:#1B7059;
  -webkit-mask:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000"><path d="M6 2h9a3 3 0 0 1 3 3v17l-7.5-3.75L3 22V5a3 3 0 0 1 3-3z"/></svg>') no-repeat center/contain;
  mask:url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000"><path d="M6 2h9a3 3 0 0 1 3 3v17l-7.5-3.75L3 22V5a3 3 0 0 1 3-3z"/></svg>') no-repeat center/contain;
}
.footnotes-local .fn-title::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:8px;border-radius:999px;
  background:linear-gradient(90deg,#BFEBDD 0%, #9AD9C3 50%, #CDEFE4 100%);box-shadow:0 2px 6px rgba(33,131,107,.15)
}
.footnotes-local ol{margin:16px 0 0;padding-left:1.35em}
.footnotes-local li{margin:0 0 10px;line-height:1.7}
.footnotes-local .fn-back{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:10px;
  font-size:0.9em;color:#23846A;text-decoration:none;border:1px solid #cfe6df;border-radius:999px;background:#F6FBF9
}
.footnotes-local .fn-back:hover{text-decoration:none;background:#ECF9F3}
.footnotes-local a{color:#1B7059;word-break:break-all}
@media print{
  .footnotes-local{border:none;box-shadow:none}
  .footnotes-local .fn-title::after{height:0;background:none;box-shadow:none;border-bottom:1px solid #95cdbb;bottom:-4px}
}

/* ====== ここから “ピンク” 最終パッチのみ残す（色だけ上書き。レイアウト値には触れません） ====== */
/* ==========================================================
   Pink Theme Patch – Bright (final override)
   ※ レイアウトは一切変更しません（色のみ）
========================================================== */
:root{
  /* Bright Pink scale */
  --pink-900:#8C1E57; /* 見出し/タブ外枠など最濃 */
  --pink-800:#B22F72;
  --pink-700:#D74393; /* 濃アクセント */
  --pink-600:#EC5CAA; /* 下線・小装飾 */
  --pink-500:#FF7FBE; /* 主要アクセント（バッジ/アイコン） */
  --pink-300:#FFE0EE; /* 淡背景・ホバー */

  /* 既存トークンを “ピンク” に再マップ（色だけ差し替え） */
  --green-900: var(--pink-900);
  --green-800: var(--pink-800);
  --green-700: var(--pink-700);
  --green-600: var(--pink-600);
  --green-500: var(--pink-500);
  --green-300: var(--pink-300);

  --blue-900: var(--pink-900);
  --blue-800: var(--pink-800);
  --blue-700: var(--pink-700);
  --blue-600: var(--pink-600);
  --blue-500: var(--pink-500);
  --blue-300: var(--pink-300);

  --orange-900: var(--pink-900);
  --orange-800: var(--pink-800);
  --orange-700: var(--pink-700);
  --orange-600: var(--pink-600);
  --orange-500: var(--pink-500);
  --orange-300: var(--pink-300);

  /* コンポーネント派生トークンもピンクへ */
  --headline-grad: linear-gradient(90deg, #FFF1F7 0%, #FFC6E1 50%, var(--pink-500) 100%);
  --nbg: var(--pink-500);
  --nbg-dark: var(--pink-900);
  --qa-underline-color: var(--pink-600);

  /* 影の色（キーワード箱など） */
  --kw-pill-glow: rgba(255,127,190,.16);
  --kw-pill-glow-hover: rgba(255,127,190,.28);
}

/* ヒーロー＆小要素（色のみピンク化） */
body .brand { color: var(--pink-900) !important; }
.hero { background: linear-gradient(180deg, #FFFAFC 0%, #FFFFFF 60%) !important; }
.dot.active{
  background: linear-gradient(135deg, var(--pink-700), var(--pink-500)) !important;
  border-color:#ffe6f2 !important;
}
.qa .qa-icon,
.section .qa dt .qa-icon{
  background: linear-gradient(135deg, var(--pink-800), var(--pink-500)) !important;
  box-shadow: 0 6px 14px rgba(215,67,147,.22) !important;
}

/* 見出しの帯・番号バッジ・Q 下線 */
.section .headline .num-badge{ background: var(--nbg) !important; color:#fff !important; }
.section .headline .num-badge::after{ border-color: var(--nbg-dark) !important; }
.section .qa .qa-q-text{ text-decoration-color: var(--qa-underline-color) !important; }
body .section .headline::before{ background: var(--headline-grad) !important; }

/* プロフィール名下の帯／略歴タイトル帯 */
.name::after{
  background: linear-gradient(90deg, var(--pink-900), var(--pink-600)) !important;
  box-shadow: 0 2px 6px rgba(215,67,147,.22) !important;
}
.bio-title{ background: linear-gradient(90deg, var(--pink-800), var(--pink-500)) !important; }

/* キーワードボックス（ul.keywords）をピンクで統一（枠・淡背景・チェック色） */
ul.keywords{
  position: relative;
  margin-top: 64px !important;
  padding: 10px 22px 10px 22px !important;
  border: 2px solid var(--pink-500) !important;
  border-radius: 10px;
  background: #FFF3F8 !important;
  box-shadow: 0 10px 26px rgba(215,67,147,.12);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  column-gap: 38px !important;
  row-gap: 0 !important;
  align-items: center;
}
ul.keywords::before{
  content: "● Keywords";
  position: absolute;left: 14px;bottom: 100%;transform: translateY(8px);
  background: var(--pink-900);color:#fff;padding:6px 12px;font-size:.92rem;font-weight:900;letter-spacing:.03em;
  border-radius: 6px 6px 0 0;box-shadow: 0 2px 6px rgba(215,67,147,.18);white-space:nowrap;
}
ul.keywords li, ul.keywords li .tag{
  position:relative !important;display:inline-flex !important;align-items:center !important;
  padding-left:0 !important;gap:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;
  color:#8C1E57 !important;font-weight:800;white-space:nowrap;
}
ul.keywords > li::before{
  content:"✔" !important;position:static !important;transform:none !important;margin-right:6px !important;
  color: var(--pink-500) !important;font-size:1.02rem !important;line-height:1 !important;font-weight:900 !important;pointer-events:none !important;
}
ul.keywords li .tag::before{content:none !important}
@media (max-width:960px){
  ul.keywords{grid-template-columns: repeat(2, minmax(0,1fr)) !important;column-gap:28px !important;row-gap:10px !important;}
}
@media (max-width:560px){
  ul.keywords{grid-template-columns:1fr !important;}
  ul.keywords li{white-space:normal !important;}
}

/* ローカル脚注（色味だけピンク化） */
.footnotes-local .fn-title{
  color: var(--pink-900) !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--pink-500) !important;
}
.footnotes-local .fn-title::after{height:0 !important;background:none !important;border:0 !important;box-shadow:none !important;}
.footnotes-local .fn-title::before{background: var(--pink-900) !important;}
.footnotes-local a[href^="http"]::before{background: var(--pink-500) !important;}
/* Intro の丸装飾の文字色もピンクで最終上書き */
body .section .intro--circle-title {
  color: var(--pink-900) !important;
  text-shadow: 0 0 2px #fff !important;
}
body .section .intro--circle-title::before {
  background: rgba(255, 127, 190, .38) !important; /* = --pink-500 38% */
}
/* === Footnotes: 外枠・影・角丸を完全OFF（最終上書き） === */
.footnotes-local{
  border: none !important;          /* 点線の枠を消す */
  box-shadow: none !important;      /* ほのかな影を消す */
  border-radius: 0 !important;      /* 角丸をゼロに */
  background: transparent !important;/* 背景の箱感を消す（白地に溶け込ませる） */
  padding: 10px 0 8px !important;   /* 罫線がなくても詰まり過ぎない軽い余白に */
}

/* タイトル下の帯（太いグラデの下線）も不要ならゼロに */
.footnotes-local .fn-title::after{
  height: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
/* === Footnotes: URL はグレー系、戻るアイコンはピンク系に統一 === */

/* 1) 脚注内のURL（文字色と下線色をグレーに） */
.footnotes-local a {
  color: #666 !important;                 /* 通常の文字色（濃いめグレー） */
  text-decoration: underline;             /* 下線は維持 */
  text-decoration-color: #999 !important; /* 下線は少し薄いグレー */
  text-underline-offset: 2px;
}
.footnotes-local a:hover {
  color: #555 !important;                 /* ホバー：ほんの少し濃く */
  text-decoration-color: #777 !important; /* 下線も少し濃く */
}

/* 2) 脚注内の「戻る」アイコン（↩）をピンク系に */
.footnotes-local .fn-back {
  color: var(--pink-500) !important;      /* ↩ の文字色（ピンク） */
  border-color: #F6BFDA !important;       /* 薄ピンク系の縁取り */
  background: #FFF1F7 !important;         /* ごく薄いピンク背景 */
}
/* フォーカスやホバー時、少しだけコントラストアップ */
.footnotes-local .fn-back:hover,
.footnotes-local .fn-back:focus {
  color: var(--pink-700) !important;
  border-color: #F3A9CF !important;
  background: #FFE7F1 !important;
  outline: none;
}

/* 3) 外部リンク用の小アイコン（もし表示している場合）はピンクのまま維持 */
.footnotes-local a[href^="http"]::before {
  background: var(--pink-500) !important;
}
/* === QA（テキストのみ）の“横幅いっぱい化”最終上書き === */
/* qa-row に qa-row--fullwidth が付いている場合は必ず 1 カラム表示に */
.section .qa-row.qa-row--fullwidth,
:where(.section) :where(.qa-row.qa-row--fullwidth){
  display: block !important;              /* グリッド解除（1カラム扱い） */
  grid-template-columns: none !important; /* 念のため上書き */
  width: 100% !important;
  max-width: none !important;
  margin: 26px 0 !important;              /* 両端の余白をセクション基準に揃える */
}

/* 子要素のはみ出し防止 & 余白の再調整（本文を自然に中央寄せではなく“幅いっぱい”に） */
.section .qa-row.qa-row--fullwidth > *{
  min-width: 0 !important;
}
.section .qa-row.qa-row--fullwidth .qa{
  max-width: none !important;
  padding-left: 0 !important;             /* .qa dd の左インデントは既存ルールで維持されます */
  margin: 0 !important;
}
/* === 写真キャプションを中央寄せ＋本文色＋少し小さめに統一 === */
.qa-photo figcaption {
  text-align: center !important;     /* 左寄せ問題を100%解消 */
  color: #2a3d56 !important;         /* 本文(.qa dd)と完全同じ色に統一 */
  font-size: 0.90rem !important;     /* 本文より少しだけ小さめ */
  line-height: 1.55 !important;      /* 2行キャプションでも綺麗に揃う */
  margin-top: 8px !important;
  white-space: normal !important;
}
/* --- 高速道路写真：左側が切れないように中央→左へ寄せる --- */
.img-left-important {
  object-position: left center !important;
}

/* --- 4枚の写真サイズを少し大きめにする（横幅UP） --- */
.qa-photos.qa-photos--two {
  max-width: 1040px !important;  /* 960 → 1040px に拡大 */
}
/* === 脚注の上付き番号カラーをピンク系に統一 === */
sup.footnote-ref,
sup.footnote-ref a {
  color: var(--pink-500) !important;     /* 明るめピンク */
  text-decoration: none !important;
}

/* フォーカス・ホバー時（アクセシビリティ向上） */
sup.footnote-ref a:hover,
sup.footnote-ref a:focus {
  color: var(--pink-700) !important;     /* ほんの少し濃いピンク */
  outline: none !important;
}
/* === 2枚＋1キャプション用：pair-gallery ===================== */
/* コンテナ（最大幅は従来ギャラリーと同等。必要なら値だけ調整可） */
.pair-gallery{
  display:block;
  max-width: 960px;        /* 任意で 1040px などに微拡張OK */
  margin: 12px auto;
}

/* 画像を2列（SPは1列）で並べる */
.pair-gallery__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  align-items: start;
}
@media (max-width: 640px){
  .pair-gallery__grid{ grid-template-columns: 1fr; gap: 12px; }
}

/* 中の画像は既存の .qa-photo img と同等の見た目に */
.pair-gallery__grid img{
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;     /* 既定と同系。要らなければ削除可 */
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 28px rgba(5,17,33,.14);
}

/* 2枚共通のキャプション（中央・本文色・少し小さめ） */
.pair-caption{
  text-align: center;       
  color: #2a3d56;           /* 本文(.qa dd)と同じ色に統一 */
  font-size: 0.90rem;       /* 本文より“ほんの少しだけ”小さめ */
  line-height: 1.55;        
  margin-top: 8px;
  white-space: normal;
  text-indent: 0;
}
/* === 2枚＋1キャプション：共通（既存があれば流用OK） === */
.pair-gallery{
  display:block;
  max-width: 960px;             /* 必要なら 1040px 程度まで拡張可 */
  margin: 12px auto;
}
.pair-gallery__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  align-items: start;
}
@media (max-width: 640px){
  .pair-gallery__grid{ grid-template-columns: 1fr; gap: 12px; }
}
.pair-caption{
  text-align: center;
  color: #2a3d56;               /* 本文(.qa dd)と同じ色 */
  font-size: 0.90rem;           /* 本文より“ほんの少し”小さめ */
  line-height: 1.55;
  margin-top: 8px;
  white-space: normal;
  text-indent: 0;
}

/* === 縦長（ポートレート）版：画像の比率・見え方 === */
.pair-gallery.portrait .pair-gallery__grid img{
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;          /* 縦長。3/4〜5/7などに変更可 */
  object-fit: cover;            /* はみ出す分は上下を少しトリミング */
  object-position: center center;/* 必要なら left center / right center に調整可 */
  border-radius: 20px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 28px rgba(5,17,33,.14);
}
/* === 画像を「見切れなし」＋角丸OFFにする専用クラス ================= */

/* 画像：トリミング禁止（contain）＋比率は元画像に従う（auto）＋角丸OFF */
.no-crop img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;      /* 比率固定を解除して元画像の比率のまま */
  object-fit: contain !important;     /* 画像を“切らずに”収める */
  object-position: center center !important; /* 配置は中央。必要なら left/ right へ */
  border-radius: 0 !important;        /* 角丸を無効化 */
  background: #fff;                   /* 余白が発生したときの下地 */
  /* 影や枠線はそのまま活かす（不要なら下の2行をコメントアウト）
  border: 1px solid var(--border, #e5eef7);
  box-shadow: 0 10px 28px rgba(5,17,33,.14);
  */
}

/* もし親要素自体の角丸も消したい場合（カード状のfigureなど） */
.no-crop{
  border-radius: 0 !important;
  overflow: visible; /* 念のため角丸クリップを解除 */
}

/* 2枚＋1キャプション（pair-gallery）とも併用できるように安全側で上書き */
.pair-gallery.no-crop .pair-gallery__grid img{
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
/* === 「tweet-shot」内の画像は “切り取り後の見え方” を固定して表示 === */
/* 1) 2枚並びの各画像に縦長の比率を設定し、cover でトリミングして収める */
.pair-gallery.tweet-shot .pair-gallery__grid img{
  width: 100% !important;
  height: auto !important;
  /* 縦長カード風の比率。まずは 4/5 を推奨。必要なら 5/6 や 3/4 に微調整 */
  aspect-ratio: 4 / 5 !important;

  object-fit: cover !important;        /* 余白は出さずにトリミングで見せる */
  object-position: center top !important; /* 重要要素が上寄りなら top、真ん中なら center */

  /* 角丸や枠・影はページの方針に合わせて選択 */
  border-radius: 0 !important;         /* 角丸をやめる（丸くしたい場合はこの行を外す） */
  border: 1px solid var(--border);     /* 枠線が不要ならこの行を外す */
  box-shadow: 0 10px 28px rgba(5,17,33,.14); /* 影が不要ならこの行を外す */
}

/* 2) 2枚全体の横幅を少し大きく見せたい場合（任意） */
.pair-gallery.tweet-shot{
  max-width: 1040px !important;  /* 960 → 1040 に拡張。もっと大きくしたい場合は数値UP */
}

/* 3) モバイルでは1列落ち（既存のgrid設定に追従）。補足で間隔を少しだけ詰める例（任意） */
@media (max-width: 640px){
  .pair-gallery.tweet-shot .pair-gallery__grid{ gap: 12px; }
}
/* === Footnotes: 本文より小さく（最終上書き） ===================== */
/* 既存の 1rem !important を確実に打ち消すため、より強いセレクタ＋!important で統一 */
body .section .footnotes-local,
body .section .footnotes-local p,
body .section .footnotes-local li{
  font-size: 0.9rem !important;   /* 本文(1rem)より一段小さく */
  line-height: 1.7 !important;     /* 可読性は維持 */
  color: #2a3d56 !important;       /* 本文と同じトーン */
}

/* 脚注タイトルはほんの少しだけ大きめに */
body .section .footnotes-local .fn-title{
  font-size: 0.95rem !important;
}

/* 上付き番号（本文内・脚注内とも） */
sup.footnote-ref,
sup.footnote-ref a{
  font-size: 0.72rem !important;
  line-height: 0 !important;
}
/* === 画像1枚表示：トリミングなし・角丸なし・装飾OFF（最終上書き） === */
/* qa-photo--section のレイアウトは活かしつつ、見た目を完全にノートリミング＆フラットに */
.section .qa-photo.no-crop,
.section .qa-photo.no-crop img {
  /* トリミングなし（元画像の縦横比のまま） */
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;

  /* 角丸なし／影なし／枠線なし（テーマの上書き対策で !important） */
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: #fff; /* 透過PNGなどの下地用 */
}

/* セクション幅いっぱいで大きめに見せたい場合の推奨サイズ */
.section .qa-photo.no-crop.qa-photo--section {
  max-width: 1160px !important;  /* セクションの最大幅に合わせる */
  margin: 16px auto !important;  /* 中央寄せ */
}

/* キャプションの見た目（任意。既定でよければ削除可） */
.section .qa-photo.no-crop figcaption {
  text-align: center !important;
  color: #2a3d56 !important;
  font-size: 0.90rem !important;
  line-height: 1.55 !important;
  margin-top: 8px !important;
}
/* ==============================================
   ノートリミング＆角丸なし（既存 no-crop を活用）
   画像の「表示幅」だけを簡単に調整できるサイズユーティリティ
   ============================================== */

/* ベース：no-crop の最終上書き（保険） */
.section .qa-photo.no-crop,
.section .qa-photo.no-crop img{
  aspect-ratio: auto !important;
  object-fit: contain !important;         /* ← 切り抜きゼロ（トリミングなし） */
  object-position: center center !important;
  border-radius: 0 !important;            /* ← 角丸なし */
  box-shadow: none !important;            /* ← 影なし（必要なら外してOK） */
  border: none !important;                /* ← 枠線なし（必要なら外してOK） */
}

/* ---------- 幅ユーティリティ（お好みで切替） ---------- */
/* 「少し小さめ」標準案：横 880px */
.section .qa-photo.no-crop.w-880 {
  max-width: 880px !important;
  margin: 16px auto !important;          /* 中央寄せ */
}

/* さらに小さめ / もう少し大きめの候補 */
.section .qa-photo.no-crop.w-760 { max-width: 760px !important; margin: 16px auto !important; }
.section .qa-photo.no-crop.w-960 { max-width: 960px !important; margin: 16px auto !important; }

/* レスポンシブ（SPでは自然に画面幅フィット） */
@media (max-width: 640px){
  .section .qa-photo.no-crop.w-880,
  .section .qa-photo.no-crop.w-760,
  .section .qa-photo.no-crop.w-960 {
    max-width: 100% !important;
    margin: 12px auto !important;
  }
}
/* ===== Pair（2枚）を“縦の高さ”で統一：サイズを一段大きく ===== */
/* 推奨サイズ：520px（大きめでも可読性を保ちやすい） */
.pair-gallery.no-crop.h-520 .pair-gallery__grid img{
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;      /* ← 縦の上限を520pxに拡大 */
  aspect-ratio: auto !important;      /* 元画像の比率そのまま */
  object-fit: contain !important;     /* トリミングなし */
  object-position: center center !important;
  border-radius: 0 !important;        /* 角丸なし */
  box-shadow: none !important;        /* 装飾不要ならOFF（必要なら削除） */
  border: none !important;
  background: #fff;                   /* 透過画像の下地 */
}

/* さらに大きく：560px（最大寄り／横幅次第でやや主張強め） */
.pair-gallery.no-crop.h-560 .pair-gallery__grid img{
  width: 100% !important;
  height: auto !important;
  max-height: 560px !important;      /* ← ここだけ560に */
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: #fff;
}

/* レイアウト幅も少し広げたい場合（任意） */
.pair-gallery.no-crop.wide {
  max-width: 1040px !important;      /* 既定960→1040で“ひと回り”大きく */
  margin: 12px auto !important;
}

/* モバイルは自動で幅フィット＆高さは少し抑える（任意調整） */
@media (max-width: 640px){
  .pair-gallery.no-crop.h-520 .pair-gallery__grid img{ max-height: 360px !important; }
  .pair-gallery.no-crop.h-560 .pair-gallery__grid img{ max-height: 380px !important; }
}
/* ===== Hero: 4枚目・6枚目だけ下側を多めに見せる ===== */
#hero-slide-4 { background-position: center 70% !important; }
#hero-slide-6 { background-position: center 75% !important; }

/* （任意）スマホでは少しだけ戻す：縦長画面で切れすぎないよう微調整 */
@media (max-width: 640px){
  #hero-slide-4 { background-position: center 65% !important; }
  #hero-slide-6 { background-position: center 70% !important; }
}
/* 上部のタイトル帯（pageTitle01）を非表示 */
.pageTitle01 {
    display: none !important;
}
/* ふりがな（rt）を極小・控えめに */
.name rt {
  font-size: 0.35em !important;   /* ← 今よりさらに小さい（おすすめ） */
  color: #666 !important;          /* 少し淡く */
  font-weight: 400 !important;
  letter-spacing: 0.01em;          /* 微調整 */
}
/* プロフィール下の注意書きを薄いグレーに */
.profile-note {
  color: #6b6b6b !important;  /* 本文より薄いグレー */
}