: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}
  /* モバイルは1カラムへ（優先度を上げて確実に） */
  .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}
}

/* ========== 既存パッチ群（デザインを崩さない範囲で維持） ========== */
/* キーワードのマーカー消し */
: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
}

/* Anti-regression guards（PC/タブレットは2カラム） */
: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;
}
:where(ul.keywords)>li> :where(.tag){
  position:relative !important;width:var(--kw-pill-w,220px) !important;height:var(--kw-pill-h,56px) !important;
  padding:0 18px !important;display:flex !important;align-items:center !important;justify-content:center !important;
  text-align:center !important;color:#0b1f33 !important;font-weight:900 !important;line-height:1.4 !important;font-size:0.98rem !important;
  background:radial-gradient(120% 120% at 30% 20%, #FFF 0%, var(--kw-pill-bg) 100%) !important;
  border-radius:999px !important;border:1px solid var(--kw-pill-border) !important;
  box-shadow:0 10px 26px var(--kw-pill-glow) !important;transition:background .25s ease, border-color .25s ease, box-shadow .25s ease
}
:where(ul.keywords)>li> :where(.tag) .kw-bg{display:none !important}
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}
}

/* =========================================
   キーワード専用・追加パッチ（最小差分）
   -----------------------------------------
   ・タブ → 「● Keywords」
   ・背景 → 白寄りミント
   ・アイコン → ✔
   ・アイコンと文字の間を詰める
   ・横一列3つは維持
   ========================================= */

/* ボックス（背景を白寄りミントに・影そのまま・下げ幅も維持） */
ul.keywords {
  position: relative;
  margin-top: 64px !important;                /* 役職名としっかり離す */
  padding: 10px 22px 10px 22px !important;    /* 上下の余白をさらに薄めに */
  border: 2px solid #1B7059;
  border-radius: 10px;
  background: #F7FCFA !important;             /* ← 白寄りミント（新要望） */
  box-shadow: 0 10px 26px rgba(10,40,30,0.15);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  column-gap: 38px !important;                /* キーワード間を広めに */
  row-gap: 0 !important;
  align-items: center;
}

/* タブ（● Keywords） */
ul.keywords::before {
  content: "●  Keywords";                    /* ← タブを新デザインに変更 */
  position: absolute;
  left: 14px;
  bottom: 100%;
  transform: translateY(8px);                 /* 役職と被らないよう強めに下げる */
  background: #1B7059;
  color: #fff;
  padding: 6px 12px;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 2px 6px rgba(10,40,30,0.18);
  white-space: nowrap;
}

/* 各キーワード（左のチェックと文字の距離を詰める） */
ul.keywords li,
ul.keywords li .tag {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  padding-left: 24px !important;              /* ← 各キーワード左余白を狭く */
  font-weight: 800;
  color: #0E4335 !important;
  line-height: 1.45;
  white-space: nowrap;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ✔ のアイコン（左寄せ強制） */
ul.keywords li::before {
  content: "✔" !important;                   /* ← ここを「✔」へ変更！ */
  position: absolute !important;
  left: 6px !important;                       /* ← アイコンを近づける */
  top: 50% !important;
  transform: translateY(-50%);
  color: #1B7059;
  font-size: 1.05rem;
  font-weight: 900;
  pointer-events: none;
}

/* タブレット幅：2列 */
@media (max-width: 960px){
  ul.keywords {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 28px !important;
    row-gap: 10px !important;
  }
}

/* スマホ幅：1列 */
@media (max-width: 560px){
  ul.keywords {
    grid-template-columns: 1fr !important;
  }
  ul.keywords li {
    white-space: normal !important;
  }
}

/* ======================================================
   キーワード専用 追いパッチ：✔ と文字をほぼくっつける
   ------------------------------------------------------
   ポイント：
   - li をフレックス化して、擬似要素を通常フローで並べる
   - アイコン余白は margin-right で 2px（お好みで 0〜4px）
   - 既存指定より優先されるように !important を併用
   ====================================================== */

/* 各キーワードをアイコン＋文字の横並びに（超タイト） */
ul.keywords li,
ul.keywords li .tag {
  display: inline-flex !important;
  align-items: center !important;
  /* 左のパディングは最小限に（擬似要素を絶対配置しないため 0 に） */
  padding-left: 0 !important;
  gap: 0 !important; /* 念のためギャップ無効 */
}

/* ✔ アイコンを通常フローで前置し、余白を 2px に固定 */
ul.keywords li::before {
  content: "✔" !important;
  position: static !important;       /* ← absolute をやめる */
  transform: none !important;
  margin-right: 2px !important;      /* ← ここを 0〜4px で微調整可 */
  color: #1B7059 !important;
  font-size: 1.02rem !important;     /* 少しだけ控えめ。必要なら 0.98rem〜1.08rem */
  line-height: 1 !important;
  font-weight: 900 !important;
  pointer-events: none !important;
}

/* .tag を使っているマークアップにも同じ見え方を強制 */
ul.keywords li .tag::before {
  content: none !important;          /* .tag 側の擬似は使わない（衝突回避） */
}

/* PC で 3 カラムの均等配置は維持（念のため） */
ul.keywords {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* スマホ/タブレットも既存の列落ち設定はそのまま（触らない） */

/* --- 写真キャプション（汎用） --- */
.qa-photo {
  display: block;
}
.qa-photo figcaption {
  margin-top: 8px;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
  text-align: left;      /* 必要なら center に */
}

/* モバイルでの写真下余白をやや広めに */
@media (max-width: 640px) {
  .qa-photo figcaption { margin-top: 10px; }
}

/* ============================
   略歴の「年号」と「役職名」の間隔を広げる
   ============================ */

/* 行全体のレイアウト調整（gap を広げる） */
.bio-list--plain li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 24px !important;   /* ← ここを 16px → 24px にして間隔を広げる */
  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/9（通常）／21/9（セクション末尾の大きめ）
   ========================= */

/* 1) 通常の横長写真（.qa-photo img）をほんの少し縦長に：16/10 */
.qa-photo img{
  aspect-ratio: 16/10 !important; /* つぶれ感を軽減。歪みなし（object-fit: cover のまま） */
}

/* 2) セクション末尾の大きめ写真（.qa-photo--section）を 21/9 → 16/9 に緩和 */
.section .qa-photo--section img{
  aspect-ratio: 16/9 !important; /* 縦を確保して“ぺったり”感を解消 */
}

/* =========================================================
   HP 2カラムに合わせた“縦感”の最適化（災害対応の写真向け）
   - デスクトップ：3/2（横に伸びすぎず、縦情報を確保）
   - タブレット   ：4/3（やや縦深め）
   - スマホ        ：5/4（さらに縦深めで見やすく）
   - 重要被写体（人物・ドローン）をやや上寄せに表示
   ========================================================= */
.qa-photo.qa-photo--hpPortrait img,
.section .qa-photo--section.qa-photo--hpPortrait img{
  aspect-ratio: 3/2 !important;     /* PC基準の比率：縦をしっかり確保 */
  width: 100%;
  height: auto;                      /* 歪み防止 */
  object-fit: cover;                 /* 自然なトリミング（引き伸ばし無し） */
  object-position: 50% 45%;          /* 少し上に寄せ、人物＆ドローンを活かす */
  /* 画像が高くなり過ぎるのを防ぐ安全マージン（任意で調整OK） */
  max-height: 640px;
}

/* タブレット：もう少し縦を深く（4:3） */
@media (max-width: 1024px){
  .qa-photo.qa-photo--hpPortrait img,
  .section .qa-photo--section.qa-photo--hpPortrait img{
    aspect-ratio: 4/3 !important;
    max-height: 560px;
  }
}

/* スマホ：さらに縦を深く（5:4）— テキスト量とのバランスを取りやすい */
@media (max-width: 640px){
  .qa-photo.qa-photo--hpPortrait img,
  .section .qa-photo--section.qa-photo--hpPortrait img{
    aspect-ratio: 5/4 !important;
    max-height: 520px;
    object-position: 50% 42%; /* 顔が切れないように上寄せを少し強める */
  }
}

/* =========================================
   写真キャプション（figcaption）を中央寄せ
   - 既存では left 指定があるため、末尾に上書き
   ========================================= */
.qa-photo figcaption{
  text-align: center !important;
}

/* =========================================
   2枚横並びギャラリー（このページ専用の最小ユーティリティ）
   ========================================= */
.qa-photos.qa-photos--two{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;              /* 画像間の余白：12〜24pxで好み調整 */
  align-items: start !important;
}

/* スマホは自動で1列に */
@media (max-width: 640px){
  .qa-photos.qa-photos--two{
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

/* 念のため：各 figure のはみ出し防止 */
.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: 18px 0 0;
  padding: 16px 14px 8px;
  background: #ffffff;
  border: 1px dashed #cfe6df;
  border-radius: 12px;
  color: #2a3d56;
  font-size: 0.95rem;
}
.footnotes-local .fn-title{
  position: relative;
  display: inline-block;
  font-weight: 900;
  color: #0E4335;
  padding: 2px 4px;
  margin: 0 0 8px;
}
.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: 14px 0 0; padding-left: 1.3em; }
.footnotes-local li{ margin: 0 0 8px; line-height: 1.65; }
.footnotes-local li .fn-back{
  margin-left: 8px; font-size: 0.9em; color: #23846A; text-decoration: none;
}
.footnotes-local li .fn-back:hover{ text-decoration: underline dotted; }
.footnotes-local a{ color: #1B7059; word-break: break-all; }
@media print{
  .footnotes-local{ border: none; padding-top: 10px; }
  .footnotes-local .fn-title::after{
    height: 0; background: none; box-shadow: none; border-bottom: 1px solid #95cdbb; bottom: -4px;
  }
}

/* ================================
   ローカル脚注（横幅いっぱい＆やさしい装飾）
   ================================ */
.footnotes-local{
  display:block;
  width:100%;
  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;
}

/* .qa-row 内に置いた場合でも2カラムをまたいで全幅に（方式②用） */
.qa-row .footnotes-local--full{
  grid-column: 1 / -1 !important;
}

/* タイトル（かわいい帯下線＋アイコン） */
.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{ background:#ECF9F3; }

/* 文章内のURLにアイコンを付ける（外部リンクっぽく） */
.footnotes-local a[href^="http"]{
  color:#1B7059; text-underline-offset:2px;
  position:relative; padding-left:18px;
  word-break: break-all;
}
.footnotes-local a[href^="http"]::before{
  content:"";
  position:absolute; left:0; top:0.22em;
  width:14px; height:14px; background:#2AA07E;
  -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="M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h6v2H7v10h10v-4h2v6H5V5z"/></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="M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h6v2H7v10h10v-4h2v6H5V5z"/></svg>') no-repeat center/contain;
}

/* 本文側の参照番号（上付き） */
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; }

/* 印刷時：帯を細線に */
@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;
  }
}

/* =========================================================
   Footnotes: セクション幅に合わせる（フルブリード解除）
   ========================================================= */

/* すべての脚注を本文コンテナ幅に揃える */
.footnotes-local{
  /* 文字は小さめは維持 */
  font-size: 0.88rem;
  line-height: 1.65;

  /* フルブリード（ビューポート全幅）を解除して通常幅へ */
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;

  /* セクション内の見た目に合わせた余白と丸み（既存と整合） */
  border-radius: 12px; /* お好みで 10〜14px */
  padding-left: 18px;
  padding-right: 18px;
}

/* .qa-row（2カラムレイアウト）内に置いた脚注は、
   カラムをまたいで本文いっぱいに広げる */
.qa-row .footnotes-local{
  grid-column: 1 / -1 !important;
  justify-self: stretch;
}

/* もし、過去に .footnotes-local--bleed を付けていた場合の保険：
   付いていても本文幅に揃うように同じ解除処理を適用 */
.footnotes-local--bleed{
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  border-radius: 12px;
}

/* 印刷時の調整は現状維持（必要ならここで再調整可能） */
@media print{
  .footnotes-local{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    border-radius: 0;
    box-shadow: none;
  }
}

/* ============================================
   脚注の控えめスタイル（小さめ文字・枠なし・影なし）
   ============================================ */
.footnotes-local{
  /* 文字をさらに小さく：0.88rem → 0.84rem（必要なら 0.82rem まで可） */
  font-size: 0.84rem;
  line-height: 1.6;

  /* 目立たせない：枠線・影・背景の主張を弱める */
  border: none !important;           /* 既存の dashed 枠を打ち消し */
  box-shadow: none !important;       /* 影を消す */
  background: transparent !important;/* 背景色を透過（親の白に溶け込む） */

  /* 角丸もゼロにして“本文の一部”として馴染ませる */
  border-radius: 0 !important;

  /* 周囲との距離感はそのまま、内側は少し詰める */
  padding: 10px 0 6px !important;    /* 左右パディングを0にして段落風に */
}

/* タイトルの帯やアイコンも存在感を控えめに */
.footnotes-local .fn-title{
  font-size: 0.86rem;
  color: #2a3d56;                    /* 濃すぎない文字色へ */
  padding: 0;                        /* パディング除去 */
  margin: 0 0 6px;
}

/* タイトル下の太いグラデ下線を消す */
.footnotes-local .fn-title::after{
  height: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* タイトル左のアイコンも非表示（よりフラットに） */
.footnotes-local .fn-title::before{
  content: none !important;
}

/* リスト本文の余白と文字サイズを揃える（やや詰め） */
.footnotes-local ol{
  margin: 6px 0 0;
  padding-left: 1.2em;
}
.footnotes-local li{
  margin: 0 0 6px;
  line-height: 1.6;
}

/* 本文への戻る「↩」の丸タブ風ボタンを薄く・小さく */
.footnotes-local .fn-back{
  width: 18px;
  height: 18px;
  margin-left: 6px;
  font-size: 0.8em;                 /* 小ぶりに */
  color: #5b7c72;                    /* コントラストを落とす */
  border: 1px solid #dbe8e3;
  background: #f7faf9;
}
.footnotes-local .fn-back:hover{
  background: #f1f6f4;
}

/* 本文側の上付き参照番号（^1 など）も控えめトーンに */
sup.footnote-ref{
  color: #5b7c72 !important;
  font-weight: 700 !important;
}

/* =========================================================
   脚注：アイコンを確実に表示＋「脚注」文字の直下だけ下線
   ・ボックス下のライン（::after）は無効化
   ========================================================= */

/* 1) ボックス下に出てしまう全幅の下線を確実に消す */
.footnotes-local::after{
  content: none !important;
  border: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

/* 2) タイトル「脚注」：テキストのみに下線（帯ではなく“文字下線”） */
.footnotes-local .fn-title{
  /* テキストレベルの下線を明示 */
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #bfe0d7 !important; /* 薄い緑。濃くするなら #9bd4c2 */

  /* 見た目の基礎（控えめトーンは維持） */
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 900;
  color: #0E4335;
  font-size: 0.86rem;
  padding: 0;
  margin: 0 0 8px;
}

/* 3) タイトル左のブックマーク風アイコンを“確実に”復活 */
.footnotes-local .fn-title::before{
  content: "" !important;             /* ← 以前の content:none を打ち消す */
  display: inline-block !important;    /* inline-flex 中でも確実に表示 */
  width: 18px !important;
  height: 18px !important;
  background: #1B7059 !important;      /* 落ち着いた深緑。調整可 */
  vertical-align: middle;

  /* SVGマスクでアイコン（ブックマーク形）を描画 */
  -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<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 !important;
  mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<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 !important;
}

/* 4) 念のため：タイトルの“帯下線”を使っていた旧指定があれば無効化 */
.footnotes-local .fn-title::after{
  content: none !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* 5) 本文リスト側に下線が出ないよう、li への下線演出を明示的に無効化 */
.footnotes-local li{
  border: 0 !important;
  background-image: none !important;  /* 万一の線演出を排除 */
}

/* プロフィール注意書きを左カラムに固定 */
.section--profile .profile-slab .profile-note {
  grid-column: 1;       /* ← ココがポイント。1列目に固定 */
  align-self: start;    /* 画像の下に揃える */
  margin: 8px 0 0;      /* 画像との間隔 */
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
}

/* モバイル時（1カラム化）も自然に見えるよう微調整 */
@media (max-width: 640px) {
  .section--profile .profile-slab .profile-note {
    grid-column: auto;  /* 1カラムに戻るので通常フローでOK */
    font-size: 0.95rem;
    margin-top: 10px;
  }
}

/* プロフィール：レイアウトの明示（列の割当） */
.section--profile .profile-slab {
  /* 既存の指定はそのままでOK（grid-template-columns 等） */
}

/* 左カラム固定：注意書き */
.section--profile .profile-slab .profile-note {
  grid-column: 1;          /* ← 左カラムに固定 */
  align-self: start;       /* 画像の直下に揃える */
  margin: 8px 0 0;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
}

/* 右カラム固定：名前・役職・キーワード */
.section--profile .profile-slab .profile-meta {
  grid-column: 2;          /* ← 右カラムに固定 */
  align-self: start;
}

/* モバイル時（1カラム化）— 通常フローで縦積み */
@media (max-width: 640px) {
  .section--profile .profile-slab .profile-note,
  .section--profile .profile-slab .profile-meta {
    grid-column: auto;     /* 1カラムなので固定を解除 */
  }

  .section--profile .profile-slab .profile-note {
    font-size: 0.95rem;
    margin-top: 10px;
  }
}

/* ===== プロフィール・2カラムの安定配置 ===== */
.section--profile .profile-slab {
  /* 既存の grid-template-columns/gap 等はそのままでOK */
}

/* 1行目・左：写真 */
.section--profile .profile-slab .profile-photo {
  grid-column: 1;
  grid-row: 1;
}

/* 2行目・左：注意書き（写真の直下） */
.section--profile .profile-slab .profile-note {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  margin: 8px 0 0;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
}

/* 1行目・右：名前／役職／キーワード（写真と同じ“行の頭”に来る） */
.section--profile .profile-slab .profile-meta {
  grid-column: 2;
  grid-row: 1;            /* ← これがズレ防止の決め手 */
  align-self: start;
}

/* スマホ（1カラム化）では固定を解除して自然な縦積みに */
@media (max-width: 640px) {
  .section--profile .profile-slab .profile-photo,
  .section--profile .profile-slab .profile-note,
  .section--profile .profile-slab .profile-meta {
    grid-column: auto;
    grid-row: auto;
  }
  .section--profile .profile-slab .profile-note {
    font-size: 0.95rem;
    margin-top: 10px;
  }
}

/* ===== QA資料ブロック：上段 左=画像 / 右=テキスト ／ 下段=横長画像 ===== */

.qa-docs-block {
  margin: 18px 0 24px;
}

.qa-docs-grid {
  display: grid;
  grid-template-columns: minmax(320px, 48%) 1fr;
  gap: 18px;
  align-items: start;
}

/* 資料用画像：角丸なし・影なし・くっきり表示 */
.qa-docs-figure img,
.qa-docs-wide img {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border, #e5eef7);
  background: #fff;
  object-fit: contain !important;
  width: 100%;
  height: auto;
  aspect-ratio: auto !important;
  image-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.qa-docs-figure figcaption,
.qa-docs-wide figcaption {
  margin-top: 6px;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
  text-align: left;
}

.qa-docs-heading {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0b1320;
}

/* 下段：横長画像ブロック */
.qa-docs-wide {
  margin: 18px 0 0;
}

/* PCでの文字鮮明化のため最小高さ確保（任意微調整OK） */
@media (min-width: 961px) {
  .qa-docs-figure img {
    min-height: 260px;
  }
}

/* スマホは縦並び */
@media (max-width: 640px) {
  .qa-docs-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

/* ===== QA資料ブロック：基本（既存） ===== */
.qa-docs-block { margin: 18px 0 24px; }

.qa-docs-grid {
  display: grid;
  grid-template-columns: minmax(320px, 48%) 1fr;
  gap: 18px;
  align-items: start;
}

/* 資料用画像：角丸なし・影なし・トリミングなし（共通） */
.qa-docs-figure img,
.qa-docs-wide img,
.qa-docs-single img {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border, #e5eef7);
  background: #fff;
  object-fit: contain !important; /* ← トリミングしない */
  width: 100%;
  height: auto;
  aspect-ratio: auto !important;  /* 既存比率強制を上書き */
  image-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

/* キャプション（共通） */
.qa-docs-figure figcaption,
.qa-docs-wide figcaption,
.qa-docs-single figcaption {
  margin-top: 6px;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
  text-align: left;
}

/* 下段の横長画像（既存） */
.qa-docs-wide { margin: 18px 0 0; }

/* ★ 追加：横長画像の“すぐ下”に置く2カラムの余白を少し広げる */
.qa-docs-grid--below { margin-top: 18px; }

/* ★ 追加：さらに下の単独画像（全幅1枚） */
.qa-docs-single { margin: 18px 0 0; }

/* PCでの鮮明度優先の最小高さ（必要に応じて微調整） */
@media (min-width: 961px) {
  .qa-docs-figure img { min-height: 260px; }  /* 220〜320px で調整可 */
}

/* スマホ：縦並び */
@media (max-width: 640px) {
  .qa-docs-grid,
  .qa-docs-grid--below { grid-template-columns: 1fr; gap: 14px; }
}

/* ====== 新規追加2：単独画像を“少し小さく”＆中央寄せ ====== */

/* ベースは既存の .qa-docs-single の見た目（角丸/影なし/contain）を継承 */

.qa-docs-single.qa-docs-single--sm {
  /* 画像ブロック全体を中央寄せ */
  display: block;
  max-width: 72%;      /* ← PCで少し小さめに見せる主値（目安：68〜78%） */
  margin: 18px auto 0; /* 上に少し余白＋中央寄せ */
}

.qa-docs-single.qa-docs-single--sm img {
  width: 100%;
  height: auto;
  object-fit: contain !important;  /* ← トリミングなし */
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border, #e5eef7);
  background: #fff;

  /* 画面が広すぎる場合の“縦の暴れ”防止（任意で微調整） */
  max-height: 640px;   /* 560〜720pxで調整可。文字量に応じて変更 */
}

/* タブレット：やや大きめ（可読性重視） */
@media (max-width: 1024px) {
  .qa-docs-single.qa-docs-single--sm {
    max-width: 84%;
  }
}

/* スマホ：1カラムで等倍（横幅いっぱいいっぱい） */
@media (max-width: 640px) {
  .qa-docs-single.qa-docs-single--sm {
    max-width: 100%;
  }
  .qa-docs-single.qa-docs-single--sm img {
    max-height: none; /* スマホは自然な高さでOK */
  }
}

/* ====== 資料用2枚横並び（角丸なし・影なし・トリミングなし） ====== */
.qa-photos.qa-photos--docs .qa-photo img,
.qa-photos.qa-photos--docs .doc-img {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border, #e5eef7);
  background: #fff;
  aspect-ratio: auto !important;     /* 既存の16:9等を上書き */
  object-fit: contain !important;     /* トリミングせず全体表示 */
  width: 100%;
  height: auto;
  image-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.qa-photos.qa-photos--docs {
  align-items: start !important;      /* 2カラムの上端揃え */
}

.qa-photos.qa-photos--docs .qa-photo figcaption {
  margin-top: 6px;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
  text-align: left;
}

/* スマホでは自動で1列落ち（既存の .qa-photos--two のレスポンシブが有効） */
@media (max-width: 640px) {
  .qa-photos.qa-photos--docs { gap: 14px !important; }
}

/* ===== 単独の資料画像（QAのさらに下）— 角丸なし・影なし・トリミングなし ===== */
.qa-docs-single.qa-docs-single--doc {
  display: block;
  margin: 18px 0 0;         /* 上のQAとの間隔 */
}

.qa-docs-single.qa-docs-single--doc img {
  width: 100%;
  height: auto;
  aspect-ratio: auto !important;   /* 既存の比率強制を上書き */
  object-fit: contain !important;  /* ← トリミングしない（欠けなし表示） */
  border-radius: 0 !important;     /* 角丸なし */
  box-shadow: none !important;     /* 影なし */
  border: 1px solid var(--border, #e5eef7);
  background: #fff;                /* 余白が出る場合の下地 */
}

/* キャプション（共通トーン） */
.qa-docs-single.qa-docs-single--doc figcaption {
  margin-top: 6px;
  color: var(--muted, #4d5b6a);
  font-size: 0.92rem;
  line-height: 1.5;
  text-align: left;
}

/* スマホ：自然な縦積み（特別な指定は不要） */
@media (max-width: 640px) {
  .qa-docs-single.qa-docs-single--doc img {
    max-height: none;  /* 自然な高さでOK */
  }
}

/* 単独の資料画像を“少し小さめ”に（中央寄せ） */
.qa-docs-single.qa-docs-single--doc {
  max-width: 82%;          /* ← PCでの縮小率：例 88%→やや大きめ / 76%→さらに小さめ */
  margin: 18px auto 0;     /* 中央寄せ */
}

.qa-docs-single.qa-docs-single--doc img {
  width: 100%;
  height: auto;
  /* 既存：contain / 角丸なし / 影なし / 枠線あり はそのまま有効 */
  max-height: 620px;       /* ← 縦に伸び過ぎ防止。600〜560pxでさらに小さく */
}

/* タブレットでは少し戻す（可読性優先） */
@media (max-width: 1024px) {
  .qa-docs-single.qa-docs-single--doc { max-width: 90%; }
}

/* スマホは横幅いっぱいでOK（読みやすさ優先） */
@media (max-width: 640px) {
  .qa-docs-single.qa-docs-single--doc { max-width: 100%; }
  .qa-docs-single.qa-docs-single--doc img { max-height: none; }
}

/* ====== 大きめ資料画像（文字が多い場合用） ====== */
.qa-docs-single.qa-docs-single--lg {
  display: block;
  max-width: 92%;          /* ← 画面の92%まで使う（大きめ） */
  margin: 24px auto 0;     /* 上余白＋中央寄せ */
}

.qa-docs-single.qa-docs-single--lg img {
  width: 100%;
  height: auto;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border, #e5eef7);
  object-fit: contain !important; /* ← トリミング無しで全文字を表示 */
  background: #fff;

  /* 高さ制限を取る：高さが理由で文字が潰れないように */
  max-height: none;
}

/* タブレット対応：ほどほどに縮小 */
@media (max-width: 1024px) {
  .qa-docs-single.qa-docs-single--lg {
    max-width: 98%;
  }
}

/* スマホは横幅いっぱい（読みやすさ優先） */
@media (max-width: 640px) {
  .qa-docs-single.qa-docs-single--lg {
    max-width: 100%;
  }
}

/* ▼ QA とギャラリーを“セクション幅いっぱい”へ（最小パッチ） */

/* 1) .qa-row の『中に置いた』 .qa / .qa-photos を両方 全幅（列またぎ）に */
:where(.section) :where(.qa-row) > :where(.qa),
:where(.section) :where(.qa-row) > :where(.qa-photos) {
  grid-column: 1 / -1 !important;  /* 2カラムをまたぐ＝全幅 */
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2) .qa-row を使わず、.section 直下に .qa（例：.qa.qa--full）を置いた場合も全幅に */
:where(.section) > :where(.qa),
:where(.section) > :where(.qa.qa--full),
:where(.section) > :where(.qa-photos) {
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 3) “テキストだけ”の QA レイアウト（.qa-row--textOnly）内の .qa も全幅で整列 */
:where(.section) :where(.qa-row.qa-row--textOnly) > :where(.qa) {
  grid-column: 1 / -1 !important;
}

/* 4) 念のため：QA の定義リストまわりで意図せぬセンタリング等が効かないよう初期化 */
:where(.qa) dl { margin: 0 !important; }

/* =========================================================
   全幅化を“指定したブロックだけ”に限定する修正
   ---------------------------------------------------------
   - .qa--fullwidth      : QA（質問＋回答）を全幅に
   - .gallery--fullwidth : ギャラリー(.qa-photos)を全幅に
   - 既存のスプリットQAは影響を受けない
   ========================================================= */

/* 0) 念のため：汎用で掛けた『全幅化』を“付いていない要素”には打ち消す */
:where(.section) :where(.qa-row) > :where(.qa):not(.qa--fullwidth),
:where(.section) > :where(.qa):not(.qa--fullwidth) {
  grid-column: auto !important;
  width: auto !important;
  margin-left: unset !important;
  margin-right: unset !important;
}

/* ギャラリー（.qa-photos）側も同様に打ち消し */
:where(.section) :where(.qa-row) > :where(.qa-photos):not(.gallery--fullwidth),
:where(.section) > :where(.qa-photos):not(.gallery--fullwidth) {
  grid-column: auto !important;
  width: auto !important;
  margin-left: unset !important;
  margin-right: unset !important;
}

/* 1) QA：.qa--fullwidth が付いているものだけ全幅（列またぎ） */
:where(.section) :where(.qa-row) > :where(.qa.qa--fullwidth),
:where(.section) > :where(.qa.qa--fullwidth) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2) ギャラリー：.gallery--fullwidth が付いているものだけ全幅（列またぎ） */
:where(.section) :where(.qa-row) > :where(.qa-photos.gallery--fullwidth),
:where(.section) > :where(.qa-photos.gallery--fullwidth) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 3) テキスト専用レイアウト（.qa-row--textOnly）でも上記ルールが確実に効くよう補強 */
:where(.section) :where(.qa-row.qa-row--textOnly) > :where(.qa.qa--fullwidth) {
  grid-column: 1 / -1 !important;
}

/* 全幅化は“指定ブロックのみ” */
:where(.section) :where(.qa-row) > :where(.qa):not(.qa--fullwidth),
:where(.section) > :where(.qa):not(.qa--fullwidth) {
  grid-column: auto !important;
  width: auto !important;
  margin-left: unset !important;
  margin-right: unset !important;
}
:where(.section) :where(.qa-row) > :where(.qa-photos):not(.gallery--fullwidth),
:where(.section) > :where(.qa-photos):not(.gallery--fullwidth) {
  grid-column: auto !important;
  width: auto !important;
  margin-left: unset !important;
  margin-right: unset !important;
}
:where(.section) :where(.qa-row) > :where(.qa.qa--fullwidth),
:where(.section) > :where(.qa.qa--fullwidth) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
:where(.section) :where(.qa-row) > :where(.qa-photos.gallery--fullwidth),
:where(.section) > :where(.qa-photos.gallery--fullwidth) {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
:where(.section) :where(.qa-row.qa-row--textOnly) > :where(.qa.qa--fullwidth) {
  grid-column: 1 / -1 !important;
}

/* 末尾のリンク行（改行・折返しをきれいに） */
.ext-link {
  margin: 18px 0 8px;
  font-weight: 700;
  color: #0b1f33;
}
.ext-link a {
  word-break: break-all;           /* 長いURLでのはみ出し防止 */
  text-decoration-thickness: 2px;  /* 下線を少し太めに */
  text-underline-offset: 3px;      /* 下線のオフセット */
  color: #1B7059;                  /* トーンを全体に合わせる */
}

/* ロゴの見せ方（中央寄せ・最大幅ガード） */
.promo-logo {
  display: block;
  margin: 8px auto 0;
  text-align: center;
}
.promo-logo img {
  display: inline-block;
  max-width: min(320px, 85%);
  height: auto;
  /* 角丸や影が要らなければ何もしない。控えめに入れたい場合は下2行を解除 */
  /* border-radius: 8px;
  box-shadow: 0 8px 18px rgba(5,17,33,.06); */
}

/* reduce motion の端末でも “非表示にならない” よう保険（任意） */
@media (prefers-reduced-motion: reduce) {
  .promo-logo.appear { opacity: 1 !important; transform: none !important; }
}

/* ロゴを絶対に中央へ */
.section .jans-block .jans-logo-link{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin:10px 0 0 !important;
}
.section .jans-block .jans-logo{
  display:inline-block !important;
}

/* ============================================================
   JANS見出し：マーカー風グラデ下線（アニメーション付き）
   ============================================================ */

.section .jans-block .jans-heading{
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  text-align: center !important;
}

/* 対象テキスト本体（文字幅） */
.section .jans-block .jans-heading > .jans-text-slash{
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 6px !important;   /* 下線のためのスペース */
  color: var(--muted, #4d5b6a) !important;
  font-weight: 700 !important;
  font-size: clamp(13px, 1.8vw, 15px) !important;
  line-height: 1.35 !important;
}

/* ▼ マーカー下線（グラデ＋アニメーション） */
.section .jans-block .jans-heading > .jans-text-slash::after{
  content: "" !important;               /* 擬似要素の相殺対策 */
  position: absolute !important;
  left: 0; bottom: 0;
  width: 100%; height: 6px;             /* 太さ：6px（好みで 4〜8px） */
  border-radius: 3px;
  background: linear-gradient(90deg, var(--green-300), var(--green-600));

  /* アニメ初期値 */
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;

  animation: jansMarker 0.65s ease-out forwards;
}

@keyframes jansMarker{
  0%   { transform: scaleX(0);   opacity: 0; }
  40%  {                         opacity: .9; }
  100% { transform: scaleX(1);   opacity: 1; }
}

/* ============================================================
   JANS見出し：マーカー風グラデ下線（アニメーション付き）
   ※ セレクタは必ず '>' を使用（&gt; にしない）
   ============================================================ */

/* 見出しコンテナ（干渉排除） */
.section .jans-block .jans-heading{
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: none !important;
  text-align: center !important;
}

/* テキスト本体（幅＝文字幅） */
.section .jans-block .jans-heading > .jans-text-slash{
  position: relative !important;
  display: inline-block !important;
  padding-bottom: 8px !important;             /* 下線の太さ＋余白分。ここが小さいと被って見えない */
  color: var(--muted, #4d5b6a) !important;
  font-weight: 700 !important;
  font-size: clamp(13px, 1.8vw, 15px) !important;
  line-height: 1.35 !important;
}

/* ▼ マーカー下線（グラデ＋アニメーション） */
.section .jans-block .jans-heading > .jans-text-slash::after{
  content: "" !important;                     /* ← 擬似要素の無効化対策 */
  position: absolute !important;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 6px;                                /* 太さ（4〜8pxで好み調整） */
  border-radius: 3px;
  background: linear-gradient(90deg, var(--green-300), var(--green-600));

  /* 初期状態（アニメ開始前） */
  transform: scaleX(0);
  transform-origin: left center;
  opacity: 0;

  /* 伸びるアニメーション */
  animation: jansMarker 0.65s ease-out forwards;
  will-change: transform, opacity;            /* レンダリングヒント（任意） */
}

@keyframes jansMarker{
  0%   { transform: scaleX(0); opacity: 0; }
  40%  {                        opacity: .9; }
  100% { transform: scaleX(1); opacity: 1; }
}

/* SP微調整：線を少し細めにする場合（任意） */
@media (max-width: 640px){
  .section .jans-block .jans-heading > .jans-text-slash{ padding-bottom: 7px !important; }
  .section .jans-block .jans-heading > .jans-text-slash::after{ height: 5px; }
}
/* ==== 職員インタビュー（テンプレ側タイトル帯）を非表示 ==== */
#bukyoku.pageTitle01,
.pageTitle01 {
  display: none !important;
}
/* ==== プロフィール注意書きの上マージンを詰める（写真に近づける） ==== */
.section--profile .profile-slab .profile-note {
  margin-top: 4px !important; /* さらに詰めたい場合は 0 ～ -2px へ調整可 */
}
/* ==== プロフィール注意書きを写真に密着させる ==== */
/* 1) 画像側は余白なしを明示（保険） */
.section--profile .profile-slab .profile-photo {
  margin-bottom: 0 !important;
}

/* 2) 注意書きの上マージンをゼロに（まずは完全密着） */
.section--profile .profile-slab .profile-note {
  margin-top: 0 !important;   /* ← まずは 0 に */
  line-height: 1.5;           /* 既定値維持（可読性確保） */
}

/* 3) さらに “重ねるくらい” まで近づけたい時は、-4〜-8px で微調整 */
@media (min-width: 641px) {
  .section--profile .profile-slab .profile-note.is-tighter {
    margin-top: -6px !important;  /* ← 必要時に .is-tighter を一時付与 */
  }
}

/* === 注意書きを写真に密着させる最終上書き（styles.css の一番最後に追加） === */

/* 画像側の下余白をゼロ（保険） */
section.section--profile .profile-slab .profile-photo {
  margin-bottom: 0 !important;
  display: block;
}

/* グリッド行間の余白があればゼロに（保険）*/
section.section--profile .profile-slab {
  row-gap: 0 !important;
  gap: 0 !important; /* 念のため */
}

/* 注意書きの上マージンをゼロに固定（主役） */
section.section--profile .profile-slab .profile-note {
  margin-top: 0 !important;
  line-height: 1.5;
}

/* さらに近づけたい場合（任意）：HTMLに is-tighter を付けると -6px */
@media (min-width: 641px){
  section.section--profile .profile-slab .profile-note.is-tighter {
    margin-top: -6px !important;
  }
}
/* =========================================
   1) 注意書きを“ほんの少し”下げる（写真直下から数pxだけ余裕）
   ----------------------------------------- */
.section.section--profile .profile-slab .profile-note{
  margin-top: 6px !important;     /* 目安：4〜8px でお好みに調整可 */
  line-height: 1.5;               /* 既定の可読性は維持 */
}

/* =========================================
   2) 氏名・役職・キーワードが写真に被らないよう、列間の余白を少しだけ広げる
   ※ レイアウトはそのまま、左右カラムの“間”を数px広げるだけ
   ----------------------------------------- */
.section.section--profile .profile-slab{
  column-gap: 48px !important;    /* 既定 32px → 48px。気になる場合は 40px などに調整 */
}

/* キーワードボックスが写真に寄りすぎる場合の微調整（任意）
   ─ 右カラムの最上段（氏名・役職・キーワード一式）の左側に数pxの余白を追加 ─ */
.section.section--profile .profile-slab .profile-meta{
  padding-left: 6px !important;   /* 0〜10pxで好み調整。column-gapより穏やかに効きます */
}

/* =========================================
   3) モバイルでの保険：1カラム化のときは“縦に並ぶ”ので重なりは発生しないが、
      念のため隙間を少し確保（読みやすさ優先）
   ----------------------------------------- */
@media (max-width: 640px){
  .section.section--profile .profile-slab{ column-gap: 20px !important; }
  .section.section--profile .profile-slab .profile-meta{ padding-left: 0 !important; }
  .section.section--profile .profile-slab .profile-note{ margin-top: 6px !important; }
}

/* =========================================
   4) 念のための“重なり”予防（保険）
   ─ 画像と右カラムが同一高さ帯で接している環境で、
     スクロール時の描画順で文字が写真に乗って見える場合への安全策 ─
   ----------------------------------------- */
.section.section--profile .profile-slab .profile-photo{
  position: relative; z-index: 0; /* 写真は通常層 */
}
.section.section--profile .profile-slab .profile-meta{
  position: relative; z-index: 1; /* 右カラムのテキスト側は独立層に */
}
/* is-fitfill のスライドは“下寄せ”で見せる（床面ロゴを収める） */
.hero .slide.is-fitfill { background-position: center bottom !important; }

/* === スライド単位の“下寄せフォーカス” === */
/* デスクトップではやや強めに下へ寄せ、床ロゴを入れやすく */
.hero .slide.focus-bottom{
  background-position: center 85% !important; /* 80〜92%の範囲で微調整おすすめ */
}

/* タブレットは少し弱め（視野が縦に短くなるため） */
@media (max-width: 1024px){
  .hero .slide.focus-bottom{ background-position: center 80% !important; }
}

/* スマホは縦が確保されることが多いので、ほぼ中央寄りに戻す */
@media (max-width: 640px){
  .hero .slide.focus-bottom{ background-position: center 70% !important; }
}

/* ===== 6枚目など“上側を優先して見せたい”スライド用 ===== */
/* PC（横が広い環境）は強めに“上寄せ” */
.hero .slide.focus-top{
  background-position: center 12% !important; /* 8〜18% あたりで最終調整 */
}

/* タブレットは少し緩め（縦が短いので） */
@media (max-width: 1024px){
  .hero .slide.focus-top{
    background-position: center 18% !important; /* 15〜22% 目安 */
  }
}

/* スマホは縦が確保されやすいので、さらに緩め */
@media (max-width: 640px){
  .hero .slide.focus-top{
    background-position: center 25% !important; /* 22〜30% 目安 */
  }
}
/* 6枚目：上を優先して見せる（てっぺん位置は固定） */
.hero .slide.focus-top{
  background-position: center 12% !important; /* 8〜18% の範囲で微調整可 */
}

/* タブレット／スマホは既存の値でOK。必要なら以下のように軽微調整 */
@media (max-width: 1024px){
  .hero .slide.focus-top{ background-position: center 18% !important; }
}
@media (max-width: 640px){
  .hero .slide.focus-top{ background-position: center 25% !important; }
}
/* ===== Slide #6：上端を保ちつつ、下側をもう少し入れる ===== */
/* PC（横が広い）：10% → 13〜15% に微増。上端はほぼ維持しつつ下側が入る */
.hero .slide.focus-top-6{
  background-position: center 14% !important; /* まずは 14%。12〜16% で1%刻み調整がおすすめ */
}

/* タブレット：縦が短いぶん、PCより少しだけ緩め（= 数字をやや大きく） */
@media (max-width: 1024px){
  .hero .slide.focus-top-6{
    background-position: center 18% !important; /* 16〜20% 目安 */
  }
}

/* スマホ：縦は確保されやすいが、見え方のバランスで少しだけ下を多めに */
@media (max-width: 640px){
  .hero .slide.focus-top-6{
    background-position: center 22% !important; /* 20〜24% 目安 */
  }
}
/* =========================================================
   スマホ（～640px）：QA画像とキャプションを中央寄せ・見切れ防止
   - 管制部ページを含む全QAレイアウトに適用（.qa-row / .qa-photo 系）
   - 画像：中央寄せ + トリミングなし（contain） + 固定比率を解除
   - キャプション：必ず画像の下・中央に
   ========================================================= */
@media (max-width: 640px){

  /* 1) QA列の基本ガード：横はみ出しを抑止（grid/flexの押し出し対策） */
  .qa-row, .qa-photos, .qa {
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  /* 2) QAの figure はブロックに戻して中央寄せ（flex化はやめる） */
  figure.qa-photo,
  figure.qa-photo.qa-photo--doc,
  .section .qa-photo--section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    text-align: center !important;  /* 子要素のデフォルト整列 */
    float: none !important;         /* 万一の右回り込みを解除 */
  }

  /* 3) 画像：中央寄せ + トリミングなし + 比率固定の解除（右見切れ根治） */
  figure.qa-photo img,
  figure.qa-photo.qa-photo--doc img,
  .section .qa-photo--section img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;        /* ← 全体を収める（トリミングなし） */
    object-position: center center !important;
    aspect-ratio: auto !important;         /* ← 既存の固定比率を解除 */
  }

  /* 4) キャプションは必ず画像の下・中央。右側に回り込むのを防ぐ */
  figure.qa-photo figcaption,
  figure.qa-photo.qa-photo--doc figcaption,
  .section .qa-photo--section figcaption {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    text-align: center !important;
    float: none !important;
    white-space: normal !important; /* 長文でも自然に折返し */
  }

  /* 5) 2枚/4枚グループのスマホ1列時もゆとりを確保して崩れ防止 */
  .qa-photos,
  .qa-photos.qa-photos--two,
  .qa-photos.qa-photos--four {
    grid-template-columns: 1fr !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }
}
/* =========================================================
   スマホ（～640px）：QA全般のレイアウトを中央寄せに統一
   - 画像：中央寄せ + トリミングなし（contain）+ 固定比率解除
   - キャプション：必ず“画像の下・中央”
   - テキスト：見出し/本文とも中央寄せ
   - 右押し出しの原因(min-width/float/比率)を解除
   ========================================================= */
@media (max-width: 640px){

  /* QA列の基本ガード：横はみ出しを抑止 */
  .qa-row, .qa-photos, .qa {
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  /* -------- 画像とキャプション -------- */
  /* figure はブロック表示に戻し、中央寄せの土台を整える */
  figure.qa-photo,
  figure.qa-photo.qa-photo--doc,
  .section .qa-photo--section {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    text-align: center !important;
    float: none !important;
  }

  /* 画像は中央寄せ・トリミングなし・固定比率解除で“右見切れ”を根治 */
  figure.qa-photo img,
  figure.qa-photo.qa-photo--doc img,
  .section .qa-photo--section img {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
  }

  /* キャプションは必ず画像の下・中央。右回り込みを抑止 */
  figure.qa-photo figcaption,
  figure.qa-photo.qa-photo--doc figcaption,
  .section .qa-photo--section figcaption {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
    text-align: center !important;
    float: none !important;
    white-space: normal !important;
  }

  /* 2枚/4枚のグループも1列に落として中央寄せ（押し出し防止） */
  .qa-photos,
  .qa-photos.qa-photos--two,
  .qa-photos.qa-photos--four {
    grid-template-columns: 1fr !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  /* -------- 見出し・本文テキスト（右寄せ→中央寄せ） -------- */
  /* Qのタイトル（dt）内テキストを中央寄せ */
  .qa .qa-q-text { 
    text-align: center !important; 
  }
  /* QA本文（dd）も中央寄せ・左右の余白を均等に */
  .qa dd {
    text-align: center !important;
    padding-left: 0 !important;   /* 既存の左インデントを解除 */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 4枚写真の“このうち〜”のような補足文章も中央寄せ（p/小見出し想定） */
  .qa-photos + .qa-photo-caption-only p,
  .qa-photos + p,
  .qa-photos + .qa .desc,
  .qa .qa-photos + p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* セクション見出しの下にくるリード文(.intro--circle-title等)も中央へ */
  .section .intro--circle-title,
  .section .intro--title,
  .section .intro--bracket {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* （任意）特に“01 東京航空交通管制部について”のブロックを強制中央に
   ─ ページ内アンカーや見出しIDがある場合に、さらに確実性を上げます。 */
@media (max-width: 640px){
  /* 「01」のラッパーに固有ID/クラスが付いている場合は置き換えてください */
  #tokyo-atc-section .qa-row,
  #tokyo-atc-section .qa,
  #tokyo-atc-section figure.qa-photo,
  #tokyo-atc-section .qa dd,
  #tokyo-atc-section .qa .qa-q-text {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
  }
}
/* =========================================================
   A) Breadcrumb（スマホで見切れない／横スクロールなし）
   ---------------------------------------------------------
   - ULを折返し可能にし、リンク文言は「どこでも折返し」許可
   - 区切り「>」（.arrow）は数文字ぶんの余白を保って連結
   - 横スクロールは一切出さない（overflow-x: hidden）
   ========================================================= */
#breadcrumb { 
  max-width: 100% !important; 
  overflow: visible; /* 通常は可視。SP側でhiddenを明示 */
}
#breadcrumb > ul{
  display: flex;
  flex-wrap: wrap;            /* ← 折返し可 */
  align-items: center;
  gap: 6px 10px;
  margin: 0;
  padding: 6px 10px;
  list-style: none;
  max-width: 100%;
}
#breadcrumb li{
  display: inline-flex;       /* 区切りとテキストを“ひとかたまり”に */
  align-items: center;
  min-width: 0;               /* はみ出し防止（重要） */
}
#breadcrumb .arrow{
  display: inline-block;
  margin: 0 6px;              /* 区切り記号の左右に最小余白 */
  flex: 0 0 auto;
}
#breadcrumb a,
#breadcrumb li, 
#breadcrumb span{ 
  white-space: normal; 
  overflow-wrap: anywhere;    /* 長い語や全角連続にも対応 */
  word-break: normal;
}

@media (max-width: 640px){
  /* スマホは“横スクロールなし”を厳守 */
  #breadcrumb{
    overflow-x: hidden !important;  /* ← 横スクロール禁止 */
  }
}

/* =========================================================
   B) QA（スマホ）
   - 「中央の箱」に収める（左右に均等な余白 = 画面幅の約8%）
   - ただしテキストは“左揃え”
   - 既存の中央寄せルールを最終的に打ち消す
   ========================================================= */
@media (max-width: 640px){
  /* B-1) 箱の横幅を 92vw にして中央に配置（左右ガター均等） */
  #wrapper .section .qa-row,
  #wrapper .section .qa,
  #wrapper .section .qa--full,
  #wrapper .section .qa-row.qa-row--textOnly{
    max-width: 92vw !important;     /* ← 余白量の主値（90〜94vwで微調整可） */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* B-2) 見出し/本文は“左揃え”を強制（右寄せ/中央寄せを上書き） */
  #wrapper .section .qa dl,
  #wrapper .section .qa dt,
  #wrapper .section .qa dd,
  #wrapper .section .qa .qa-q-text{
    text-align: left !important;
  }

  /* B-3) インデントと余白の微調整（左は軽く、右は0） */
  #wrapper .section .qa dd{
    padding-left: 18px !important;  /* 既存20〜38pxより控えめ */
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}