:root{
  /* ===== カラーパレット（赤系：デフォルト） ===== */
  --green-900:#7A0019;   /* 深い臙脂 */
  --green-800:#8E1B2A;
  --green-700:#A02231;
  --green-600:#B52A3A;
  --green-500:#C73A47;
  --green-300:#F3A6AF;

  --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;

  /* 見出し帯・バッジ等の赤系グラデ／色 */
  --headline-grad:linear-gradient(90deg,#F3A6AF 0%, #DD6B78 50%, #C73A47 100%);
  --nbg:#C73A47;         /* バッジ背景 */
  --nbg-dark:#7A0019;    /* バッジ外枠 */

  /* キーワード・ピル */
  --kw-pill-bg:#FFF6F7;
  --kw-pill-bg-hover:#FDECEF;
  --kw-pill-border:#F3C8CD;
  --kw-pill-border-hover:#E4A9B1;
  --kw-pill-glow:rgba(199,58,71,.16);
  --kw-pill-glow-hover:rgba(199,58,71,.28);

  /* QA見出し下線（控えめ赤） */
  --qa-underline-color:#C0392B;
}*{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{
  position:relative;min-height:56vh;overflow:hidden;border-bottom:1px solid var(--border);
  /* 緑→赤のグラデに変更 */
  background:linear-gradient(180deg,#FFF4F4 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:#7A0019;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{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%}}.section--profile{padding-top:22px}.profile-slab{display:grid;grid-template-columns:minmax(480px,52%) 1fr;gap:32px;align-items:start}.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}.role{color:#263b56;font-weight:800;margin:12px 0 18px}.role--xl{font-size:1.3rem}.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-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)
}: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{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}}.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
}.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
}: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-w:220px;--kw-pill-h:56px;
  --badge-size:34px;--headline-offset:calc(var(--badge-size) + 14px);
}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:6px !important;
  font-weight:900 !important;font-size:0.95rem !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:6px;
  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, #C0392B) !important
}.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(236,170,182,.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(236,170,182,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}}.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}}.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;
}.qa-photo img{aspect-ratio:16/10 !important}.section .qa-photo--section img{aspect-ratio:16/9 !important}.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%;
  max-height:640px;
}@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;
  }}@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%;
  }}.qa-photo figcaption{text-align:center !important}.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;
}@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: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:#7A0019; /* 赤系 */
  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 .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:#7A0019; /* 赤系 */
  padding:2px 4px;
  margin:0 0 10px;
}.footnotes-local .fn-title::before{
  content:"";
  width:20px; height:20px;
  background:#7A0019; /* テーマグリーン→赤へ */
  -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; }.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:#C73A47; /* 赤系へ */
  -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:#5b7c72 !important; font-weight:700 !important; /* 控えめトーン */
}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-local::after{ content:none !important; border:0 !important; height:0 !important; margin:0 !important; }.footnotes-local .fn-title{
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #bfe0d7 !important;
  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;
}.footnotes-local .fn-title::before{
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background: #7A0019 !important; /* 赤系 */
  vertical-align: middle;
  -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;
}.footnotes-local .fn-title::after{ content:none !important; height:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }.footnotes-local li{ border:0 !important; background-image:none !important; }.section--profile .profiles{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:32px;
  align-items:start;
}.profile-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0; /* 長文でも崩れにくく */
}.profile-card .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-card .name{ margin:2px 0 0; }.profile-card .role{ margin:6px 0 0; }.profile-card .bio-title{ margin:16px 0 8px; }.profile-card .bio-list{ margin:0; }@media(max-width:640px){.section--profile .profiles{ grid-template-columns:1fr; }}.profile-card .bio-title{
  display:inline-block;          /* テキスト幅にフィット */
  padding:6px 16px;              /* 内側余白：お好みで 6–18px */
  margin:20px 0 12px;            /* 上下の間隔を整える */
  font-size:1.2rem;
  border-radius:10px;
  background:linear-gradient(90deg,var(--green-800),var(--green-500));
  color:#fff;
}.profile-card .bio-list{
  max-width: 100%;               /* 枠を不自然に広げない */
  margin-left:0; margin-right:0; /* 左揃え */
}.profile-card .bio-list--plain li{
  /* 既存の dashed ボックスの見た目はそのまま */
  width:auto;                    /* 行ごとに内容幅に近い見え方に */
  max-width: 100%;
  padding:6px 10px;
}.section--profile .profile-card .bio-title{
  display:inline-block; padding:6px 16px; margin:20px 0 12px;
  font-size:1.2rem; border-radius:10px;
  background:linear-gradient(90deg,var(--green-800),var(--green-500)); color:#fff;
}.qa-photo figcaption{ text-align:center !important; }sup.footnote-ref{
  font-size:0.72em; vertical-align:super; line-height:0;
  color:#5b7c72 !important; font-weight:700 !important; text-decoration:none;
}.section--profile .profile-card .bio-title{
  display:inline-block !important; width:auto !important; /* ★伸び防止 */
  padding:6px 14px !important; margin:18px 0 12px !important;
  font-size:1.12rem !important; border-radius:10px !important;
  background:linear-gradient(90deg,var(--green-800),var(--green-500)) !important; color:#fff !important;
}.footnotes-local{
  margin:14px 0 0 !important; padding:8px 0 0 !important;
  background:transparent !important; border:none !important; box-shadow:none !important;
  color:#2a3d56 !important; font-size:0.84rem !important; line-height:1.6 !important;
}.footnotes-local .fn-title{
  display:inline; padding:0 !important; margin:0 0 6px !important;
  font-weight:800; font-size:0.86rem; color:#2a3d56;
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;
}.footnotes-local .fn-title::before,
.footnotes-local .fn-title::after{ content:none !important; }.footnotes-local ol{ margin:6px 0 0 !important; padding-left:1.2em !important; }.footnotes-local li{ margin:0 0 6px !important; line-height:1.6 !important; border:0 !important; background-image:none !important; }.footnotes-local .fn-back{
  display:inline-block; margin-left:6px; width:auto; height:auto; padding:0 2px;
  font-size:0.8em; color:#5b7c72; border:none; background:transparent;
}.footnotes-local a[href^="http"]::before{
  width:12px; height:12px; background:#B8C6CF; top:0.2em;
}sup.footnote-ref{
  font-size:0.72em !important; vertical-align:super; line-height:0;
  color:#5b7c72 !important; font-weight:700 !important; text-decoration:none !important;
}.section--profile .profile-card .bio-title{
  display: inline-flex !important;
  align-items: center;
  width: auto !important;          /* 伸び防止 */
  max-width: max-content !important;
  white-space: nowrap !important;  /* 1行に収める */
  padding: 6px 14px !important;    /* 余白は控えめ */
  margin: 18px 0 12px !important;
  font-size: 1.12rem !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg,var(--green-800),var(--green-500)) !important;
  color: #fff !important;
}.footnotes-local{
  margin: 14px 0 0 !important;
  padding: 8px 0 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #2a3d56 !important;
  font-size: 0.84rem !important;
  line-height: 1.6 !important;
}.footnotes-local .fn-title{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  font-weight: 900 !important;
  font-size: 0.86rem !important;
  color: #0E4335 !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #C73A47 !important;  /* ← 下線を赤に */
}.footnotes-local .fn-title::before{
  content: "" !important;
  display: inline-block !important;
  width: 18px !important; height: 18px !important;
  background: #7A0019 !important;          /* 赤いブックマークアイコン */
  -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;
}.footnotes-local .fn-title::after{ content:none !important; }.footnotes-local ol{ margin: 6px 0 0 !important; padding-left: 1.2em !important; }.footnotes-local li{
  margin: 0 0 6px !important; line-height: 1.6 !important;
  border: 0 !important; background-image: none !important;
}.footnotes-local .fn-back{
  display: inline-block !important;
  margin-left: 6px !important;
  padding: 0 2px !important;
  font-size: 0.8em !important;
  color: #5b7c72 !important;
  border: none !important;
  background: transparent !important;
}sup.footnote-ref{
  font-size: 0.72em !important;
  vertical-align: super !important;
  line-height: 0 !important;
  color: #5b7c72 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}.footnotes-local .fn-back{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: 6px !important;
  border-radius: 999px !important;

  /* ★ 赤系に変更（枠と塗り） */
  border: 1px solid #E6B8BE !important;   /* 薄い赤の丸枠 */
  background: #FFF5F6 !important;         /* ごく薄い赤の塗り */

  text-decoration: none !important;
  position: relative !important;
  overflow: hidden !important;
}.footnotes-local .fn-back::before{
  content:"" !important;
  width: 14px !important;
  height: 14px !important;

  /* 濃淡赤のグラデーション（左：深い赤 → 右：明るい赤） */
  background: linear-gradient(135deg, #8E1B2A, #C73A47) !important;

  -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<path d="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></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="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></svg>') no-repeat center/contain !important;

  display: inline-block !important;
}.footnotes-local .fn-back:hover{
  background: #FDECEF !important;        /* 薄赤（hover） */
}.footnotes-local .fn-title{
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #C73A47 !important;
}.footnotes-local .fn-back{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: 6px !important;
  border-radius: 999px !important;

  /* 赤系の丸枠＋ごく薄い赤の塗り */
  border: 1px solid #E6B8BE !important;
  background: #FFF5F6 !important;

  /* 既存の背景アイコン/文字を視覚的に消して “アイコン1つ” を保証 */
  background-image: none !important;
  color: transparent !important;         /* テキストノードがあっても見えなくする */
  overflow: hidden !important;
  text-decoration: none !important;
  line-height: 0 !important;
}.footnotes-local .fn-back::before,
.footnotes-local .fn-back::after{
  /* 旧仕様の重複アイコンを念のため無効化（後で ::before を再定義） */
  content: none !important;
}.footnotes-local .fn-back::before{
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;

  background: linear-gradient(135deg, #8E1B2A, #C73A47) !important;
  -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<path d="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></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="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></svg>') no-repeat center/contain !important;
}.footnotes-local .fn-back:hover{ background: #FDECEF !important; }.footnotes-local .fn-title{
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #C73A47 !important;
}.footnotes-local .fn-back{
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 28px !important;               /* ★ 大きめ枠 */
  height: 28px !important;
  margin-left: 8px !important;
  border-radius: 999px !important;

  border: 1px solid #E6B8BE !important; /* 薄い赤の丸枠 */
  background: #FFF5F6 !important;       /* ごく薄い赤の塗り */

  /* 余計な表示を消して “1つだけ” に統一 */
  color: transparent !important;         /* テキスト(↩等)は視覚上非表示 */
  background-image: none !important;
  overflow: hidden !important;
  text-decoration: none !important;
  line-height: 0 !important;
}.footnotes-local .fn-back::after{ content: none !important; }.footnotes-local .fn-back::before{
  content: "" !important;
  display: inline-block !important;

  width: 18px !important;               /* ★ アイコンサイズを大きめに */
  height: 18px !important;

  background: linear-gradient(135deg,#8E1B2A,#C73A47) !important; /* 赤系グラデ */
  -webkit-mask: url('data:image/svg+xml;utf8,\
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\
<path d="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></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="M9 8H5l4-4v3h5a6 6 0 1 1 0 12H7v-2h7a4 4 0 1 0 0-8H9v-1z"/></svg>') no-repeat center/contain !important;
}.footnotes-local .fn-title{
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #C73A47 !important;
}.section--profile .profile-card .name{
  position: relative;
  display: inline-block;
  line-height: 1.15;
  margin: 0;
  padding: 0 0 12px 0;
  white-space: nowrap;
}.section--profile .profile-card .name::after{
  content: "";
  position: absolute;
  left: 0.34em;  /* ← もっと短く：0.36em → 0.40em */
  right: 0.34em;
  bottom: 2px;   /* 密着させるなら 1px */
  height: 6px;   /* 細め 5px／太め 7px */
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green-900), var(--green-600));
  box-shadow: 0 2px 6px rgba(26,17,17,.18);
}@media (max-width: 640px){.section--profile .profile-card .name{
    padding-bottom: 10px;
  }.section--profile .profile-card .name::after{
    bottom: 1px;
    height: 5px;
    left: 0.30em;
    right: 0.30em;
  }}.section--profile .profiles .profile-card h2.name.name--xl{
  position: relative !important;
  display: inline-block !important;     /* ★文字幅に固定 */
  width: auto !important;
  max-width: max-content !important;    /* レイアウト都合の保険 */
  white-space: nowrap !important;       /* 折り返しで幅が変わらないように */
  margin: 0 !important;
  padding: 0 0 12px 0 !important;       /* 下線用の縦余白だけ確保（左右0） */
  /* 念のため：左右paddingが別所で付与されてもリセット */
  padding-left: 0 !important;
  padding-right: 0 !important;
}.section--profile .profiles .profile-card h2.name.name--xl::after{
  content: "" !important;
  position: absolute !important;
  bottom: 2px !important;               /* 1〜3pxで微調整 */
  left: 0.14em !important;              /* ★短さの要：0.44→0.48→0.52em と増やすほど短く */
  right: 0.14em !important;
  height: 6px !important;               /* 5〜7pxで太さ調整 */
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--green-900), var(--green-600)) !important; /* 赤系 */
  box-shadow: 0 2px 6px rgba(26,17,17,.18) !important; /* 任意の陰影 */
}@media (max-width: 640px){.section--profile .profiles .profile-card h2.name.name--xl{
    padding-bottom: 10px !important;
  }.section--profile .profiles .profile-card h2.name.name--xl::after{
    bottom: 1px !important;
    height: 5px !important;
    left: 0.16em !important;
    right: 0.16em !important;
  }}


/* === Keywords（最小構成・一人目の略歴直下だけ・左寄せ・1枠）=== */
/* ボックス外観（薄紅／角丸／影／赤タブ）＋左寄せ配置 */
html body .section--profile .profiles .profile-card:first-of-type ul.keywords {
  position: relative;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;   /* 左寄せ */
  align-items: center !important;
  gap: 22px !important;
  margin: 12px 0 0 !important;             /* 略歴直後の余白 */
  padding: 14px 20px 16px !important;
  max-width: none !important;
  border: 2px solid #7A0019 !important;     /* 赤系の枠 */
  border-radius: 10px !important;
  background: #FFF6F6 !important;           /* 薄紅 */
  box-shadow: 0 10px 26px rgba(10,40,30,.15) !important;
}
/* タブ（● Keywords）— 左上固定／赤タブ */
html body .section--profile .profiles .profile-card:first-of-type ul.keywords::before {
  content: "● Keywords";
  position: absolute;
  left: 14px;
  bottom: 100%;
  transform: translateY(8px);
  background: #7A0019;
  color: #fff;
  padding: 6px 12px;
  font: 900 0.9rem/1 var(--ff-text, system-ui);
  border-radius: 6px 6px 0 0;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(10,40,30,.18);
}
/* 中の並び：✓（赤）＋文字（本文色）だけに統一 */
html body .section--profile .profiles .profile-card:first-of-type ul.keywords > li {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap;
  list-style: none;
}
html body .section--profile .profiles .profile-card:first-of-type ul.keywords > li::before {
  content: "✔";
  margin-right: 8px;
  font-weight: 900;
  font-size: 1rem;
  color: #7A0019;                           /* ✓ は赤 */
}
html body .section--profile .profiles .profile-card:first-of-type ul.keywords .tag {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 800;
  font-size: 1rem;
  color: #0b1320;                            /* 文字は本文の濃い色 */
}
/* 念のため：同カード内に複数あっても “1枠だけ” */
html body .section--profile .profiles .profile-card:first-of-type ul.keywords:not(:first-of-type) {
  display: none !important;
}

/* 原寸の縦横比で画像全体を表示する（見切れ防止） */
.qa-photo--doc img {
  aspect-ratio: auto !important;  /* 既存の 16:9 指定を解除 */
  width: 100%;
  height: auto;
  object-fit: contain;            /* 画像全体を優先して収める */
  background: #fff;               /* 必要なら余白の下地 */
}

/* 4枚グリッド（PC：2×2、モバイル：1列） */
.qa-photos--four {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 640px) {
  .qa-photos--four { grid-template-columns: 1fr; gap: 10px; }
}

/* 写真を直角にするユーティリティ */
img.is-sharp {
  border-radius: 0 !important;
}

.qa-photo.is-sharp img,
.qa-photo--doc.is-sharp img,
.section .qa-photo--section.is-sharp img,
.profile-card .is-sharp.profile-photo {
  border-radius: 0 !important;
}

/* ==========================================================
   キーワード枠（赤系）＆ 1枠のみ表示（.keywords--show）
   ========================================================== */

/* 表示対象だけ明示（脚注直前に置く .keywords--show を 1つだけ付与） */
ul.keywords.keywords--show {
  display: grid !important;
  position: relative;
  margin: 24px 0 0 !important; /* 脚注の直前で少し余白を足す */
  padding: 12px 20px !important;
  border: 2px solid #C73A47 !important;      /* 赤系の枠線 */
  border-radius: 10px !important;
  background: #FFF6F6 !important;            /* ごく淡い赤系（白寄り） */
  box-shadow: 0 10px 26px rgba(10,40,30,.15) !important;

  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  column-gap: 28px !important;
  row-gap: 6px !important;
  align-items: center;
}

/* タブ（● Keywords）—赤系に統一 */
ul.keywords.keywords--show::before {
  content: "●  Keywords";
  position: absolute;
  left: 14px;
  bottom: 100%;
  transform: translateY(8px);
  background: #7A0019;                       /* 濃い赤 */
  color: #fff;
  padding: 6px 12px;
  font: 900 0.92rem/1 var(--ff-text, system-ui);
  border-radius: 6px 6px 0 0;
  box-shadow: 0 2px 6px rgba(10,40,30,.18);
  white-space: nowrap;
}

/* 中の1項目（チェック + 文字）— pill 装飾は排除してシンプルに */
ul.keywords.keywords--show li,
ul.keywords.keywords--show li .tag {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  gap: 0 !important;
  font-weight: 800 !important;
  color: #0b1320 !important;                  /* 本文色で締める */
  white-space: nowrap;
}

/* ✔ アイコン—赤系＆極小余白 */
ul.keywords.keywords--show li::before {
  content: "✔" !important;
  position: static !important;
  margin-right: 4px !important;
  color: #C73A47 !important;                   /* 赤 */
  font-size: 1.02rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* .tag 擬似は無効化（競合回避） */
ul.keywords.keywords--show li .tag::before { content: none !important; }

/* レスポンシブ */
@media (max-width: 960px){
  ul.keywords.keywords--show {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 560px){
  ul.keywords.keywords--show {
    grid-template-columns: 1fr !important;
  }
  ul.keywords.keywords--show li { white-space: normal !important; }
}

/* ==========================================================
   キーワード枠（赤） 最終上書きミニパッチ
   - 外枠が出ない／ピル装飾が勝ってしまう／黒い点が残る を全部リセット
   - 末尾配置が前提（styles.css の一番最後に置いてください）
   ========================================================== */

/* 1) ボックス自体：赤枠＋淡い赤背景＋グリッド再適用 */
body ul.keywords.keywords--show {
  display: grid !important;
  position: relative !important;
  margin: 24px 0 0 !important;
  padding: 12px 20px !important;
  border: 2px solid #C73A47 !important;
  border-radius: 10px !important;
  background: #FFF6F6 !important;
  box-shadow: 0 10px 26px rgba(10,40,30,.15) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 28px !important;
  row-gap: 6px !important;
  align-items: center !important;

  /* 既存の「消す系」や余計な見た目を全消し */
  list-style: none !important;
}

/* 2) タブ（● Keywords）：赤系で再定義 */
body ul.keywords.keywords--show::before {
  content: "●  Keywords" !important;
  position: absolute !important;
  left: 14px !important;
  bottom: 100% !important;
  transform: translateY(8px) !important;
  background: #7A0019 !important;
  color: #fff !important;
  padding: 6px 12px !important;
  font: 900 0.92rem/1 var(--ff-text, system-ui) !important;
  border-radius: 6px 6px 0 0 !important;
  box-shadow: 0 2px 6px rgba(10,40,30,.18) !important;
  white-space: nowrap !important;
}

/* 3) 行頭の黒い点や余白を完全に除去（li 初期化） */
body ul.keywords.keywords--show > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4) ピル装飾に勝つ：.tag を素の文字列に戻す（背景/枠/影/角丸を全OFF） */
body ul.keywords.keywords--show li,
body ul.keywords.keywords--show li .tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: #0b1320 !important;   /* 本文色で締める */
  font-weight: 800 !important;
  white-space: nowrap !important;
}

/* 5) ✔ チェックアイコンを赤で前置（擬似要素の通常フロー） */
body ul.keywords.keywords--show > li::before {
  content: "✔" !important;
  position: static !important;   /* absolute を使わない */
  margin-right: 4px !important;
  color: #C73A47 !important;
  font-size: 1.02rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  pointer-events: none !important;
}

/* 6) .tag 側の擬似要素を無効化（競合回避） */
body ul.keywords.keywords--show li .tag::before,
body ul.keywords.keywords--show li .tag::after {
  content: none !important;
}

/* 7) レスポンシブ（2列→1列） */
@media (max-width: 960px){
  body ul.keywords.keywords--show {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px){
  body ul.keywords.keywords--show {
    grid-template-columns: 1fr !important;
  }
  body ul.keywords.keywords--show li {
    white-space: normal !important;
  }
}
/* === リクエスト対応: 1) 1枚目タイトル帯を非表示 ===================== */
.pageTitle01#bukyoku { 
  display: none !important; 
}

/* === リクエスト対応: 2) プロフィール写真直下の注意書きスタイル ======== */
.profile-note {
  margin: 10px 2px 0;
  padding: 0;                /* 余白も不要なら 0 のままでOK */
  font-size: 0.95rem;
  color: #666666;            /* 薄いグレー */
  background: none !important;
  border: none !important;
}

/* === リクエスト対応: 3) 脚注の戻りアイコンを「←」に統一 ============= */
/* 既存のアイコンマスク・背景画像を無効化し、文字「←」だけを表示 */
.footnotes-local .fn-back {
  width: auto !important;
  height: auto !important;
  padding: 2px 6px !important;
  line-height: 1 !important;
  font-size: 0.9rem !important;
  color: #7A0019 !important;           /* 赤系文字色 */
  border: 1px solid #E6B8BE !important;
  border-radius: 999px !important;
  background: #FFF5F6 !important;
  text-decoration: none !important;
  /* 既存のアイコン用装飾をクリア */
  background-image: none !important;
  overflow: visible !important;
}

/* マスクで描いていたアイコンを抑止し、文字を出す */
.footnotes-local .fn-back::before,
.footnotes-local .fn-back::after {
  content: none !important;
}

/* 実際の「←」表示（ボタン内テキストで描画する想定だが、保険で content 指定） */
.footnotes-local .fn-back::before {
  content: "←" !important;            /* ← ここで明示 */
  display: inline-block !important;
  margin: 0 0 0 0 !important;
  color: inherit !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
}
/* ── 注意書き：写真直下に密着（背景・枠なし、薄グレー文字） */
.profile-note{
  margin: 2px 2px 0;   /* さらに寄せたい場合は 0～4px で微調整 */
  padding: 0;
  font-size: 0.95rem;
  color: #666;         /* 薄いグレー */
  background: none !important;
  border: none !important;
}

/* 画像の下余白ゼロ：note と段差なしで接続 */
.section--profile .profile-card .profile-photo{
  margin-bottom: 0;
}

/* 念のため：以前の「2人目だけ名前を下げる」指定があれば打ち消す */
.section--profile .profiles .profile-card:nth-of-type(2) .name{
  margin-top: 0 !important;
}
/* ── 脚注の戻りボタン「←」を1個だけに統一 ───────────────────────── */
/* 1) ボタン本体の文字は一旦“見えなく”する（中のゴミ文字もまとめて無効化） */
.footnotes-local .fn-back{
  font-size: 0 !important;           /* ← 中身のテキストを不可視化 */
  line-height: 0 !important;
  color: transparent !important;      /* 念のため */
  background-image: none !important;  /* 旧アイコンの背景を消す */
  -webkit-mask: none !important;      /* 旧マスクアイコンも消す */
  mask: none !important;
  overflow: visible !important;       /* 疑似要素の表示に影響しないように */
  padding: 2px 6px !important;        /* 見た目の余白は維持 */
  border: 1px solid #E6B8BE !important;
  border-radius: 999px !important;
  background: #FFF5F6 !important;
}

/* 2) 旧来の疑似要素装飾を完全リセット（多重定義対策） */
.footnotes-local .fn-back::before,
.footnotes-local .fn-back::after{
  content: none !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}

/* 3) 表示用の「←」を新たにだけ出す（この疑似要素だけ使う） */
.footnotes-local .fn-back::after{
  content: "←" !important;           /* ← ここで確定的に1個だけ描画 */
  font-size: 14px !important;         /* サイズはお好みで 12–16px */
  line-height: 1 !important;
  color: #7A0019 !important;          /* 既存の赤系に合わせる */
  display: inline-block !important;
  margin: 0 !important;
  transform: translateY(1px);         /* 垂直位置の微調整（不要なら削除） */
}
.qa-photo-caption-only p {
  text-align: center;
  font-size: 0.92rem;
  color: var(--muted);
  margin-top: 8px;
}
/* ==================== 脚注：戻るボタン（丸アイコン/24px/赤系） ==================== */
:root{
  /* ボタン直径（px）をここで一括管理できます */
  --fn-back-size: 24px;
}

/* 既存の混在指定を初期化 → 真円固定（横長にならない） */
.footnotes-local .fn-back{
  all: unset;                               /* 既存プロパティを一掃 */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;

  width: var(--fn-back-size) !important;
  height: var(--fn-back-size) !important;
  aspect-ratio: 1 / 1 !important;           /* 真円保証 */
  border-radius: 50% !important;

  border: 1px solid #E6B8BE !important;     /* 薄赤の枠 */
  background: #FFF5F6 !important;           /* ごく薄い赤の塗り */
  cursor: pointer !important;
  text-decoration: none !important;
}

/* 旧疑似要素や背景アイコンを完全リセット */
.footnotes-local .fn-back::before,
.footnotes-local .fn-back::after{
  content: none !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}

/* ← を1つだけ中央描画（サイズ・色は赤系） */
.footnotes-local .fn-back::after{
  content: "←" !important;
  display: inline-block !important;
  font-size: calc(var(--fn-back-size) * 0.58) !important; /* 24px基準で約14px */
  line-height: 1 !important;
  color: #7A0019 !important;                /* 濃い赤（サイト基調） */
  transform: translateY(0);                 /* 必要なら ±1px で微調整 */
}

/* hover（任意） */
.footnotes-local .fn-back:hover{
  background: #FDECEF !important;
}

/* ==================== 脚注：上付き番号（右上に出す数字）の色を赤系に ==================== */
/* 既存で何度か上書きされているため、最後に確実に締めます */
sup.footnote-ref{
  color: #C73A47 !important;                /* 赤系に統一（見出しトーンと整合） */
  font-weight: 800 !important;              /* 既存よりわずかに強調（任意） */
}
sup.footnote-ref a{
  color: inherit !important;                /* リンクも同色で */
  text-decoration: none;
}
/* PCのみ：ヒーロー1枚目（#hero-slide-1）の“左側”を必ず見せる */
@media (min-width: 641px){
  /* セレクタ強度を上げる：.hero .slides #hero-slide-1 に限定 */
  .hero .slides #hero-slide-1{
    background-position: 0% 50% !important; /* X=左端, Y=中央 */
    background-position-x: 0% !important;   /* 念のためX軸も個別指定 */
    background-position-y: 50% !important;  /* 念のためY軸も個別指定 */
  }
}
/* 6枚目：顔が入るように、やや上寄せで見せる */
.hero .slides #hero-slide-6{
  background-position: 50% 18% !important; /* X=中央, Y=18%（上寄せ） */
  /* 目安：10%～25%の範囲で微調整。もっと上にしたいなら数値を小さく */
}

/* （必要なら）PCとスマホで寄せ量を変える例 */
@media (min-width: 641px){
  .hero .slides #hero-slide-6{
    background-position: 50% 14% !important; /* PCはさらに上寄せ */
  }
}
@media (max-width: 640px){
  .hero .slides #hero-slide-6{
    background-position: 50% 22% !important; /* スマホは少し戻す */
  }
}
/* === 効果ブロック2枚組だけ、サイズを完全一致（16:9・cover） ======== */
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img{
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;   /* トリミングしてでも”同じ枠”に収める */
  background: #fff;               /* 透過や余白があっても下地で安定表示 */
}
:where(.section) :where(.qa-photo--section){
  display:block !important; width:100% !important; max-width:960px !important;
  margin:16px auto !important;
 }

/* === Heroの高さ：全体を少しだけ小さく（並びは維持） === */
.hero{
  min-height: 58vh;   /* 例：以前の 64vh から -6vh（PC用の軽い縮小） */
}

@media (max-width: 1199px){
  .hero{ min-height: 54vh; }  /* タブレット域：控えめに縮小 */
}

@media (max-width: 640px){
  .hero{ min-height: 46vh; }  /* スマホ域：視認性を保ちつつ少し縮める */
}
/* === HERO #3：余白なし（cover）を維持しつつ、さらに“引き”へ寄せる === */
.hero .slides #hero-slide-3{
  background-size: cover !important;
  background-position: 50% 42% !important; /* 44%→42% など微調整（さらに引く） */
  background-repeat: no-repeat !important;
}

/* 画面幅別の微調整例（必要に応じて1〜2%刻みで再調整可） */
@media (min-width: 1280px){
  .hero .slides #hero-slide-3{ background-position: 50% 44% !important; }
}
@media (max-width: 640px){
  .hero .slides #hero-slide-3{ background-position: 50% 40% !important; }
}

/* 2枚並びの高さ差が目立つ場合の保険（任意）：
   もう片方（オンライン説明会）に最小高さを合わせたいときはコメント解除
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo:not(.qa-photo--contain) img{
  min-height: 100%;                   // “均一高さ”を強めたい場合に検討
}
*/

/* =========================================================
   全国展開（zenkokutenkai.JPG）
   - 余白復活の原因：nocrop指定の contain/auto を後勝ちで上書き
   - 要件：やや小さく、トリミングあり（cover）、文字は切らない＝中央寄せ
   ========================================================= */

/* コンテナ幅をやや縮める（全体 100% → 約 1040px） */
:where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover){
  max-width: 1040px;               /* お好みで 960～1120px で微調整可 */
  margin: 16px auto !important;    /* 両端の余白を均等に */
}

/* 画像の見せ方：cover（左右の“表示上の余白”を解消） */
:where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover) img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important; /* 比率固定で見た目を端正に */
  object-fit: cover !important;    /* 余白をトリミングしてフィット */
  object-position: 50% 50% !important; /* 中央基準：内在テキストが切れにくい */
  background: #fff;                /* 念のための下地 */
}

/* 必要なら上下の見え方微調整（文字位置に合わせて上下をほんの少し上げ下げ） */
/* 例）上をわずかに広く見せたい場合：object-position: 50% 48%; */


/* =========================================================
   Gメンのチーム集合写真（syugosyashin.JPG）
   - 要件：サイズを少し小さく
   - 既定の qa-photo--section は幅 640～960px 付近なので、さらに抑える
   ========================================================= */
:where(.section) :where(.qa-photo--section.qa-photo--team){
  max-width: 840px;                /* お好みで 760～900px で微調整可 */
  margin: 16px auto !important;
}
:where(.section) :where(.qa-photo--section.qa-photo--team) img{
  width: 100%;
  height: auto;
  /* ここはトリミング不要想定 → contain/比率固定は使わず既定のままでOK */
}
/* =========================================================
   A) 「荷主等パトロールの全国展開」
   - 下が見切れる → “縦を少し増やす”＋“見せる位置を下寄りに”
   ========================================================= */
:where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover){
  /* フレーム自体を気持ち小さく（さらに控えめに見せる） */
  max-width: 1024px;           /* 以前: 1040px → 1024px に微縮小 */
  margin: 16px auto !important;
}

/* 画像の見せ方を微調整（縦を増やし、下寄りに） */
:where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover) img{
  width: 100% !important;
  height: auto !important;
  /* “横長 16:9”だと上下が切れやすいので、少し縦を増やす */
  aspect-ratio: 16 / 10 !important;   /* ← 16/9 から 16/10 に変更 */
  object-fit: cover !important;
  /* 下端の情報を優先して見せる（中央=50%から下方向へオフセット） */
  object-position: 50% 58% !important;  /* 52%〜62% で微調整可 */
  background: #fff;
}

/* もう少し余裕が必要なら “さらに縦長寄り” の候補
:where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover) img{
  aspect-ratio: 4 / 3 !important;      // 16/10 → 4/3 に変更
  object-position: 50% 54% !important; // 縦が増える分、寄せは弱めに
}
*/

/* =========================================================
   B) 「Gメンのチーム集合写真」サイズをもう少し小さく
   ========================================================= */
:where(.section) :where(.qa-photo--section.qa-photo--team){
  max-width: 760px;             /* 以前: 840px → 760px にさらに縮小 */
  margin: 16px auto !important;
}
@media (max-width: 640px){
  :where(.section) :where(.qa-photo--section.qa-photo--team){
    max-width: 92vw;            /* スマホでは画面幅基準でやや控えめ */
  }
}
/* ===== PCだけ適用（スマホは現状維持） ===== */
@media (min-width: 1025px){

  /* フレーム自体も少し小さく（控えめ表示） */
  :where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover){
    max-width: 920px;                 /* 以前より一段小さく。必要なら 920～980px で微調整 */
    margin: 16px auto !important;
  }

  /* 画像：より“縦長寄り”に＆下寄せで表示（＝下が見切れにくい） */
  :where(.section) :where(.qa-photo--section.qa-photo--edge.qa-photo--cover) img{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;   /* 16/9 → 16/10 → 4/3 とさらに縦を確保 */
    object-fit: cover !important;     /* 余白を切ってフィット（トリミングあり） */
    object-position: 50% 62% !important; /* 下側を優先表示（58～66%で1～2%刻み調整可） */
    background: #fff;
  }
}
/* ===== PCだけさらに小さく（スマホはそのまま） ===== */
@media (min-width: 1025px){

  :where(.section) :where(.qa-photo--section.qa-photo--team){
    max-width: 640px;     /* 840px → 760px → 640px まで縮小 */
    margin: 16px auto !important;
  }

  /* もっと小さくする場合は 600px / 560px などへ下げてください */
  /* :where(.section) :where(.qa-photo--section.qa-photo--team){ max-width: 560px; } */
}
/* =========================================================
   PC専用の強制上書き（スマホは現状維持）
   ※ 必ず styles.css の一番最後に置く
   ========================================================= */
@media (min-width: 1025px){

  /* ───────────────────────────────────────────────
     1) 「荷主等パトロール」“地図画像”の見切れ防止
        - トリミングなし（contain）に戻す
        - 画像自体の横幅を上限で絞って、左右の余白を抑える
     ───────────────────────────────────────────────
     ▼マッチ方法（どちらかでヒットします）
       A) alt に「荷主等パトロール」を含む
       B) 画像ファイル名に「map」「patrol」を含む
     必要に応じてキーワードを実ファイルに合わせてください
  */
  .section img[alt*="荷主等パトロール"],
  .section img[src*="map"],
  .section img[src*="patrol"]{
    width: min(940px, 100%) !important; /* 横幅の上限を設定（必要なら 900〜980pxで調整） */
    height: auto !important;
    aspect-ratio: auto !important;      /* 比率固定を解除 */
    object-fit: contain !important;      /* トリミングなしで全体表示 */
    object-position: 50% 50% !important; /* 中央基準（端の注記が切れにくい） */
    display: block !important;
    margin: 16px auto !important;        /* センター揃え */
    background: #fff;                     /* 念のための下地 */
  }

  /* ───────────────────────────────────────────────
     2) 「荷主等パトロールの全国展開」図版
        - “左右の余白復活”を避けつつ、下のテキストが切れない設定
        - contain 優先に戻し、サイズも少し控えめに
        - ファイル名に zenkokutenkai が含まれる想定（実名に合わせて変更OK）
     ─────────────────────────────────────────────── */
  .section img[src*="zenkokutenkai"]{
    width: min(980px, 100%) !important;  /* 以前より控えめに表示 */
    height: auto !important;
    aspect-ratio: auto !important;        /* 比率固定を解除 */
    object-fit: contain !important;        /* 文字やピンが切れないよう優先 */
    object-position: 50% 50% !important;
    display: block !important;
    margin: 16px auto !important;
    background: #fff;
  }

  /* ───────────────────────────────────────────────
     3) 「Gメンのチーム集合写真」をさらに小さく（PCのみ）
        - ファイル名 syugosyashin にヒット（実ファイル名に合わせて調整可）
     ─────────────────────────────────────────────── */
  .section img[src*="syugosyashin"]{
    width: min(600px, 100%) !important;   /* 640pxでも大きい場合 → 600/560 へ調整 */
    height: auto !important;
    display: block !important;
    margin: 16px auto !important;         /* センター揃え */
  }

  /* さらに小さくしたいときの目安（上の値を入れ替え）
     .section img[src*="syugosyashin"]{ width: min(560px, 100%) !important; }
  */
}
/* =========================================================
   PCだけに適用（スマホは現状維持）
   ※ 必ず styles.css の一番最後に置く
   ========================================================= */
@media (min-width: 1025px){

  /* ───────────────────────────────────────────────
     1) 地図画像（「荷主等パトロール」）の見切れ防止
        - 画像全体が入るように contain + 比率固定解除
        - 横幅は少し控えめ（左右の余白を抑えつつ収める）
        - ファイル名の一部でマッチ（実名に合わせて調整可）
          例：tachiyorisaki / map / patrol など
     ─────────────────────────────────────────────── */
  .section img[src*="tachiyorisaki"],
  .section img[src*="map"],
  .section img[src*="patrol"]{
    width: min(940px, 100%) !important;
    height: auto !important;
    aspect-ratio: auto !important;     /* 比率固定を解除 */
    object-fit: contain !important;     /* トリミングなし（見切れ防止） */
    object-position: 50% 50% !important;
    display: block !important;
    margin: 16px auto !important;
    background: #fff;
  }

  /* ───────────────────────────────────────────────
     2) 横並びの2枚（地図 ＆ オンライン説明会）の“上辺”を揃える
        - 2枚とも同じ高さのフレームに収め、object-fit で見せる
        - ここでは双方を contain で統一（文字や要素を切らない）
        - ファイル名 online などで右側サムネを特定
     ─────────────────────────────────────────────── */
  /* 2枚の“見える高さ”を同じにする（お好みで 260–360px で微調整） */
  .qa-photos.qa-photos--two img[src*="tachiyorisaki"],
  .qa-photos.qa-photos--two img[src*="map"],
  .qa-photos.qa-photos--two img[src*="patrol"],
  .qa-photos.qa-photos--two img[src*="online"]{
    width: 100% !important;
    height: 300px !important;          /* ← ここを同じ値にすることで上辺が揃う */
    object-fit: contain !important;     /* 文字や端要素を切らない */
    object-position: 50% 50% !important;
    background: #fff;
  }

  /* もし上下の余白感をさらに合わせたい場合は、ここを 280px / 320px に微調整 */

  /* ───────────────────────────────────────────────
     3) 「Gメンのチーム集合写真」をもっと小さく（PCのみ）
        - 画像そのものの幅上限を下げる
        - さらに確実に縮めたい場合は figure 側の最大幅も制御
     ─────────────────────────────────────────────── */
  .section img[src*="syugosyashin"]{
    width: min(560px, 100%) !important; /* 600px → 560px に縮小。さらに小さくなら 520px */
    height: auto !important;
    display: block !important;
    margin: 16px auto !important;
  }

  /* ブラウザが :has() をサポートしていれば、親の figure も小さくして“確実に”抑える */
  @supports selector(figure:has(img)){
    .section figure.qa-photo:has(img[src*="syugosyashin"]){
      max-width: 560px !important;     /* さらに小さくしたいときは 520px / 500px へ */
      margin: 16px auto !important;
    }
  }
}

/* =========================================================
   A) PCだけ：地図の見切れ防止 + 横並び2枚の“上辺”を揃える
   - 左：地図（tachiyorisaki / map / patrol でヒット）
   - 右：オンライン説明会（online でヒット）
   - 2枚の見える高さを同じにして、文字や端要素は切らない（contain）
   ========================================================= */
@media (min-width: 1025px){

  /* 左右どちらの画像も“見える高さ”を同じにする */
  .qa-photos.qa-photos--two img[src*="tachiyorisaki"],
  .qa-photos.qa-photos--two img[src*="map"],
  .qa-photos.qa-photos--two img[src*="patrol"],
  .qa-photos.qa-photos--two img[src*="online"]{
    width: 100% !important;
    height: 300px !important;          /* ← 高さを同じ値にする（280〜320pxで微調整可） */
    object-fit: contain !important;     /* トリミングなし＝見切れ防止 */
    object-position: 50% 50% !important;
    background: #fff;
    display: block !important;
  }

  /* 地図側：必要に応じて“実寸密度”を少し確保（横幅の上限を控えめに） */
  .section img[src*="tachiyorisaki"],
  .section img[src*="map"],
  .section img[src*="patrol"]{
    width: min(940px, 100%) !important; /* まだ小さく見えるなら 960/980px に上げる */
    height: auto !important;
    aspect-ratio: auto !important;      /* 比率固定は解除 */
    object-fit: contain !important;
    object-position: 50% 50% !important;
    margin: 16px auto !important;
    display: block !important;
  }

/* =========================================================
   C) スマホだけ：QA が右寄せになる項目の修正
   - QAブロックを“中央寄せの箱”にしつつ、本文は左揃えで読みやすく
   - 右寄せ化の原因になりがちな text-align / margin の逆寄せを打消し
   ========================================================= */
@media (max-width: 640px){

  /* QAブロックのラッパを中央寄せ（両端に余白） */
  .section .qa-row,
  .section .qa-row .qa{
    max-width: 92vw !important;   /* 余白つきの中央寄せ（お好みで 90〜94vw） */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 見出し・本文は“左揃え”で読みやすさ維持（右寄せ化を打消し） */
  .section .qa,
  .section .qa dt,
  .section .qa dd{
    text-align: left !important;
  }

  /* dt/dd の左右パディングをフラットに（右寄せに見える要因を除去） */
  .section .qa dd{
    padding-left: 18px !important;   /* 既存の 20/38px より控えめに */
    padding-right: 0 !important;
  }

  /* “テキストだけの行” も中央寄せの箱にそろえる */
  .section .qa-row.qa-row--textOnly{
    width: 100% !important;
    max-width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 画像つきQAのキャプション等が右に寄るのを予防 */
  .qa-photo figcaption{
    text-align: center !important;   /* 画像キャプションは中央で安定 */
  }
}
/* ==== FIX A: 「荷主等パトロール」地図を PC/SP とも “見切れなし(全体表示)”に ==== */
/* 画像ファイル名や alt を用いて “地図だけ” をピンポイント指定（必要に応じて調整可） */
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="tachiyorisaki"],
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="map"],
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="patrol"],
.section img[alt*="荷主等パトロール"]{
  object-fit: contain !important;   /* ← トリミング禁止（全体表示） */
  aspect-ratio: auto !important;    /* ← 固定比率(16:9)を解除 */
  height: auto !important;          /* ← 既存の固定高さ(例:300px)があれば解除 */
  width: 100% !important;
  background: #fff;                 /* 余白が出た場合の下地 */
  display: block !important;
  margin: 0 auto !important;
}

/* スマホ向けに “高さで整えたい” ときは、軽い上限を与える（任意/不要なら削除） */
@media (max-width: 640px){
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="tachiyorisaki"],
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="map"],
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="patrol"]{
    max-height: 56vh !important; /* 画面の約半分強。必要に応じ 50–62vh で微調整 */
  }
}
/* ==== FIX B: スマホで右寄せに見えるQAを “02セクションと同じ箱” に統一 ==== */
@media (max-width: 640px){
  /* QAのラッパと中身の箱を中央寄せ＆左右にゆとり（90〜94vwで微調整） */
  .section .qa-row,
  .section .qa-row .qa,
  .section .qa,
  .section .qa--full,
  .section .qa-row.qa-row--textOnly{
    max-width: 92vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* 中のテキストは “左揃え” を強制して読みやすく（右寄せの残りを打消し） */
  .section .qa dl,
  .section .qa dt,
  .section .qa dd{
    text-align: left !important;
  }
  /* 余計な左右パディング/インデントを均し、揃えを安定化 */
  .section .qa dd{
    padding-left: 18px !important;  /* 既存より控えめ */
    padding-right: 0 !important;
  }
  /* キャプションや補足が右に寄るのを防止（図版の下など） */
  .qa-photo figcaption,
  .qa-photo-caption-only p{
    text-align: center !important;  /* 図注は中央で安定 */
  }
}
/* === FIX-A: 「荷主等パトロール」地図は常に見切れなし（全体表示） === */
/* ファイル名 or alt で“地図だけ”を特定（必要に応じて文字列は調整可） */
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="tachiyorisaki"],
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="map"],
.qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="patrol"],
.section img[alt*="荷主等パトロール"]{
  /* 1) cover系・比率固定・固定高さの影響を全解除 */
  object-fit: contain !important;     /* ← トリミング禁止（全体表示） */
  aspect-ratio: auto !important;      /* ← 16:9等の固定比率を解除 */
  height: auto !important;            /* ← 先に 300px 等が入っていても解除 */
  width: 100% !important;
  background: #fff;                   /* 余白の下地 */
  display: block !important;
  margin: 0 auto !important;
}

/* スマホで縦方向に伸び過ぎるときの“安全上限”（任意：不要なら削除可） */
@media (max-width: 640px){
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="tachiyorisaki"],
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="map"],
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="patrol"],
  .section img[alt*="荷主等パトロール"]{
    max-height: 60vh !important; /* 目安: 50〜62vh で微調整可 */
  }
}

/* 右側の“オンライン説明会”と高さ感を合わせたい場合（任意） */
@media (max-width: 640px){
  .qa-photos.qa-photos--two.qa-photos--uniform .qa-photo img[src*="online"]{
    object-fit: contain !important;
    aspect-ratio: auto !important;
    height: auto !important;
    width: 100% !important;
    max-height: 60vh !important;
    background: #fff;
  }
}
/* === FIX-B: スマホでQAが右寄せに見える問題の最終統一 === */
@media (max-width: 640px){
  /* 1) QAの“箱”そのものを中央寄せに（幅=ビュー幅の92%） */
  .section .qa-row,
  .section .qa-row .qa,
  .section .qa,
  .section .qa--full,
  .section .qa-row.qa-row--textOnly,
  .section .qa-row .qa--full {
    max-width: 92vw !important;     /* ← 90〜94vwで微調整可 */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 2) “本文は左揃え”を徹底（右寄せの残りを打消し） */
  .section .qa dl,
  .section .qa dt,
  .section .qa dd {
    text-align: left !important;
  }

  /* 3) 余計な左右パディングを均し、文章の開始位置を安定させる */
  .section .qa dd{
    padding-left: 18px !important;  /* 既存 20/38pxより控えめに */
    padding-right: 0 !important;
  }

  /* 4) 画像キャプションなど“図注”は中央で安定 */
  .qa-photo figcaption,
  .qa-photo-caption-only p{
    text-align: center !important;
  }
}

/* =========================================================
   1) Breadcrumb（スマホで見切れない）
   - 折返しできるようにしつつ、必要時だけ横スクロール許可
   - 区切り「>」が行頭に孤立しにくい調整
   ========================================================= */
#breadcrumb { max-width: 100% !important; overflow: visible; }
#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; white-space: nowrap; }
#breadcrumb .arrow { display: inline-block; margin: 0 6px; flex: 0 0 auto; }

@media (max-width: 640px){
  /* 親の overflow-x:hidden を局所回避。必要時のみスクロール */
  #breadcrumb{ overflow-x: auto !important; -webkit-overflow-scrolling: touch; }

  /* 長い英数列で折返せない場合の保険（サイズ微調整） */
  #breadcrumb, #breadcrumb li, #breadcrumb a, #breadcrumb .arrow { font-size: 0.95em; }
}

/* =========================================================
   2) QA（スマホ）：右寄せに見える項目を“左揃え”に統一
   ＋ 両端にガター（左右余白）を確実に付与
   - セレクタ強度を上げて最終上書き（!important 併用）
   ========================================================= */
@media (max-width: 640px){
  /* 2-1) QAの箱を画面中央に配置し、左右にゆとり（ガター）を確保 */
  #wrapper .section .qa-row,
  #wrapper .section .qa-row .qa,
  #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;
  }

  /* 2-2) 中のテキストは左揃えを強制（右寄せの残りを打消し） */
  #wrapper .section .qa dl,
  #wrapper .section .qa dt,
  #wrapper .section .qa dd{
    text-align: left !important;
  }

  /* 2-3) インデントを軽く・右パディングを0にして“右寄せ見え”を解消 */
  #wrapper .section .qa dd{
    padding-left: 18px !important; /* 既存より少し控えめ */
    padding-right: 0 !important;
  }

  /* 2-4) 図版キャプションは中央寄せ（左右に引っ張られないように） */
  #wrapper .qa-photo figcaption,
  #wrapper .qa-photo-caption-only p{
    text-align: center !important;
  }
}
/* =========================================================
 脚注：色指定の最終上書き
  - 脚注文字：赤系
  - URLリンク：薄いグレー
========================================================= */

/* 脚注ブロック全体の基本文字色 */
.footnotes-local {
  color: #7A0019 !important; /* 濃い赤（基調色） */
}

/* 脚注タイトル「脚注」 */
.footnotes-local .fn-title {
  color: #7A0019 !important;
}

/* 上付きの脚注番号（本文側） */
sup.footnote-ref,
sup.footnote-ref a {
  color: #C73A47 !important; /* 少し明るい赤 */
}

/* 脚注内の番号（1. など） */
.footnotes-local ol,
.footnotes-local li {
  color: #7A0019 !important;
}

/* 戻りボタン（←） */
.footnotes-local .fn-back,
.footnotes-local .fn-back::after {
  color: #7A0019 !important;
}

/* ===============================
 URLリンク（薄いグレー）
=============================== */
.footnotes-local a[href^="http"] {
  color: #9AA0A6 !important;        /* 薄いグレー */
  text-decoration: underline;
  text-decoration-color: #C9CDD2;  /* 下線も薄グレー */
}

/* hover時だけ少し濃く（任意） */
.footnotes-local a[href^="http"]:hover {
  color: #6F767D !important;
  text-decoration-color: #6F767D;
}

/* 既存の緑系アイコン・マスクを完全に無効化 */
.footnotes-local a[href^="http"]::before {
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}