/* WordPress 化に伴う追加・上書き（site.css は下書き v120 のまま） */

/* 確認用の帯が無いときはヘッダーを上に詰める（site.js が実際の高さを入れる） */
:root{ --revh:0px; }

/* 読み上げ用の見出し */
.screen-reader-text{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* お知らせはリンクになった（下書きでは「準備中」） */
a.newsitem{ color:inherit; text-decoration:none; cursor:pointer; }
a.newsitem::after{ content:none; }
a.newsitem:hover p{ text-decoration:underline; text-underline-offset:3px; }
.news--list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.news li[data-info="important"] em{ color:var(--c-imp); }

/* 研究を探す：絞り込みで隠した行 */
.reg .row[hidden]{ display:none!important; }

/* お知らせの本文 */
.post-body p{ font-size:var(--f4); line-height:2.1; margin:0 0 1.2em; }
.post-body h2{ font-family:var(--mincho); font-size:var(--f6); margin:2em 0 .8em; }

/* ページ送り */
.navigation.pagination{ margin-top:var(--s4); }
.nav-links{ display:flex; gap:8px; flex-wrap:wrap; font-family:var(--mono); font-size:var(--f2); }
.nav-links a,.nav-links span{ padding:6px 12px; border:1px solid var(--rule); color:var(--ink); text-decoration:none; }
.nav-links .current{ background:var(--gr); color:#fff; border-color:var(--gr); }

/* 確認用の帯のボタン（リンクにした） */
a.revbar__b{ text-decoration:none; display:inline-block; }

/* ログイン中の管理バーとの重なり */
body.admin-bar .revbar{ top:32px; }
@media (max-width:782px){ body.admin-bar .revbar{ top:46px; } }

/* WordPress が出す要素 */
.wp-block-html{ margin:0; }
img{ max-width:100%; height:auto; }

/* ------------------------------------------------------------
 * 背景「反転」の補正
 *   下書きの後半のスタイルで白・薄い色を直接指定している箇所が、
 *   反転時に「白地に白い文字」になっていたため、変数の色に置き換える。
 *   図版（SVG・画像）は紙の図として白地のまま残す。
 * ------------------------------------------------------------ */
:root[data-contrast="dark"] body{ background:var(--paper)!important; }
:root[data-contrast="dark"] :is(.balance,.card,.dosekey,.facts>div,.how--obs,.how--rnd,.huai-compare>div,.huai-evidence-grid article,
  .huai-overview-hero,.japan-outlook__card,.keyst,.kvp__b,.mech-evidence-card,.mech-journal,.phys,.pillars,.saynot,.tc__a,.updown,.vs__g,
  .mech--redraw .fig figcaption){ background:var(--card)!important; }
:root[data-contrast="dark"] :is(.dose-overview,.huai-compare>div+div,.huai-note,.huai-overview-hero__facts,.japan-outlook__note,
  .mech-journal__rail,.mech-sourcebar,.saynot__c--n,.updown__c--d){ background:var(--paper2)!important; border-color:var(--rule)!important; }
:root[data-contrast="dark"] .kv{ background:var(--paper)!important; }
:root[data-contrast="dark"] .kv::before{ background:
  linear-gradient(104deg,rgba(11,14,18,.92) 0%,rgba(11,14,18,.82) 22%,rgba(11,14,18,.52) 40%,rgba(11,14,18,.2) 60%,rgba(11,14,18,0) 92%),
  linear-gradient(to top,rgba(11,14,18,.88) 0%,rgba(11,14,18,.46) 20%,rgba(11,14,18,0) 60%)!important; }
@media(max-width:900px){ :root[data-contrast="dark"] .kv::before{ background:
  linear-gradient(to top,rgba(11,14,18,.97) 0%,rgba(11,14,18,.94) 34%,rgba(11,14,18,.8) 50%,rgba(11,14,18,.34) 68%,rgba(11,14,18,0) 100%)!important; } }
:root[data-contrast="dark"] :is(.kv__h.kv__h--long,.dose-overview strong,.dose-overview p,.dose-overview__label,.huai-overview-hero__copy p,
  .pyr-journal__focus p,.huai-compare li,.huai-compare p,.mech-journal__rail p,.huai-evidence-grid p,.japan-outlook__card p,.japan-outlook__note,
  .mech-evidence-card p,.pyr-l5){ color:var(--ink2)!important; }
:root[data-contrast="dark"] :is(.kv__h.kv__h--long,.dose-overview strong){ color:var(--ink)!important; }
:root[data-contrast="dark"] [style*="color:#59636c"]{ color:var(--ink2)!important; }
/* 図版は白地のまま（線・文字が濃紺で描かれているため） */
:root[data-contrast="dark"] :is(.fgr__b,.fig,.jplate,.pyr-journal,.pyr,.science-plate,.immune-balance-plate,.mech-journal__figure,.evidence-map){ background:#fff!important; color:#1b1e24; }
:root[data-contrast="dark"] :is(.fgr__b,.fig,.jplate,.pyr-journal,.pyr,.science-plate,.immune-balance-plate,.evidence-map) :is(p,b,small,span,figcaption,li,td,th,dd,dt){ color:#4d5461; }
:root[data-contrast="dark"] .kvp__n b{ color:var(--gr)!important; }
:root[data-contrast="dark"]{
  --aka:#e08b8b; --aka-d:#f0a5a5; --aka-p:#2a1719;
  --j-ink:var(--ink); --j-muted:var(--ink2); --j-rule:var(--rule); --j-paper:var(--paper2); --j-blue:#15202f;
  --j-green:#8fbfae; --j-green2:#6f9c8e; --j-red:#e08b8b;
}
/* 反転時、明るい青の地に白文字になる箇所は濃い文字に */
:root[data-contrast="dark"] :is(.bnr .key,.bnr .key *,.phys__cta,.phys__cta *){ color:var(--on-gr)!important; }
:root[data-contrast="dark"]{ --ink3:#8c94a0; }
:root[data-contrast="dark"] :is(.fgr__b,.fig,.jplate,.pyr-journal,.pyr,.science-plate,.immune-balance-plate,.evidence-map) :is(h2,h3,h4,strong,em){ color:#1b1e24; }
:root[data-contrast="dark"] .cite p{ background:var(--paper2)!important; color:var(--ink2)!important; }

/* スマホ・タブレット：左ナビは「いま見ているセクション」だけを本文の上に出す
 * （下書きでは全セクションの一覧が本文の上に並び、見出しまで遠かった）。
 * 他のセクションへは MENU から。ページ内の目次はスマホでは出さない。 */
@media(max-width:919px){
  .lnav > b:not(.is-cur), .lnav > ul:not(.is-cur), .lnav .toc{ display:none!important; }
  .lnav{ margin-bottom:0; border-bottom:1px solid var(--rule); }
}
/* 確認用の帯はスマホでは追従させない（画面を狭くしないため） */
@media(max-width:919px){ .revbar{ position:static!important; } .hdr{ top:0!important; } }

/* ------------------------------------------------------------
 * 文字の大きさの下限（スマホ確認での指摘：見出しの小さい英字・赤字の小見出し・出典など）
 *   下書きでは 7〜11px の文字が多かったため、すべて 12px（文字「大」では 13.5px）以上にする。
 *   site.css から自動抽出した指定を上書きしている。
 * ------------------------------------------------------------ */
:root{ --f0:.75rem; --f1:.75rem; --f2:.8125rem; --f3:.875rem; }
#v-howto .pyr figcaption,
.about a .no,
.arm__x,
.armleg .arm,
.armleg b,
.armleg__d,
.armleg__n,
.biblio dt,
.bnr .k,
.card__h i,
.card__h s,
.card__n em,
.card__n s,
.card__r b,
.card__x a,
.card__x s,
.cmpx__k,
.cmpx__m,
.cq__n,
.crumb,
.cv__j,
.cv__ph,
.cv__y,
.cvcap,
.cvnote,
.derive__s b,
.dir,
.dose-overview__label,
.dosekey__h i,
.dosekey__h s,
.facts dt,
.fgr__n,
.fgr__s,
.fig figcaption,
.ftr__base small,
.hd h2 s,
.how,
.howto-reading-rail small,
.huai-compare p,.huai-compare li,
.huai-compare ul,
.huai-evidence-grid article:first-child h3::after,
.huai-evidence-grid p,
.huai-note,
.huai-overview-hero__fact span,
.huai-timeline__item p,
.imp em,
.japan-footnote,
.japan-outlook__card .n,
.japan-outlook__card p,
.japan-outlook__note,
.japan-vision-row p,
.jplate__hd small,
.jstd__h s,
.keyst__c .k,
.keyst__c .s,
.kv__copy::after,
.kv__en,
.kv__s figcaption,
.kvc__k,
.kvc__sc,
.kvp__f,
.kvp__h a,
.kvp__h i,
.kvp__n a u,
.kvp__n i,
.kvp__n s,
.legend,
.mark s,
.mech-evidence-card p,
.mech-journal__figure figcaption,
.mech-journal__rail .k,
.mech-journal__rail p,
.mech-path__row b,
.mech-path__row small,
.mech-path__row span,
.mech-sourcebar,
.news .new,
.news em,
.newsitem::after,
.num s,
.ph small,
.phys__b dd em,
.phys__cta small,
.phys__h h2 s,
.phys__tag,
.pillar__pre,
.pyr-caption,
.pyr-journal__axis,
.pyr-journal__focus .k,
.pyr-journal__focus .unit,
.pyr-journal__focus a,
.pyr-journal__focus p,
.pyr-journal__sub,
.pyr-level small,
.raw dt,
.row .ctl b,
.row .id .pk,
.row .n,
.row__x a,
.row__x s,
.saynot__c > b s,
.science-source,
.sldr__ctl span,
.src,
.story__p > div:first-child,
.tag,
.tbl,
.tbl th,
.tbl tr.grp em,
.tc__a span,
.tc__id,
.tc__k,
.tc__m dt,
.tc__st,
.tl__d,
.toc a s,
.trl .chip,
.trl thead th,
.updown__c .k,
.updown__c small,
.vd,
.vl__t,
.vl__x,
.vs__a b,
.vs__m,
.vs__t,
.xlinks a i{ font-size:.75rem!important; }
@media(min-width:920px){
.lnav a,.lnav .soon,
.lnav b{ font-size:.75rem!important; }
}
@media(max-width:760px){
.dose-overview p{ font-size:.75rem!important; }
}
[style*="font-size:.68rem"],[style*="font-size:.67rem"]{ font-size:.75rem!important; }

/* ------------------------------------------------------------
 * スマホのメニュー：カテゴリーをタップすると下層ページが開く（アコーディオン）
 * ------------------------------------------------------------ */
@media(max-width:919px){
  .nav__g>a{ font-size:var(--f4)!important; padding-block:12px!important; }
  .nav__g>a::after{ content:"＋"!important; }
  .nav__g.x>a::after{ content:"－"!important; }
  .nav__g.x .mega{ display:block!important; }
  .mega{ position:static; background:none; border:0; padding:0 0 8px 12px; }
  .mega__in{ display:block; padding:0; }
  .mega__in>div:first-child{ display:none; }
  .mega ul{ display:block; }
  .mega a.item{ font-size:var(--f3)!important; padding-block:11px; color:var(--ink2); }
  .mega a.item::after{ content:"→"; }
}

/* ------------------------------------------------------------
 * 同じカテゴリーの他のページ（本文の下。スマホでは左ナビの代わり）
 * ------------------------------------------------------------ */
.sibnav{ margin-top:var(--s5); border-top:2px solid var(--gr); padding-top:var(--s3); }
.sibnav__h{ font-family:var(--mono); font-size:.75rem; letter-spacing:.14em; color:var(--gr); margin-bottom:10px; }
.sibnav__h b{ display:block; font-family:var(--mincho); font-size:var(--f5); letter-spacing:.04em; color:var(--ink); font-weight:600; margin-top:4px; }
.sibnav ul{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:0 var(--s3); }
.sibnav li{ border-bottom:1px solid var(--rule); }
.sibnav a{ display:flex; justify-content:space-between; gap:12px; padding:13px 2px; font-size:var(--f3); color:var(--ink2); }
.sibnav a::after{ content:"→"; color:var(--ink3); }
.sibnav a[aria-current]{ color:var(--gr); font-weight:600; }
.sibnav a[aria-current]::after{ content:"表示中"; font-size:.75rem; font-weight:400; }
.sibnav__pn{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:var(--s3); }
.sibnav__pn a{ display:block; border:1px solid var(--rule); padding:12px 14px; font-size:var(--f3); color:var(--ink); background:var(--card); }
.sibnav__pn a small{ display:block; font-family:var(--mono); font-size:.75rem; letter-spacing:.12em; color:var(--ink3); margin-bottom:4px; }
.sibnav__pn a.n{ text-align:right; grid-column:2; }
@media(min-width:920px){ .sibnav ul{ display:none; } .sibnav__h{ display:none; } .sibnav{ border-top:1px solid var(--rule); } }

/* スマホでは上部の左ナビ（現在のセクションの横スクロール）は消し、本文下の一覧に寄せる */
@media(max-width:919px){ .lnav{ display:none!important; } }

/* ------------------------------------------------------------
 * 図（SVG）：スマホで縮みすぎて文字が読めないため、最小幅を決めて横にスクロール
 * ------------------------------------------------------------ */
@media(max-width:700px){
  .fgr__b{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .fgr__b>svg{ min-width:600px; }
  .fgr__b::after{ content:"← 横にスクロールできます →"; display:block; text-align:center; font-size:.75rem; color:var(--ink3); padding-top:6px; position:sticky; left:0; }
}
/* font 一括指定で小さくなっていた箇所 */
.evidence-map__center span,
.evidence-map__ends small,
.evidence-row__num,
.figure-reading__n,
.howto-reading-rail span,
.huai-compare .kicker,
.huai-evidence-grid .num,
.huai-overview-hero__copy .eyebrow,
.huai-overview-hero__fact span,
.huai-timeline__year,
.japan-compare-head span,
.japan-vision-row .num,
.japan-vision-row .status,
.kv__s::after,
.six-actions-figure .figure-marker{ font-size:.75rem!important; }
@media(max-width:919px){ .nav{ bottom:0; } .nav.on{ border-top:1px solid var(--rule); } }
/* 表紙の代わりの意匠（小さな図版の中の文字）は元の大きさに戻す */
html body .cv .cv__j{ font-size:.68rem!important; } html body .cv .cv__y{ font-size:.6rem!important; } html body .cv .cv__ph{ font-size:.5rem!important; }

/* ------------------------------------------------------------
 * 研究の概況（台帳から自動集計）
 * ------------------------------------------------------------ */
.gl__lead{ font-size:var(--f4); line-height:2; color:var(--ink); max-width:52em; margin-bottom:var(--s3); }
.gl__k{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:2px solid var(--gr); border-bottom:1px solid var(--rule); }
.gl__k>div{ padding:18px 16px; border-left:1px solid var(--rule); }
.gl__k>div:first-child{ border-left:0; }
.gl__k b{ display:block; font-family:var(--mincho); font-size:2.2rem; font-weight:600; line-height:1.1; color:var(--gr); font-variant-numeric:tabular-nums; }
.gl__k b s{ text-decoration:none; font-family:var(--sans); font-size:.8125rem; font-weight:400; color:var(--ink2); margin-left:3px; }
.gl__k span{ display:block; font-size:.8125rem; color:var(--ink2); margin-top:6px; line-height:1.6; }
.gl__g{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:var(--s4); margin-top:var(--s3); }
.gl__t{ font-size:.8125rem; color:var(--ink2); margin:14px 0 8px; font-weight:600; }
.gl__c{ display:flex; flex-wrap:wrap; gap:6px; }
.gl__c li{ border:1px solid var(--rule); background:var(--card); padding:4px 10px; font-size:.8125rem; color:var(--ink); }
.gl__c li b{ font-family:var(--mono); color:var(--gr); margin-left:6px; font-weight:600; }
.gl__y{ display:flex; align-items:flex-end; gap:6px; height:150px; padding-top:22px; border-bottom:1px solid var(--ruleS); }
.gl__y li{ flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; position:relative; }
.gl__bar{ width:100%; max-width:26px; background:var(--gr); position:relative; min-height:3px; }
.gl__bar b{ position:absolute; top:-18px; left:50%; transform:translateX(-50%); font-size:.75rem; color:var(--ink2); font-weight:500; }
.gl__y i{ position:absolute; bottom:-22px; font-style:normal; font-size:.75rem; color:var(--ink3); }
.gl__qa{ margin-top:var(--s5); }
.gl .legend{ margin-top:var(--s3); }
.gl .legend a{ border-bottom:1px solid var(--ink3); }
@media(max-width:760px){
  .gl__k{ grid-template-columns:1fr 1fr; }
  .gl__k>div:nth-child(3){ border-left:0; }
  .gl__k>div:nth-child(n+3){ border-top:1px solid var(--rule); }
  .gl__g{ grid-template-columns:1fr; gap:var(--s3); }
  .gl__y li:nth-child(odd) i{ visibility:hidden; }
}
.gl__h3{ font-family:var(--mincho); font-size:var(--f6); font-weight:600; }
.gl__st td small{ font-size:.75rem; color:var(--ink3); }
.gl__lv{ display:inline-block; font-size:.8125rem; padding:2px 8px; border:1px solid var(--rule); line-height:1.6; }
.gl__lv[data-lv="a"]{ background:var(--gr); color:var(--on-gr); border-color:var(--gr); }
.gl__lv[data-lv="b"]{ border-color:var(--gr); color:var(--gr); }
.gl__lv[data-lv="c"]{ border-style:dashed; color:var(--ink2); }
.gl__lv[data-lv="d"]{ border-style:dotted; color:var(--ink3); }
.gl__tbl td small{ display:block; font-size:.75rem; color:var(--ink3); margin-top:2px; }
.gl__tbl td:last-child{ font-size:.8125rem; line-height:1.8; color:var(--ink); min-width:16em; }
.gl__na{ color:var(--ink3); }
.gl__note{ margin-top:var(--s3); border-left:3px solid var(--gr); background:var(--gr-tint); padding:14px 18px; font-size:.875rem; line-height:1.95; color:var(--ink); }
.gl__note b{ display:block; font-size:.75rem; letter-spacing:.14em; color:var(--gr); margin-bottom:4px; }
.pmb{ display:inline-block; font-size:.75rem; line-height:1.5; padding:0 6px; border:1px solid var(--gr); color:var(--gr); white-space:nowrap; }
.pmb[data-pm="journal"]{ border-style:dashed; }
.pmb[data-pm="no"]{ border-color:var(--ink3); color:var(--ink3); }
.post-body a{ border-bottom:1px solid var(--ink3); color:var(--gr); }

/* 研究の広がり（短い版） */
.glc{ border-top:2px solid var(--gr); border-bottom:1px solid var(--rule); padding:18px 0 20px; margin-bottom:var(--s4); }
.glc__h{ font-family:var(--mincho); font-size:1.125rem; font-weight:600; line-height:1.7; color:var(--ink); margin-bottom:14px; }
.glc__k{ display:flex; flex-wrap:wrap; gap:8px 36px; }
.glc__k b{ font-family:var(--mincho); font-size:1.75rem; font-weight:600; color:var(--gr); line-height:1.1; font-variant-numeric:tabular-nums; }
.glc__k b s{ text-decoration:none; font-family:var(--sans); font-size:.8125rem; font-weight:400; color:var(--ink2); margin-left:3px; }
.glc__k span{ display:block; font-size:.8125rem; color:var(--ink2); margin-top:2px; }
.glc__c{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.glc__c li{ border:1px solid var(--rule); background:var(--card); padding:3px 10px; font-size:.8125rem; }
.glc__c li b{ font-family:var(--mono); color:var(--gr); margin-left:6px; font-weight:600; }
.glc__more{ display:inline-flex; margin-top:14px; }
.glc__k>a,.glc__k>div{ display:block; color:inherit; text-decoration:none; }
.glc__k>a:hover span{ text-decoration:underline; text-underline-offset:3px; }
.glc__k b em{ font-style:normal; font-family:var(--sans); font-size:1rem; color:var(--ink3); margin:0 4px; }
.glc__a{ margin-top:14px; display:grid; gap:8px; }
.glc__a>div{ display:grid; grid-template-columns:5.5em minmax(0,1fr); align-items:start; gap:8px; }
.glc__a dt{ font-size:.8125rem; color:var(--ink2); padding-top:4px; font-weight:600; }
.glc__a .glc__c{ margin-top:0; }
.glc__n{ font-size:.75rem; color:var(--ink3); margin-top:12px; line-height:1.8; }
@media(max-width:560px){ .glc__a>div{ grid-template-columns:1fr; gap:4px; } }

/* ------------------------------------------------------------
 * 文字のコントラスト（スマホ確認での指摘：薄い・背景とぼける）
 *   補助の文字色（--ink3）が背景に対して 3:1 程度しかなかったため、
 *   本文の補足でも 4.5:1 以上になるよう濃くする。
 * ------------------------------------------------------------ */
:root{ --ink2:#3f4552; --ink3:#5f6673; }
/* キービジュアルの見出し：光彩（白いぼかし）で文字がにじんで見えるため外す */
.kv__h, .kv__h.kv__h--long, .kv__en{ text-shadow:none!important; }
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
/* フッター（濃紺地）の住所・要記入の印が読めなかったため明るくする */
.ftr p[style*="color:var(--ink2)"]{ color:#c9d2e3!important; }
.ftr .todo{ color:#ffb4b4!important; border-color:#ffb4b4!important; }
/* 「未記入」の印は半透明をやめる */
.row__x s, .card__x s{ opacity:1!important; color:var(--ink3)!important; }

/* ------------------------------------------------------------
 * スマホの見やすさ
 * ------------------------------------------------------------ */
.glc__a dd{ margin:0; }
@media(max-width:560px){
  /* 研究の行：識別子と表題を縦に積み、表題の幅を確保 */
  .row .h{ display:block; }
  .row .h .id{ display:flex; gap:8px; align-items:center; margin-bottom:4px; }
  .row .h .t{ font-size:.9375rem; line-height:1.7; }
  /* 研究の広がり：数字を横に3つ並べて縦に伸びないように */
  .glc__k{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .glc__k b{ font-size:1.5rem; }
  .glc__k span{ font-size:.75rem; line-height:1.5; }
  .glc__h{ font-size:1rem; }
  /* 本文の基本の文字を少し大きく、行間をゆったり */
  .pmain p, .pmain li, .pmain dd, .pmain td{ line-height:1.95; }
}

/* ============================================================
 * スマホの UI 調整（間延び・見えづらさの解消）
 * ============================================================ */
.trl__more td{ text-align:center; padding:18px 0!important; border-bottom:0!important; }
@media(max-width:760px){
  /* 余白を詰めて、情報のまとまりを近づける */
  .sec{ padding-block:36px!important; }
  .sec.sec--flat{ padding-block:8px 28px!important; }
  .hd{ margin-bottom:14px!important; }
  .hd h2{ font-size:1.25rem!important; line-height:1.5!important; }
  .phead{ padding-bottom:18px!important; margin-bottom:18px!important; }
  .phead h1{ font-size:1.6rem!important; line-height:1.45!important; letter-spacing:.02em!important; }
  .phead p{ font-size:.875rem!important; line-height:1.85!important; }
  .crumb{ padding-top:14px!important; }
  body{ letter-spacing:.01em; }
  .pmain p, .pmain li, .pmain dd, .pmain td{ line-height:1.85!important; }
  .wrap{ padding-inline:18px!important; }

  /* 試験の表をカードに（横に細長く切れていたため） */
  .mapwrap:has(> table.trl), .mapwrap:has(> table[data-trials]){ overflow:visible!important; }
  table.trl, table[data-trials]{ min-width:0!important; width:100%!important; display:block; border:0; }
  table.trl thead, table[data-trials] thead{ display:none; }
  table.trl tbody, table[data-trials] tbody{ display:block; }
  table.trl tr, table[data-trials] tr{
    display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"id st" "nm nm" "vs vs" "n n";
    gap:6px 10px; padding:16px 14px; margin-bottom:10px; background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--gr);
  }
  table.trl td, table[data-trials] td{ display:block; padding:0!important; border:0!important; min-width:0; text-align:left!important; }
  table.trl td.id, table[data-trials] td.id{ grid-area:id; font-size:.8125rem; }
  table.trl td.st, table[data-trials] td:last-child{ grid-area:st; justify-self:end; font-size:.75rem; }
  table.trl td.nm, table[data-trials] td.m{ grid-area:nm; font-size:.9375rem; line-height:1.65!important; font-weight:600; }
  table.trl td.vlcell, table[data-trials] td.vlcell{ grid-area:vs; }
  table.trl td.r, table[data-trials] td.r{ grid-area:n; font-size:.8125rem; color:var(--ink2); }
  table.trl td.r::before, table[data-trials] td.r::before{ content:"目標例数 "; color:var(--ink3); }
  table.trl tr.trl__more, table[data-trials] tr.trl__more{ display:block; background:none; border:0; padding:4px 0; }
  .cmpx{ display:block; }
  .cmpx__a{ display:flex; flex-wrap:wrap; gap:4px 6px; margin:6px 0 4px; font-size:.8125rem; }
  .cmpx__m{ display:block; font-size:.75rem; line-height:1.7; }

  /* トップのバナー・カードの間隔 */
  .bnr a{ padding:14px!important; }
  .about a{ padding:14px!important; }
  .grid2{ gap:24px!important; }
}

/* 資料ダウンロード */
.docs__lead{ font-size:.875rem; line-height:1.9; color:var(--ink2); margin:-4px 0 12px; }
.docs{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.docs__i{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 4px; border-bottom:1px solid var(--rule); }
.docs__t{ min-width:0; }
.docs__k{ display:inline-block; font-size:.75rem; color:var(--gr); border:1px solid var(--gr); padding:0 6px; margin-right:8px; vertical-align:2px; }
.docs__t b{ font-weight:600; font-size:.9375rem; line-height:1.7; }
.docs__t small{ display:block; font-size:.75rem; color:var(--ink3); margin-top:2px; }
.docs__dl{ flex:none; display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border:1px solid var(--gr); color:var(--gr); background:var(--card); font-size:.8125rem; font-weight:600; text-decoration:none; transition:background .2s, color .2s; }
.docs__dl s{ text-decoration:none; font-weight:400; font-size:.75rem; opacity:.8; }
.docs__dl:hover{ background:var(--gr); color:#fff; }
@media(max-width:560px){ .docs__i{ flex-direction:column; align-items:flex-start; gap:8px; } }

/* =========================================================
 * 2026-10 明るさ・視認性の見直し
 *   ベースを白に、主色を明るい藍に。ナビ・タブ・ボタン・左メニューの状態を明確に。
 * ========================================================= */
:root:not([data-contrast="dark"]){
  --paper:#ffffff; --paper2:#f3f6fa; --warm:#f3f6fa; --card:#ffffff;
  --rule:#e1e6ed; --ruleS:#c5cfdc;
  /* --gr は本文の見出し・数値にも使われるため、落ち着いた藍にする。ボタン・タブ・ナビなど操作部品は --acc */
  --gr:#1b2f57; --gr2:#2a4377; --gr-tint:#ebf2fc; --on-gr:#ffffff;
  --acc:#1f4f96; --acc2:#2d66b8;
  --fill:#1b2f57;
  --c-soc:#1b2f57; --c-reg:#2a5a78; --c-pub:#4f4280; --c-ext:#7d5c18;
}
/* ヘッダー */
.hdr{ background:#fff; border-bottom:1px solid var(--rule); }
:root[data-contrast="dark"] .hdr{ background:var(--paper); }
@media(min-width:920px){
  .nav__g>a, .nav__g>a:first-of-type{ color:var(--ink)!important; font-weight:500; }
  .nav__g>a:hover, .nav__g.open>a{ color:var(--acc)!important; }
  .nav__g>a::after{ height:3px; bottom:12px; }
  .mega{ background:#fff!important; border-top:1px solid var(--rule); border-bottom:3px solid var(--acc)!important; box-shadow:0 12px 28px rgba(20,40,80,.10); }
  :root[data-contrast="dark"] .mega{ background:var(--card)!important; }
  .mega a.item{ color:var(--ink)!important; border-radius:4px; padding-inline:10px!important; }
  .mega a.item:hover, .mega a.item:focus-visible{ background:var(--gr-tint); color:var(--acc)!important; }
  .mega__top{ background:var(--acc)!important; color:#fff!important; }
  .mega__top:hover{ background:var(--acc2)!important; }
}
/* お知らせのタブ（選択中は白文字に統一） */
.tabs{ border-bottom:2px solid var(--acc); gap:2px; }
.tabs button{ color:var(--ink2); border-radius:6px 6px 0 0; transition:background .2s, color .2s; }
.tabs button:hover{ background:var(--gr-tint); color:var(--acc); }
.tabs button[aria-selected="true"],
.tabs button[data-tab][aria-selected="true"]{ background:var(--acc)!important; color:#fff!important; border-bottom-color:var(--acc)!important; font-weight:600; }
:root[data-contrast="dark"] .tabs button[aria-selected="true"]{ color:var(--paper)!important; }
/* 各ブロックの「もっと見る」ボタン */
.more{ border:1px solid var(--acc)!important; color:var(--acc)!important; background:#fff; font-weight:600; padding:8px 18px; transition:background .2s, color .2s; }
.more:hover, .more:focus-visible{ background:var(--acc)!important; color:#fff!important; }
:root[data-contrast="dark"] .more{ background:transparent; }
:root[data-contrast="dark"] .more:hover{ color:var(--paper)!important; }
/* 左メニュー */
@media(min-width:920px){
  .lnav{ background:var(--paper2); border-radius:10px; padding:18px 14px 8px!important; }
  .lnav b{ font-size:.8125rem!important; font-weight:700; color:var(--acc); letter-spacing:.06em; padding:0 8px 8px!important; margin:var(--s3) 0 0!important; border-bottom:1px solid var(--ruleS)!important; }
  .lnav b:first-child{ margin-top:0!important; }
  .lnav b::after{ display:none; }
  .lnav ul{ border-top:0!important; margin:4px 0 0!important; }
  .lnav a, .lnav .soon{ font-size:.8125rem!important; color:var(--ink)!important; padding:9px 10px 9px 14px!important; border:0!important; border-radius:6px; line-height:1.6!important; position:relative; }
  .lnav a:hover{ background:#fff!important; color:var(--acc)!important; }
  .lnav a[aria-current]{ background:#fff!important; color:var(--acc)!important; font-weight:700; box-shadow:inset 3px 0 0 var(--acc), 0 1px 3px rgba(20,40,80,.08); }
  .lnav a[aria-current]::before{ display:none!important; }
  .lnav .soon{ color:var(--ink3)!important; }
  :root[data-contrast="dark"] .lnav{ background:var(--card); }
  :root[data-contrast="dark"] .lnav a:hover, :root[data-contrast="dark"] .lnav a[aria-current]{ background:var(--paper2)!important; }
}
/* フッター */
@media(min-width:920px){ .lnav a, .lnav .soon{ white-space:normal!important; } }
.docs__dl{ background:var(--acc)!important; color:#fff!important; border-color:var(--acc)!important; border-radius:999px!important; font-weight:600; }
.docs__dl s{ color:rgba(255,255,255,.8)!important; }
.docs__dl:hover{ background:var(--acc2)!important; }
.docs__k{ color:var(--acc)!important; border-color:var(--acc)!important; background:var(--gr-tint); }
@media(min-width:920px){ .mega .mega__top{ display:inline-flex!important; padding:8px 16px!important; border-radius:999px!important; border:0!important; text-decoration:none!important; font-weight:600; } }
/* トップのパネル内：研究の広がり（軽い版） */
.kvg{ border-top:1px solid var(--rule); margin-top:16px; padding-top:14px; }
.kvg__h{ font-size:.875rem; font-weight:700; line-height:1.7; color:var(--ink); margin:0 0 10px; }
.kvg__a{ margin:0; display:grid; gap:6px; }
.kvg__a > div{ display:grid; grid-template-columns:4.5em minmax(0,1fr); align-items:start; gap:8px; }
.kvg__a dt{ font-size:.75rem; font-weight:600; color:var(--ink2); padding-top:3px; }
.kvg__a dd{ margin:0; }
.kvg__a ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px; }
.kvg__a li{ font-size:.75rem; line-height:1.5; padding:2px 8px; border-radius:999px; background:var(--gr-tint); color:var(--acc); }
.kvg__a > div + div li{ background:var(--paper2); color:var(--ink2); }
.kvg__more{ display:inline-block; margin-top:10px; font-size:.8125rem; font-weight:600; color:var(--acc)!important; border-bottom:1px solid currentColor; text-decoration:none; }
.kvg__more:hover{ color:var(--acc2)!important; }
:root[data-contrast="dark"] .kvg__a li{ background:var(--paper2); }
@media(min-width:1100px){
  .kvp__b{ width:900px!important; max-width:900px!important; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); column-gap:28px; }
  .kvp__h, .kvp__f{ grid-column:1 / -1; }
  .kvp__n{ grid-template-columns:1fr!important; gap:14px!important; align-content:start; }
  .kvp__n a{ display:grid!important; grid-template-columns:7.5em minmax(0,1fr); align-items:start; gap:10px; }
  .kvg{ border-top:0; margin-top:0; padding-top:0; border-left:1px solid var(--rule); padding-left:28px; }
}
/* PubMed 掲載論文（IF 付き） */
.pml__intro p{ max-width:46em; }
.pml__sum{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); margin:var(--s3) 0 8px; }
.pml__sum > div{ background:var(--card); padding:14px 16px; }
.pml__sum dt{ font-size:.75rem; color:var(--ink2); line-height:1.5; }
.pml__sum dd{ margin:4px 0 0; font-family:var(--mincho); font-size:1.75rem; font-weight:600; color:var(--gr); line-height:1.1; }
.pml__sum dd s{ text-decoration:none; font-family:var(--sans); font-size:.75rem; color:var(--ink2); margin-left:3px; }
table.pml{ min-width:760px; }
table.pml td{ vertical-align:top; font-size:.8125rem; line-height:1.65; }
table.pml td.y{ white-space:nowrap; color:var(--ink2); }
table.pml td.t a{ color:var(--ink); font-weight:500; }
table.pml td.t a:hover{ color:var(--acc); }
table.pml td.t small{ display:block; font-size:.75rem; color:var(--ink3); }
table.pml td.j{ color:var(--ink2); font-style:italic; min-width:10em; }
table.pml td.r{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pml__k{ display:inline-block; white-space:nowrap; font-size:.75rem; padding:1px 8px; border-radius:999px; background:var(--paper2); color:var(--ink2); }
.pml__k[data-k="R"], .pml__k[data-k="M"], .pml__k[data-k="O"], .pml__k[data-k="S"]{ background:var(--gr-tint); color:var(--acc); font-weight:600; }
.pml__k[data-k="C"]{ background:#eef6f1; color:#1f6b4a; }
.pml__led{ display:inline-block; margin-top:2px; font-size:.75rem; font-weight:600; color:var(--aka)!important; }
@media(max-width:719px){
  .pml__sum{ grid-template-columns:1fr 1fr; }
  table.pml{ min-width:0; }
  table.pml thead{ display:none; }
  table.pml tr{ display:grid; grid-template-columns:auto 1fr auto; gap:2px 10px; padding:12px 0; border-bottom:1px solid var(--rule); }
  table.pml td{ border:0!important; padding:0!important; }
  table.pml td.t{ grid-column:1 / -1; grid-row:2; }
  table.pml td.y{ grid-row:1; } table.pml td.j{ grid-row:1; font-size:.75rem; } table.pml td.r{ grid-row:1; }
  table.pml td:last-child{ grid-column:1 / -1; grid-row:3; }
  table.pml td:last-child:empty{ display:none; }
}

:root[data-contrast="dark"]{ --acc:#8fb6e8; --acc2:#aecbf2; }
/* 研究を探す：条件の欄（1行にまとめ、開くと選択肢） */
.flt{ margin:0 0 var(--s2); }
.flt__bar{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; padding:10px 12px; background:var(--paper2); border:1px solid var(--rule); border-radius:10px; }
.flt__lab{ font-size:.8125rem; font-weight:700; color:var(--ink); margin-right:4px; }
.flt__g{ position:relative; }
.flt__b{ display:inline-flex; align-items:center; gap:6px; font:inherit; font-size:.8125rem; color:var(--ink); background:#fff; border:1px solid var(--ruleS); border-radius:999px; padding:6px 12px; cursor:pointer; transition:border-color .15s, color .15s; }
.flt__b i{ font-style:normal; font-size:.7rem; color:var(--ink3); transition:transform .2s; }
.flt__b:hover, .flt__g.open .flt__b{ border-color:var(--acc); color:var(--acc); }
.flt__b.is-on{ border-color:var(--acc); background:var(--gr-tint); color:var(--acc); font-weight:600; }
.flt__n{ font-style:normal; min-width:18px; height:18px; border-radius:9px; background:var(--acc); color:#fff; font-size:.75rem; line-height:18px; text-align:center; padding:0 5px; }
.flt__p{ display:none; position:absolute; z-index:30; top:calc(100% + 6px); left:0; width:max-content; max-width:min(520px, 86vw); background:#fff; border:1px solid var(--rule); border-radius:10px; box-shadow:0 14px 32px rgba(20,40,80,.14); padding:12px; }
.flt__p::before{ content:""; position:absolute; left:0; right:0; top:-8px; height:8px; }
.flt__p .axis__v{ display:flex!important; flex-wrap:wrap!important; gap:6px!important; overflow:visible!important; padding:0!important; }
.flt__g.open .flt__p{ display:block; }
.flt__g.open .flt__b i{ transform:rotate(180deg); }
@media(hover:hover) and (min-width:720px){
  .flt__g:hover .flt__p, .flt__g:focus-within .flt__p{ display:block; }
  .flt__g:hover .flt__b i{ transform:rotate(180deg); }
}
.flt__sel{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.flt__t{ font:inherit; font-size:.75rem; color:var(--acc); background:var(--gr-tint); border:1px solid transparent; border-radius:999px; padding:3px 10px; cursor:pointer; }
.flt__t::after{ content:" ×"; }
.flt__t:hover{ border-color:var(--acc); }
:root[data-contrast="dark"] .flt__b, :root[data-contrast="dark"] .flt__p{ background:var(--card); }
@media(max-width:719px){
  .flt__bar{ padding:10px; }
  .flt__lab{ width:100%; }
  .flt__g{ position:static; }
  .flt__p{ left:10px; right:10px; width:auto; max-width:none; }
  .flt__bar{ position:relative; }
}
/* 試験：同じがん種の既報 */
.trel{ margin-top:var(--s5); }
.trel__s{ font-size:.875rem; line-height:1.9; color:var(--ink2); max-width:46em; }
.trel__s b{ color:var(--gr); font-size:1.05rem; }
.trel__l{ list-style:none; margin:var(--s2) 0; padding:0; border-top:1px solid var(--rule); }
.trel__l li{ border-bottom:1px solid var(--rule); }
.trel__l a{ display:grid; grid-template-columns:8.5em minmax(0,1fr); gap:2px 12px; padding:12px 4px; color:var(--ink); text-decoration:none; }
.trel__l a:hover{ background:var(--paper2); }
.trel__k{ grid-row:span 2; align-self:start; font-size:.75rem; color:var(--acc); background:var(--gr-tint); border-radius:999px; padding:2px 8px; text-align:center; }
.trel__l b{ font-weight:600; font-size:.875rem; line-height:1.6; }
.trel__l small{ font-size:.75rem; color:var(--ink3); }
table.trs td small{ display:block; font-size:.75rem; color:var(--ink3); }
@media(max-width:600px){ .trel__l a{ grid-template-columns:1fr; } .trel__k{ grid-row:auto; justify-self:start; } }
/* 臨床研究カードの見出し帯：高さをそろえる（1行に収め、はみ出す巻号は省略） */
.card__h{ flex-wrap:nowrap!important; align-items:center!important; min-height:46px; overflow:hidden; }
.card{ min-width:0; }
.card__h b{ white-space:nowrap; flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.card__h s{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1 1 auto; }
.card__h i{ flex:none; }
/* 医療関係者の方へ：赤で目立たせる */
@media(min-width:920px){
  .nav{ align-items:center; }
  .nav .nav__g.nav__g--phys > a, .nav .nav__g.nav__g--phys > a:first-of-type{ color:#fff!important; background:var(--aka); border-radius:999px; padding:8px 16px!important; font-weight:600; line-height:1.4; }
  .nav__g--phys > a::after{ display:none!important; }
  .nav .nav__g.nav__g--phys > a:hover, .nav .nav__g.nav__g--phys.open > a{ background:var(--aka-d); color:#fff!important; }
  .nav__g--phys .mega{ border-bottom-color:var(--aka)!important; }
  .nav__g--phys .mega__top{ background:var(--aka)!important; }
  .nav__g--phys .mega a.item:hover{ background:var(--aka-p)!important; color:var(--aka)!important; }
  .lnav b[data-g="phys"]{ color:var(--aka)!important; border-bottom-color:var(--aka)!important; }
  .lnav ul[data-g="phys"] a[aria-current]{ color:var(--aka)!important; box-shadow:inset 3px 0 0 var(--aka), 0 1px 3px rgba(20,40,80,.08)!important; }
  .lnav ul[data-g="phys"] a:hover{ color:var(--aka)!important; }
}
@media(max-width:919px){ .nav__g--phys > a{ color:var(--aka)!important; font-weight:700; } }
.bnr a[href*="/physicians/"]{ background:var(--aka)!important; border-top-color:var(--aka)!important; }
.bnr a[href*="/physicians/"] *{ color:#fff!important; }
.bnr a[href*="/physicians/"]:hover{ background:var(--aka-d)!important; }
.bnr a[href*="/physicians/"]::after{ border-color:rgba(255,255,255,.3)!important; }
.phys__cta{ background:var(--aka)!important; border-color:var(--aka)!important; color:#fff!important; }
.phys__cta *{ color:#fff!important; }
.phys__cta:hover{ background:var(--aka-d)!important; }
:root:not([data-contrast="dark"]){ --aka-d:#7c1a24; --aka-p:#fbeef0; }

/* ヒーロー：タグラインを読みやすく（左側を白くぼかす） */
@media(min-width:861px){
  .kv::after{ background:linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 34%, rgba(255,255,255,.45) 56%, rgba(255,255,255,0) 74%)!important; }
  .kv__h.kv__h--long{ color:#14171d!important; font-weight:500!important; text-shadow:0 0 12px rgba(255,255,255,.9)!important; }
  .kv__en{ color:var(--aka)!important; font-weight:600!important; }
}
@media(max-width:860px){
  .kv__h.kv__h--long{ color:#14171d!important; font-weight:500!important; }
}

/* トップ：研究の現在地（ヒーローの下の帯） */
.kvx{ background:linear-gradient(180deg, var(--paper2), #fff); border-bottom:1px solid var(--rule); padding:var(--s4) 0 var(--s3); }
.kvx .wrap{ max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.kvx__h{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px 16px; flex-wrap:wrap; margin-bottom:var(--s2); }
.kvx__h .more{ white-space:nowrap; }
.kvx__h h2{ font-family:var(--mincho); font-size:1.25rem; font-weight:600; letter-spacing:.06em; margin:0; }
.kvx__h h2 s{ text-decoration:none; display:block; font-family:var(--sans); font-size:.75rem; letter-spacing:.24em; color:var(--aka); font-weight:600; margin-bottom:4px; order:-1; }
.kvx__h h2{ display:flex; flex-direction:column; }
.kvx__g{ display:grid; grid-template-columns:1fr 1fr 2fr; gap:16px; align-items:stretch; }
.kvx__k{ display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--rule); border-radius:12px; padding:18px 20px; color:var(--ink)!important; text-decoration:none!important; position:relative; overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.kvx__k::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; }
.kvx__k--pub::before{ background:var(--acc); }
.kvx__k--trl::before{ background:#1f7a5a; }
.kvx__k:hover{ border-color:var(--acc); box-shadow:0 8px 22px rgba(20,40,80,.10); }
.kvx__tag{ display:inline-flex; align-items:center; gap:6px; align-self:flex-start; font-size:.8125rem; font-weight:700; border-radius:999px; padding:4px 12px 4px 8px; }
.kvx__tag svg{ width:18px; height:18px; }
.kvx__k--pub .kvx__tag{ background:var(--gr-tint); color:var(--acc); }
.kvx__k--trl .kvx__tag{ background:#e9f5ef; color:#1f7a5a; }
.kvx__n{ font-family:var(--mincho); font-size:3rem; line-height:1.05; font-weight:600; color:var(--gr); margin-top:4px; }
.kvx__n s{ text-decoration:none; font-family:var(--sans); font-size:.875rem; color:var(--ink2); margin-left:4px; font-weight:400; }
.kvx__d{ font-size:.8125rem; line-height:1.7; color:var(--ink); font-weight:500; }
.kvx__sub{ font-size:.75rem; color:var(--ink2); }
.kvx__go{ margin-top:auto; padding-top:8px; font-size:.75rem; color:var(--acc); font-weight:600; }
.kvx__a{ background:#fff; border:1px solid var(--rule); border-radius:12px; padding:18px 20px; }
.kvx__lead{ font-size:1rem; font-weight:700; line-height:1.6; margin:0 0 12px; }
.kvx__lab{ font-size:.75rem; font-weight:700; color:var(--ink2); margin:10px 0 6px; }
.kvx__lab small{ font-weight:400; margin-left:6px; color:var(--ink3); }
.kvx__c{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:5px; }
.kvx__c li{ font-size:.75rem; padding:2px 9px; border-radius:999px; background:var(--gr-tint); color:var(--acc); }
.kvx__o{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; }
.kvx__o li{ font-size:.75rem; line-height:1.6; background:var(--paper2); border-radius:8px; padding:6px 10px; }
.kvx__o b{ display:block; font-size:.8125rem; color:var(--ink); }
.kvx__o span{ color:var(--ink2); }
.kvx__more{ display:inline-block; margin-top:12px; font-size:.8125rem; font-weight:600; color:var(--acc)!important; border-bottom:1px solid currentColor; text-decoration:none; }
.kvx__f{ font-size:.75rem; line-height:1.8; color:var(--ink3); margin:12px 0 0; }
@media(max-width:1000px){ .kvx__g{ grid-template-columns:1fr 1fr; } .kvx__a{ grid-column:1 / -1; } }
@media(max-width:560px){ .kvx__g{ grid-template-columns:1fr; } .kvx__n{ font-size:2.4rem; } .kvx__o{ grid-template-columns:1fr; } .kvx{ padding-top:var(--s3); } }
:root[data-contrast="dark"] .kvx{ background:var(--paper); }
:root[data-contrast="dark"] .kvx__k, :root[data-contrast="dark"] .kvx__a{ background:var(--card); }
/* 概況ページ：がん以外の疾患名 */
.gl__c--cond li{ display:flex; flex-direction:column; align-items:flex-start; }
.gl__c--cond small{ font-size:.75rem; color:var(--ink2); font-weight:400; }
table.trl td .chip, table[data-trials] td .chip, .st .chip{ white-space:normal!important; max-width:100%; display:inline-block; line-height:1.5; }
/* 下層ページ冒頭の目次 */
.ptoc{ margin:0 0 var(--s4); padding:16px 18px; background:var(--paper2); border:1px solid var(--rule); border-radius:10px; }
.ptoc__h{ font-size:.8125rem; font-weight:700; color:var(--ink2); margin:0 0 10px; letter-spacing:.04em; }
.ptoc__keys{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.ptoc__key{ display:inline-flex; align-items:center; gap:8px; background:var(--aka); color:#fff!important; font-weight:700; font-size:.875rem; border-radius:999px; padding:9px 18px; text-decoration:none!important; }
.ptoc__key:hover{ background:var(--aka-d); }
.ptoc__key i{ font-style:normal; }
.ptoc ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:2px 16px; }
.ptoc ol a{ display:flex; gap:10px; align-items:baseline; padding:6px 4px; font-size:.8125rem; line-height:1.6; color:var(--ink)!important; text-decoration:none!important; border-bottom:1px dashed var(--rule); }
.ptoc ol a:hover{ color:var(--acc)!important; }
.ptoc ol span{ font-family:var(--mincho); font-weight:600; color:var(--acc); font-size:.875rem; }
:root[data-contrast="dark"] .ptoc{ background:var(--card); }
/* 有害事象のグラフ */
.aeg{ margin:var(--s2) 0 var(--s3); padding:18px 20px; border:1px solid var(--rule); border-radius:10px; background:#fff; }
.aeg__lg{ display:flex; gap:16px; font-size:.75rem; color:var(--ink2); margin:0 0 12px; }
.aeg__lg i{ display:inline-block; width:12px; height:12px; border-radius:2px; vertical-align:-1px; margin-right:5px; }
.aeg__r{ display:grid; grid-template-columns:8.5em minmax(0,1fr); gap:4px 12px; align-items:center; padding:7px 0; border-top:1px solid var(--rule); }
.aeg__r:first-of-type{ border-top:0; }
.aeg__r > b{ font-size:.8125rem; font-weight:500; }
.aeg__b{ display:grid; gap:3px; }
.aeg__b span{ display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--ink2); font-variant-numeric:tabular-nums; }
.aeg__b span i{ display:block; height:11px; border-radius:2px; min-width:2px; }
.aeg i.t{ background:var(--acc); } .aeg i.c{ background:#9aa6b8; }
.aeg__ax{ display:grid; grid-template-columns:8.5em minmax(0,1fr); gap:12px; font-size:.75rem; color:var(--ink3); margin-top:4px; }
.aeg__ax div{ display:flex; justify-content:space-between; }
:root[data-contrast="dark"] .aeg{ background:var(--card); }
@media(max-width:560px){ .aeg__r, .aeg__ax{ grid-template-columns:6.5em minmax(0,1fr); } }
.aeg__ax div{ width:85%; }
/* 注記の折りたたみ（研究の現在地） */
details.kvx__f{ margin-top:12px; font-size:.75rem; color:var(--ink3); }
details.kvx__f summary{ cursor:pointer; color:var(--ink2); font-weight:600; list-style:none; display:inline-flex; align-items:center; gap:6px; }
details.kvx__f summary::-webkit-details-marker{ display:none; }
details.kvx__f summary::before{ content:"＋"; font-weight:700; color:var(--acc); }
details.kvx__f[open] summary::before{ content:"－"; }
details.kvx__f p{ margin:6px 0 0; line-height:1.8; }

/* ===== スマホのトップを詰める（〜600px） ===== */
@media(max-width:600px){
  /* ヒーロー */
  .kv{ height:300px!important; }
  .kv__c .wrap{ padding-inline:var(--gut)!important; }
  .kv__en{ font-size:.6875rem!important; letter-spacing:.18em!important; margin-bottom:10px!important; }
  .kv__h.kv__h--long{ font-size:.9375rem!important; line-height:1.9!important; }
  .kv__h.kv__h--long .hero-phrase{ display:inline!important; }
  .kv::after{ background:linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.88) 45%, rgba(255,255,255,.96) 100%)!important; }
  .kv__nav{ display:none!important; }
  /* 研究の現在地 */
  .kvx{ padding:var(--s3) 0 var(--s2); }
  .kvx__h{ flex-wrap:nowrap; align-items:center; margin-bottom:12px; }
  .kvx__h h2{ font-size:1.0625rem; }
  .kvx__h h2 s{ font-size:.6875rem; letter-spacing:.16em; }
  .kvx__h .more{ padding:6px 12px; font-size:.75rem; }
  .kvx__g{ grid-template-columns:1fr 1fr!important; gap:10px; }
  .kvx__a{ grid-column:1 / -1; padding:14px; }
  .kvx__k{ padding:12px 12px 12px 14px; gap:4px; border-radius:10px; }
  .kvx__tag{ font-size:.6875rem; padding:3px 8px 3px 6px; gap:4px; }
  .kvx__tag svg{ width:14px; height:14px; }
  .kvx__n{ font-size:2.1rem!important; }
  .kvx__d{ font-size:.6875rem; line-height:1.55; }
  .kvx__sub{ font-size:.6875rem; line-height:1.5; }
  .kvx__go{ font-size:.6875rem; }
  .kvx__lead{ font-size:.9375rem; margin-bottom:8px; }
  .kvx__c{ gap:4px; }
  .kvx__c li{ font-size:.6875rem; padding:2px 8px; }
  .kvx__o{ grid-template-columns:1fr!important; gap:5px; }
  .kvx__o li{ padding:6px 10px; display:flex; gap:8px; align-items:baseline; }
  .kvx__o b{ display:inline; flex:none; font-size:.75rem; }
  .kvx__o span{ font-size:.6875rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  /* 入口のタイル */
  .bnr a{ min-height:84px!important; padding:10px 12px!important; }
  .bnr .k{ font-size:.625rem!important; letter-spacing:.14em!important; }
  .bnr .t{ font-size:.8125rem!important; line-height:1.5!important; }
  /* 臨床研究カード：巻号は隠して誌名を見せる */
  .card__h s{ display:none!important; }
  .card__h b{ max-width:none; }
  /* 進行中の研究：上位3件だけ見せる */
  .sec--tint table.trl tbody tr:nth-child(n+4):not(.trl__more){ display:none!important; }
  /* 研究会について：説明を詰める */
  .about a{ padding:12px 14px!important; gap:2px!important; }
  .about a p{ font-size:.75rem!important; }
  .about a s{ display:none!important; }
  /* セクションの余白 */
  .sec{ padding-block:var(--s4)!important; }
  /* フッター：サイトマップを2列に */
  .ftr__cols{ grid-template-columns:1fr 1fr!important; gap:var(--s2) 14px!important; }
  .ftr h4{ font-size:.8125rem!important; }
  .ftr li{ font-size:.75rem!important; line-height:1.7!important; }
}

/* ===== kvx：サイト全体のトンマナに合わせる（角丸・塗りピル・緑をやめ、罫線と明朝で統一）＋免疫の軸 ===== */
.kvx__h h2{ font-size:inherit; }
.kvx__h h2{ font-size:1.08rem; font-weight:600; letter-spacing:.075em; }
.kvx__h h2 s{ font-family:var(--mincho); font-size:.75rem; letter-spacing:.04em; font-weight:600; }
.kvx__k, .kvx__a{ border-radius:0; border:1px solid var(--rule); border-top:2px solid var(--gr); box-shadow:none; }
.kvx__k::before{ display:none; }
.kvx__k:hover{ border-color:var(--ruleS); border-top-color:var(--acc); box-shadow:none; background:var(--paper2); }
.kvx__tag, .kvx__k--pub .kvx__tag, .kvx__k--trl .kvx__tag{ background:none; color:var(--gr); padding:0; border-radius:0; font-size:.8125rem; font-weight:600; letter-spacing:.04em; }
.kvx__tag svg{ width:16px; height:16px; color:var(--ink3); }
.kvx__n{ font-weight:500; }
.kvx__d{ font-weight:400; color:var(--ink2); }
.kvx__go{ font-weight:500; }
.kvx__lead{ font-family:var(--mincho); font-weight:600; color:var(--gr); font-size:1rem; letter-spacing:.04em; }
.kvx__lab{ font-size:.75rem; font-weight:600; color:var(--gr); letter-spacing:.06em; margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid var(--rule); }
.kvx__sm{ font-size:.75rem; color:var(--ink); margin:0 0 6px; font-weight:600; }
.kvx__sm small{ font-weight:400; color:var(--ink3); margin-left:6px; }
.kvx__c li{ border-radius:0; background:none; border:1px solid var(--rule); color:var(--ink); }
.kvx__o li{ border-radius:0; background:none; border-left:2px solid var(--rule); padding:2px 0 2px 10px; }
.kvx__o b{ font-weight:600; }
/* 免疫の軸 */
.kvx__ax{ display:flex; align-items:center; gap:8px; margin:4px 0 14px; font-size:.75rem; color:var(--ink2); }
.kvx__ax span{ flex:none; }
.kvx__ax i{ flex:1; height:2px; background:linear-gradient(90deg, var(--acc), var(--ruleS)); }
.kvx__ax i:last-of-type{ background:linear-gradient(90deg, var(--ruleS), var(--aka-d)); }
.kvx__ax em{ flex:none; font-style:normal; font-weight:600; color:var(--gr); border:1px solid var(--gr); padding:1px 8px; background:#fff; }
.kvx__cols{ display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.kvx__col--lo .kvx__lab{ border-bottom-color:var(--acc); }
.kvx__col--hi .kvx__lab{ border-bottom-color:var(--aka-d); color:var(--aka-d); }
.kvx__col .kvx__o{ grid-template-columns:1fr; margin-top:8px; }
.kvx__etc{ margin:12px 0 0; font-size:.75rem; line-height:1.7; color:var(--ink2); }
.kvx__etc b{ font-weight:600; color:var(--ink); margin-right:8px; }
.kvx__why{ margin:12px 0 0; padding:10px 12px; background:var(--paper2); font-size:.75rem; line-height:1.8; color:var(--ink2); }
.kvx__why a{ color:var(--acc)!important; font-weight:600; white-space:nowrap; }
:root[data-contrast="dark"] .kvx__ax em{ background:var(--card); }
@media(max-width:600px){
  .kvx__h h2{ font-size:1.25rem!important; }
  .kvx__cols{ grid-template-columns:1fr; gap:12px; }
  .kvx__ax{ font-size:.6875rem; gap:5px; }
  .kvx__ax em{ padding:1px 5px; }
  .kvx__o li{ display:block!important; padding:2px 0 2px 8px!important; }
  .kvx__o b{ display:block!important; }
  .kvx__o span{ -webkit-line-clamp:unset!important; display:block!important; }
}

/* ===== スマホだけ：長いブロックを畳んで「続きを見る」で開く ===== */
.mf{ position:relative; }
.mf.is-c{ max-height:var(--mf,260px); overflow:hidden; }
.mf.is-c::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:72px; background:linear-gradient(rgba(255,255,255,0), var(--mfbg,#fff)); pointer-events:none; }
.mf__b{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin:8px 0 0; padding:10px; font:inherit; font-size:.8125rem; font-weight:600; color:var(--gr); background:#fff; border:1px solid var(--ruleS); cursor:pointer; }
.mf__b::after{ content:"▼"; font-size:.625rem; }
.mf__b[aria-expanded="true"]::after{ content:"▲"; }
.sec--tint .mf{ --mfbg:var(--paper2); }

.mf__b[hidden]{ display:none!important; }
/* PC：数字の2枚を横に並べ、研究の広がりは下段に全幅で */
@media(min-width:1001px){
  .kvx__g{ grid-template-columns:1fr 1fr; }
  .kvx__a{ grid-column:1 / -1; }
  .kvx__k{ flex-direction:row; flex-wrap:wrap; align-items:baseline; column-gap:18px; }
  .kvx__k .kvx__tag{ flex-basis:100%; }
  .kvx__k .kvx__n{ margin-top:0; }
  .kvx__k .kvx__d{ flex:1; min-width:12em; }
  .kvx__k .kvx__sub{ flex-basis:100%; }
  .kvx__k .kvx__go{ flex-basis:100%; padding-top:4px; }
  .kvx__cols{ gap:14px 40px; }
}
.mf__b{ padding:7px 10px; font-size:.75rem; }
.mf__b--s{ width:auto; display:inline-flex; margin:-4px 0 12px; padding:0; border:0; background:none; color:var(--acc); }

/* 群ごとの見出し＋位置づけの一行 */
.kvx__gp{ padding:8px 0 10px; border-bottom:1px dotted var(--rule); }
.kvx__gp:last-child{ border-bottom:0; }
.kvx__gh{ margin:0 0 6px; display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; }
.kvx__gh b{ font-size:.8125rem; font-weight:600; color:var(--ink); }
.kvx__gh b small{ font-weight:400; color:var(--ink3); margin-left:6px; font-size:.6875rem; }
.kvx__gh em{ font-style:normal; font-size:.6875rem; color:var(--ink3); }
.kvx__gn{ margin:0; font-size:.75rem; line-height:1.7; color:var(--ink2); }
.kvx__col .kvx__lab{ margin-bottom:2px; }

/* ===== 全文和訳（CC BY の論文のみ） ===== */
.ftl{ border:1px solid var(--rule); border-top:2px solid var(--gr); background:var(--paper2); padding:16px 18px; margin-top:var(--s2); font-size:.875rem; line-height:1.9; }
.ftl p{ margin:0 0 8px; }
.ftl dl{ display:grid; grid-template-columns:7.5em 1fr; gap:4px 12px; margin:8px 0; font-size:.8125rem; }
.ftl dt{ color:var(--ink3); }
.ftl dd{ margin:0; }
details.ft{ border-bottom:1px solid var(--rule); }
details.ft > summary{ cursor:pointer; list-style:none; display:flex; align-items:baseline; gap:10px; padding:14px 0; font-family:var(--mincho); font-weight:600; font-size:1.0625rem; color:var(--gr); }
details.ft > summary::-webkit-details-marker{ display:none; }
details.ft > summary::before{ content:"＋"; font-family:var(--sans); color:var(--acc); font-weight:700; }
details.ft[open] > summary::before{ content:"－"; }
details.ft > summary s{ text-decoration:none; font-family:var(--sans); font-size:.6875rem; letter-spacing:.16em; color:var(--ink3); font-weight:400; }
details.ft h3{ font-size:.9375rem; font-weight:600; margin:18px 0 8px; color:var(--ink); }
details.ft p{ font-size:.9375rem; line-height:2; margin:0 0 12px; }
details.ft .ft__fig{ font-size:.8125rem; line-height:1.8; color:var(--ink2); background:var(--paper2); border-left:2px solid var(--ruleS); padding:8px 12px; }
.ft__ed{ font-size:.8125rem; color:var(--ink3); }
p.ft__ed{ border-left:2px solid var(--aka-p); padding-left:10px; }
@media(max-width:600px){ .ftl dl{ grid-template-columns:1fr; } .ftl dt{ margin-top:6px; } }

/* 本会の記録 */
.rec{display:grid;gap:8px;margin:0}
.rec>div{display:grid;grid-template-columns:8.5em 1fr;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line,#e2e2dc)}
.rec dt{font-size:var(--f1,13px);color:var(--ink3,#666);letter-spacing:.04em}
.rec dd{margin:0}
.rec-corr{margin-top:14px;font-size:var(--f1,13px)}
.rec-corr ul{margin:6px 0 0;padding-left:1.2em}
@media (max-width:560px){.rec>div{grid-template-columns:1fr;gap:2px}}
.vlabel{margin:0 0 var(--s3,16px)}
.vlabel a{display:inline-block;font-size:12px;letter-spacing:.06em;padding:3px 10px;border-radius:2px;text-decoration:none;border:1px solid currentColor}
.vlabel--abs a{color:var(--ink3,#6a6a62)}
.vlabel--full a{color:var(--accent,#3d6b4f);background:color-mix(in srgb,var(--accent,#3d6b4f) 8%,transparent)}
.jlink{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.jmeta{display:block;font-size:12px;color:var(--ink3,#666);margin-top:2px}


/* ---- スマホ表示（2026-11）※wp.css の後勝ちに合わせてここに置く ---- */
@media(max-width:640px){
  html:root{ --f0:.8125rem; --f1:.8125rem; --f2:.875rem; --f3:.9375rem; --f4:1rem; }
  html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body main p, body main li, body main dd{ line-height:1.85; }
  body .kv__en, body .kvx__d, body .kvx__sub, body .cvcap, body .legend, body figcaption, body main small{ font-size:.8125rem; }
  body .totop{ width:38px; height:38px; right:10px; bottom:12px; }

  /* 表：まず画面幅に収める */
  body main table.tbl--fit{ min-width:0 !important; width:100% !important; }
  body main table.tbl--fit th, body main table.tbl--fit td{ white-space:normal !important; padding:10px 8px !important; font-size:.8125rem; line-height:1.6; vertical-align:top; overflow-wrap:break-word; }
  body main table.tbl--fit th:first-child, body main table.tbl--fit td:first-child{ padding-left:0 !important; }
  body main table.tbl--fit thead th{ font-size:.75rem; color:var(--ink3); font-weight:500; letter-spacing:.02em; }

  /* 収まらない表だけカード状に */
  body table.tbl--stack thead{ display:none; }
  body table.tbl--stack, body table.tbl--stack tbody, body table.tbl--stack tr{ display:block; width:auto !important; }
  body table.tbl--stack tr{ padding:16px 0 14px; border-bottom:1px solid var(--rule); background:none !important; }
  body table.tbl--stack td, body table.tbl--stack tbody th{ display:grid !important; grid-template-columns:minmax(5.5rem,38%) 1fr; column-gap:12px; align-items:baseline; border:0 !important; padding:4px 0 !important; text-align:left !important; font-size:.875rem; }
  body table.tbl--stack td[data-label]::before{ content:attr(data-label); font-size:.75rem; line-height:1.5; color:var(--ink3); }
  body table.tbl--stack tr > :first-child{ display:block !important; font-size:.9375rem; font-weight:600; color:var(--ink); padding-bottom:8px !important; }
  body table.tbl--stack tr > :first-child::before{ display:none; }
  body table.tbl--stack td.stk-span{ display:block !important; font-size:.8125rem; color:var(--ink2); }

  /* 研究ページ：表紙と要旨を縦に */
  body .stu{ grid-template-columns:1fr; gap:18px; }
  body .stu > div:first-child{ display:grid; grid-template-columns:76px 1fr; gap:14px; align-items:center; }
  body .stu > div:first-child .cv{ padding:8px !important; }
  body .stu > div:first-child .cv b{ font-size:10px !important; }
  body .stu > div:first-child .cv span{ font-size:10px !important; margin-top:6px !important; }
  body .stu > div:first-child .cvcap{ margin:0; line-height:1.7; }
  body .stu > div:first-child .cvcap b{ display:block; font-size:.875rem; color:var(--ink); }
  body .stu__ab{ line-height:1.95; }

  /* 外部リンクのボタン */
  body .xlinks{ flex-direction:column; align-items:stretch; gap:8px; }
  body .xlinks > a{ width:100%; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; }
}

/* 要旨中の注記（配合製剤など）を見出しではなく注記として表示（全幅共通） */
body .stu__ab p b{ display:block; margin:14px 0 0; padding:10px 14px; font-family:var(--sans); font-size:.8125rem; font-weight:500; line-height:1.8; letter-spacing:0; color:var(--ink2); background:var(--paper2); border-left:3px solid var(--aka); }

@media(max-width:640px){
  body table.tbl:not(.tbl--stack) tbody tr{ grid-template-columns:max-content 1fr; column-gap:10px; }
  body table.tbl:not(.tbl--stack) td.id{ white-space:nowrap !important; }
}

@media(max-width:760px){
  /* 試験一覧の折りたたみが効かず、下の見出しに重なっていたのを解消 */
  body .mapwrap.mf.is-c:has(> table.trl){ max-height:none !important; }
  body .mapwrap.mf.is-c:has(> table.trl)::after{ display:none; }
  body .mapwrap.mf:has(> table.trl) + .mf__b{ display:none; }
}

@media(max-width:640px){
  body .stmt p{ font-size:1rem; line-height:1.95; letter-spacing:.02em; }
}

@media(max-width:640px){
  body .fig--scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; position:relative; padding-bottom:4px; }
  body .fig--scroll::before{ content:"← 横にスクロールして図全体を表示 →"; display:block; position:sticky; left:0; width:max-content; font-size:.75rem; color:var(--ink3); margin-bottom:6px; }
}

@media(max-width:640px){ body table.tbl--stack td.stk-empty{ display:none !important; } }

@media(max-width:640px){
  /* 値が短い表は、項目を横に流して詰める */
  body table.tbl--compact tr{ display:flex !important; flex-wrap:wrap; column-gap:18px; row-gap:4px; }
  body table.tbl--compact tr > :first-child{ flex:0 0 100%; }
  body table.tbl--compact td[data-label]{ display:inline-flex !important; gap:6px; align-items:baseline; }
  body table.tbl--compact td[data-label]::before{ white-space:nowrap; }
}

@media(max-width:640px){
  body table.tbl--stack td.lbl-long{ display:block !important; }
  body table.tbl--stack td.lbl-long::before{ display:block; margin-bottom:2px; }
}

/* メガメニュー「このセクションのトップ」：地色と文字色の食い違いを解消（2026-11） */
@media(min-width:920px){
  body .mega a.mega__top{ display:inline-flex !important; align-items:center; gap:6px; background:var(--gr) !important; color:#fff !important; border:0 !important; border-radius:999px !important; padding:8px 18px !important; font-weight:600; text-decoration:none !important; }
  body .mega a.mega__top:hover{ background:var(--gr2) !important; color:#fff !important; }
  body .nav__g--phys a.mega__top, body .nav__g--phys .mega a.mega__top{ background:var(--aka) !important; }
  body .nav__g--phys a.mega__top:hover{ filter:brightness(1.08); }
}

/* ---- お問い合わせフォーム（2026-11） ---- */
.cf{ max-width:720px; margin-top:var(--s4); display:grid; gap:22px; }
.cf__hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.cf__f{ display:grid; gap:8px; }
.cf__f > label, .cf__l{ font-size:var(--f3); font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.cf__f em{ font-style:normal; font-size:.6875rem; font-weight:600; color:#fff; background:var(--aka); padding:1px 7px; border-radius:3px; letter-spacing:.04em; }
.cf__f label > span, .cf__l > span{ font-size:.6875rem; font-weight:500; color:var(--ink3); border:1px solid var(--rule); padding:0 6px; border-radius:3px; }
.cf input[type=text], .cf input[type=email], .cf select, .cf textarea{ width:100%; font:inherit; font-size:1rem; color:var(--ink); background:#fff; border:1px solid var(--rule-d, #cfcabd); border-radius:6px; padding:12px 14px; line-height:1.6; transition:border-color .2s, box-shadow .2s; }
.cf textarea{ resize:vertical; min-height:180px; }
.cf input:focus, .cf select:focus, .cf textarea:focus{ outline:none; border-color:var(--gr); box-shadow:0 0 0 3px rgba(27,47,87,.12); }
.cf__r{ display:flex; flex-wrap:wrap; gap:8px 10px; }
.cf__r label{ display:inline-flex; align-items:center; gap:6px; font-size:var(--f3); border:1px solid var(--rule); border-radius:999px; padding:7px 14px; cursor:pointer; background:#fff; }
.cf__r label:has(input:checked){ border-color:var(--gr); background:rgba(27,47,87,.06); color:var(--gr); font-weight:600; }
.cf__agree{ background:var(--paper2); border-left:3px solid var(--aka); padding:14px 16px; font-size:var(--f3); line-height:1.8; }
.cf__agree label{ display:flex; gap:10px; align-items:flex-start; cursor:pointer; }
.cf__agree input{ margin-top:6px; width:18px; height:18px; flex:none; accent-color:var(--gr); }
.cf__note{ font-size:var(--f1); color:var(--ink3); margin:-6px 0 0; }
.cf__btn{ justify-self:start; font:inherit; font-size:1rem; font-weight:600; letter-spacing:.06em; color:#fff; background:var(--gr); border:0; border-radius:999px; padding:14px 40px; cursor:pointer; transition:background .2s; }
.cf__btn:hover{ background:var(--gr2); }
.cf-msg{ max-width:720px; margin-top:var(--s4); padding:20px 22px; border-radius:6px; line-height:1.9; }
.cf-msg--ok{ background:rgba(27,47,87,.05); border:1px solid var(--gr); }
.cf-msg--ok b{ display:block; font-size:1.0625rem; color:var(--gr); margin-bottom:4px; }
.cf-msg--err{ background:#fbf1f2; border:1px solid var(--aka); color:var(--aka); margin-bottom:-8px; }
@media(max-width:640px){ .cf__btn{ justify-self:stretch; } }


/* ============ 一般向けトップ（2026-11）gt- ============ */
#v-home{ --gtm:"Shippori Mincho B1","Zen Old Mincho",serif; }
#v-home .gt-wrap{ max-width:1120px; margin:0 auto; padding:0 var(--gut,24px); }
.gt-eyebrow{ display:flex; align-items:center; gap:12px; font-size:.75rem; letter-spacing:.22em; color:var(--aka); font-weight:600; }
.gt-eyebrow::before{ content:""; width:28px; height:1px; background:var(--aka); }
.gt-hero{ position:relative; min-height:560px; display:flex; align-items:flex-end; overflow:hidden; background:#d9dde4; }
.gt-hero > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.85); }
.gt-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,250,248,.97) 0%,rgba(251,250,248,.88) 38%,rgba(251,250,248,.15) 72%,rgba(251,250,248,0) 100%); }
.gt-hero .gt-wrap{ position:relative; z-index:1; width:100%; padding-top:96px; padding-bottom:88px; }
.gt-hero h1{ font-family:var(--gtm); font-weight:600; font-size:2.75rem; line-height:1.55; letter-spacing:.08em; color:var(--gr); margin:22px 0 26px; }
.gt-hero p{ max-width:480px; color:var(--ink2); font-size:1rem; line-height:2.1; }
.gt-acts{ display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }
.gt-btn{ display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:14px 28px; font-weight:600; font-size:.9375rem; letter-spacing:.06em; transition:.2s; text-decoration:none !important; }
.gt-btn--gr{ background:var(--gr); color:#fff !important; } .gt-btn--gr:hover{ background:var(--gr2); }
.gt-btn--line{ border:1px solid var(--gr); color:var(--gr) !important; background:rgba(255,255,255,.75); } .gt-btn--line:hover{ background:#fff; }
.gt-arr{ display:inline-block; transition:transform .2s; } .gt-btn:hover .gt-arr, .gt-card:hover .gt-arr{ transform:translateX(4px); }
.gt-sec{ padding:104px 0; }
.gt-hd{ margin-bottom:48px; }
.gt-hd .gt-en{ font-family:var(--gtm); font-size:.8125rem; letter-spacing:.24em; color:var(--aka); font-weight:600; }
.gt-hd h2{ font-family:var(--gtm); font-weight:600; font-size:2rem; letter-spacing:.08em; color:var(--ink); margin-top:10px; line-height:1.5; }
.gt-hd p{ color:var(--ink2); margin-top:16px; max-width:640px; line-height:1.95; }
.gt-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gt-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--rule); border-top:3px solid var(--gr); padding:34px 30px 28px; transition:box-shadow .25s, transform .25s; color:inherit !important; text-decoration:none !important; }
.gt-card:hover{ box-shadow:0 14px 36px rgba(27,47,87,.10); transform:translateY(-2px); }
.gt-card .gt-no{ font-family:var(--gtm); font-size:2.5rem; line-height:1; color:var(--rule); font-weight:600; }
.gt-card h3{ font-family:var(--gtm); font-size:1.3125rem; font-weight:600; letter-spacing:.06em; margin:18px 0 12px; color:var(--gr); }
.gt-card p{ font-size:.9375rem; color:var(--ink2); line-height:1.95; flex:1; }
.gt-card .gt-go{ margin-top:24px; padding-top:16px; border-top:1px solid var(--paper2); font-size:.875rem; font-weight:600; color:var(--gr); display:flex; justify-content:space-between; }
.gt-nums{ background:var(--paper2); }
.gt-numg{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.gt-num{ padding:40px 28px; text-align:center; }
.gt-num + .gt-num{ border-left:1px solid var(--rule); }
.gt-num b{ font-family:var(--gtm); font-weight:600; font-size:3.5rem; line-height:1; color:var(--gr); }
.gt-num b small{ font-size:1.125rem; margin-left:4px; color:var(--ink2); }
.gt-num span{ display:block; margin-top:14px; font-size:.9375rem; color:var(--ink2); line-height:1.8; }
.gt-cap{ margin-top:20px; font-size:.8125rem; color:var(--ink3); text-align:center; }
.gt-pt{ display:grid; grid-template-columns:1fr 1.25fr; gap:64px; align-items:start; }
.gt-pt .gt-hd{ margin-bottom:0; }
.gt-ptlist{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.gt-ptlist li{ display:grid; grid-template-columns:44px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid var(--rule); }
.gt-ptlist i{ font-style:normal; width:44px; height:44px; border-radius:50%; background:var(--paper2); color:var(--aka); display:grid; place-items:center; font-family:var(--gtm); font-weight:600; }
.gt-ptlist b{ display:block; font-size:1.0625rem; color:var(--ink); margin-bottom:4px; }
.gt-ptlist p{ font-size:.9375rem; color:var(--ink2); line-height:1.9; }
.gt-hcp{ background:var(--gr); color:#fff; position:relative; overflow:hidden; }
.gt-hcp::before{ content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%; border:1px solid rgba(255,255,255,.08); }
.gt-hcp::after{ content:""; position:absolute; right:-40px; top:-40px; width:260px; height:260px; border-radius:50%; border:1px solid rgba(255,255,255,.08); }
.gt-hcp .gt-wrap{ position:relative; z-index:1; display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; padding-top:88px; padding-bottom:88px; }
.gt-hcp .gt-en{ font-family:var(--gtm); font-size:.8125rem; letter-spacing:.24em; color:#e7b9be; font-weight:600; }
.gt-hcp h2{ font-family:var(--gtm); font-weight:600; font-size:1.875rem; letter-spacing:.08em; margin:12px 0 18px; line-height:1.55; color:#fff; }
.gt-hcp p{ color:rgba(255,255,255,.8); font-size:.9375rem; line-height:1.95; }
.gt-tags{ list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.gt-tags li{ font-size:.8125rem; border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:5px 14px; color:rgba(255,255,255,.9); }
.gt-hcpbtn{ display:block; background:#fff; color:var(--gr) !important; border-radius:4px; padding:30px 34px; text-decoration:none !important; box-shadow:0 18px 40px rgba(0,0,0,.18); transition:transform .2s; }
.gt-hcpbtn:hover{ transform:translateY(-2px); }
.gt-hcpbtn .gt-t1{ display:block; font-family:var(--gtm); font-weight:600; font-size:1.5rem; letter-spacing:.08em; }
.gt-hcpbtn .gt-t2{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:14px; border-top:1px solid var(--rule); font-weight:600; color:var(--aka); font-size:1rem; letter-spacing:.04em; }
.gt-news{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.gt-news li a{ display:grid; grid-template-columns:120px 1fr 24px; gap:20px; padding:20px 4px; border-bottom:1px solid var(--rule); align-items:baseline; color:inherit !important; text-decoration:none !important; }
.gt-news time{ font-size:.875rem; color:var(--ink3); font-variant-numeric:tabular-nums; }
.gt-news span{ font-size:.9375rem; line-height:1.8; }
.gt-news i{ font-style:normal; color:var(--ink3); }
.gt-news li a:hover span{ color:var(--gr); text-decoration:underline; }
.gt-more{ margin-top:24px; text-align:right; } .gt-more a{ font-size:.875rem; font-weight:600; color:var(--gr); }
/* 確認ダイアログ */
.gt-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(17,24,39,.55); }
.gt-modal.on{ display:flex; }
.gt-dlg{ background:#fff; max-width:560px; width:100%; border-top:4px solid var(--aka); padding:40px 36px 32px; box-shadow:0 24px 60px rgba(0,0,0,.25); }
.gt-dlg .gt-en{ font-size:.75rem; letter-spacing:.22em; color:var(--aka); font-weight:600; }
.gt-dlg h3{ font-family:"Shippori Mincho B1","Zen Old Mincho",serif; font-weight:600; font-size:1.375rem; letter-spacing:.06em; margin:10px 0 16px; color:var(--ink); line-height:1.6; }
.gt-dlg p{ font-size:.9375rem; color:var(--ink2); line-height:1.95; }
.gt-dlg .gt-q{ margin-top:22px; font-weight:600; color:var(--ink); }
.gt-dlg .gt-dacts{ display:grid; gap:10px; margin-top:20px; }
.gt-dlg button{ font:inherit; cursor:pointer; border-radius:999px; }
.gt-dlg .gt-yes{ background:var(--gr); color:#fff; border:0; padding:15px; font-weight:600; font-size:1rem; } .gt-dlg .gt-yes:hover{ background:var(--gr2); }
.gt-dlg .gt-no{ background:#fff; color:var(--ink2); border:1px solid var(--rule); padding:13px; font-size:.9375rem; }
.gt-dlg .gt-sub{ margin-top:16px; font-size:.75rem; color:var(--ink3); text-align:center; }
@media(max-width:900px){
  .gt-cards, .gt-numg{ grid-template-columns:1fr; }
  .gt-num + .gt-num{ border-left:0; border-top:1px solid var(--rule); }
  .gt-pt, .gt-hcp .gt-wrap{ grid-template-columns:1fr; gap:36px; }
}
@media(max-width:640px){
  #v-home .gt-wrap{ padding:0 18px; }
  .gt-hero{ min-height:0; display:block; background:var(--paper); }
  .gt-hero > img{ position:relative; height:240px; }
  .gt-hero::after{ display:none; }
  .gt-hero .gt-wrap{ padding-top:36px; padding-bottom:56px; }
  .gt-hero h1{ font-size:1.8125rem; margin:16px 0 18px; }
  .gt-hero p{ font-size:.9375rem; }
  .gt-acts{ flex-direction:column; } .gt-btn{ justify-content:center; }
  .gt-sec{ padding:72px 0; }
  .gt-hd{ margin-bottom:32px; } .gt-hd h2{ font-size:1.5rem; }
  .gt-card{ padding:28px 22px 22px; }
  .gt-num{ padding:28px 16px; } .gt-num b{ font-size:2.875rem; }
  .gt-hcp .gt-wrap{ padding-top:64px; padding-bottom:64px; }
  .gt-hcp h2{ font-size:1.4375rem; }
  .gt-hcpbtn{ padding:24px 22px; } .gt-hcpbtn .gt-t1{ font-size:1.25rem; }
  .gt-news li a{ grid-template-columns:1fr 18px; gap:4px 12px; } .gt-news time{ grid-column:1/-1; }
  .gt-dlg{ padding:32px 22px 24px; }
}

/* ===== 一般向けの枠 v9（2026-11） ===== */
:root{--g-base:#fbfaf8;--g-base2:#f4f3ef;--g-green:#2e6b63;--g-green2:#25574f;--g-mint:#eaf1ee;--g-ink:#1f2523;--g-ink2:#525a57;--g-line:#e2dfd8;--g-navy:#1b2f57;--g-aka:#9a2430;--g-sans:"Noto Sans JP",-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--g-min:"Shippori Mincho B1","Zen Old Mincho","Hiragino Mincho ProN",serif}
body.hrs-g{background:var(--g-base)}
#g-shell{background:var(--g-base);color:var(--g-ink);font-family:var(--g-sans);font-size:16px;line-height:1.9;letter-spacing:.02em}
#g-shell .wrap{max-width:1080px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.g-pg *,.g-hdr *,.g-ftr *,.g-float *,.hgate *{box-sizing:border-box}
.g-pg :is(h1,h2,h3,p,ul,ol,li,figure),.g-hdr :is(p,ul,li),.g-ftr :is(p,ul,li){margin:0;padding:0}
.g-hdr a,.g-ftr a,.g-pg a,.g-float a{color:inherit;text-decoration:none}
.g-pg svg,.g-pg img,.g-hdr svg{display:block}
.g-hdr{background:#fff;border-bottom:1px solid var(--g-line)}
.g-hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.g-logo{display:flex;align-items:center;gap:12px}
.g-logo b{display:block;font-family:"Zen Old Mincho",serif;font-weight:500;font-size:20px;letter-spacing:.12em;line-height:1.4}
.g-logo small{display:block;font-size:10px;letter-spacing:.14em;color:#9aa19d;font-family:"Zen Old Mincho",serif;line-height:1.4}
.g-badge{font-size:12px;font-weight:700;color:var(--g-green);background:var(--g-mint);border-radius:999px;padding:3px 10px;margin-left:4px;white-space:nowrap}
.g-nav{display:flex;gap:26px;align-items:center;font-weight:500;font-size:15px;color:var(--g-ink2)}
.g-nav a:hover,.g-nav a.cur{color:var(--g-green)}.g-nav a.cur{font-weight:700}
.g-nav .hcp-link{font-size:13px;font-weight:600;color:#fff!important;background:var(--g-navy);border-radius:4px;padding:8px 16px;white-space:nowrap}
.g-nav .hcp-link:hover{background:#243d6e}
.g-acts{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.g-btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;border-radius:999px;padding:14px 28px;transition:.2s}
.g-btn--main{background:var(--g-green);color:#fff!important}.g-btn--main:hover{background:var(--g-green2)}
.g-btn--hcp{background:#fff;color:var(--g-navy)!important;border:1px solid var(--g-navy)}.g-btn--hcp:hover{background:#f1f3f7}
.g-sec{padding:84px 0}.g-sec--mint{background:var(--g-mint)}.g-sec--cream{background:var(--g-base2)}
.g-h{text-align:center;margin-bottom:44px}
.g-h h2{font-weight:600;font-size:28px;letter-spacing:.06em;color:var(--g-ink);line-height:1.5}
.g-h p{margin-top:10px;color:var(--g-ink2);font-size:16px}
.g-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g-card{background:#fff;border-radius:10px;padding:26px 24px 24px;box-shadow:0 2px 0 var(--g-line);border:1px solid var(--g-line);display:flex;flex-direction:column;transition:.2s}
.g-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(47,125,109,.12)}
.g-card .pic{width:64px;height:64px;border-radius:50%;background:var(--g-mint);display:grid;place-items:center;margin-bottom:18px}.g-card .pic svg{width:36px;height:36px}
.g-card h3{font-weight:700;font-size:20px;color:var(--g-ink);line-height:1.5}
.g-card p{font-size:15px;color:var(--g-ink2);line-height:1.9;margin-top:8px;flex:1}
.g-card .go{margin-top:16px;font-weight:700;font-size:15px;color:var(--g-green);display:flex;align-items:center;gap:8px}
.g-card .go i{font-style:normal;width:28px;height:28px;border-radius:50%;background:var(--g-mint);display:grid;place-items:center;font-size:14px}
.g-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.g-num{background:#fff;border-radius:10px;padding:28px 18px;text-align:center}
.g-num .ic{width:46px;height:46px;margin:0 auto 10px}
.g-num b{display:block;font-weight:700;font-size:46px;line-height:1.1;color:var(--g-green)}
.g-num b small{font-size:17px;margin-left:3px;color:var(--g-ink2)}
.g-num span{display:block;margin-top:8px;font-size:15px;color:var(--g-ink2)}
.g-cap{text-align:center;margin-top:18px!important;font-size:13px;color:#8a918d}
.g-pt{max-width:860px;margin:0 auto;background:#fff;border-radius:12px;padding:44px;border:1px solid var(--g-line)}
.g-pt h2{font-weight:700;font-size:28px;line-height:1.5}
.g-pt .lead{margin-top:12px;color:var(--g-ink2)}
.g-pt ul{list-style:none;margin-top:22px;display:grid;gap:12px}
.g-pt li{display:flex;gap:12px;align-items:flex-start;background:var(--g-base);border-radius:14px;padding:14px 16px;font-size:15px}
.g-pt li i{font-style:normal;flex:none;width:26px;height:26px;border-radius:50%;background:var(--g-green);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px;margin-top:2px}
.g-pt li b{display:block;font-size:16px}
.hcp-tag{display:inline-block;font-family:var(--g-sans);font-size:12px;font-weight:700;letter-spacing:.12em;color:#fff;background:var(--g-aka);padding:3px 10px;line-height:1.6;font-style:normal}
.g-hcp{background:#fff;color:var(--g-ink);border:1px solid var(--g-line);border-top:4px solid var(--g-aka);padding:28px 32px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;box-shadow:0 8px 24px rgba(27,47,87,.06)}
.g-hcp b{display:block;font-family:var(--g-min);font-weight:600;font-size:22px;letter-spacing:.06em;margin-top:10px}
.g-hcp p{color:var(--g-ink2);font-size:14px;margin-top:6px}
.g-hcp a{white-space:nowrap;background:var(--g-navy);color:#fff!important;font-weight:700;font-size:15px;border-radius:4px;padding:15px 24px}
.g-hcp a:hover{background:#243d6e}
.g-news{list-style:none;background:#fff;border-radius:10px;padding:6px 26px!important;border:1px solid var(--g-line)}
.g-news li a{display:flex;gap:18px;padding:16px 0;border-bottom:1px dashed var(--g-line);font-size:15px}
.g-news li:last-child a{border-bottom:0}
.g-news a:hover span{color:var(--g-green)}
.g-news time{flex:none;color:#8a918d;font-variant-numeric:tabular-nums}
.g-more{text-align:center;margin-top:18px!important}
.g-vhero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#dfe5e2}
.g-vhero__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g-vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,250,248,.96) 0%,rgba(251,250,248,.86) 40%,rgba(251,250,248,.25) 70%,rgba(251,250,248,0) 100%)}
.g-vhero .wrap{position:relative;z-index:1;width:100%}
.g-vhero__txt{max-width:520px;padding:80px 0}
.g-vhero .kick{display:inline-block;font-weight:600;font-size:14px;color:var(--g-green);background:var(--g-mint);border-radius:999px;padding:6px 16px}
.g-vhero h1{font-weight:600;font-size:40px;line-height:1.5;color:var(--g-ink);margin:20px 0 18px;letter-spacing:.04em}
.g-vhero h1 em{font-style:normal;color:var(--g-green)}
.g-vhero p{font-size:16px;line-height:2;color:var(--g-ink2)}
.g-vhero__pp{position:absolute;right:20px;bottom:18px;z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--g-ink);font-size:11px;cursor:pointer}
@media (prefers-reduced-motion:reduce){.g-vhero__v{display:none}.g-vhero{background:#dfe5e2 url(../img/hero-video-poster.jpg) center/cover}}
.g-ph{background:var(--g-mint);padding:44px 0 48px}
.g-crumb{font-size:13px;color:var(--g-ink2);display:flex;gap:8px;flex-wrap:wrap}
.g-crumb a{color:var(--g-green)!important}
.g-ph h1{font-weight:600;font-size:34px;letter-spacing:.04em;margin-top:14px;color:var(--g-ink);line-height:1.5}
.g-ph p{margin-top:12px;color:var(--g-ink2);max-width:680px;font-size:16px}
.g-body{padding:64px 0 24px}
.g-body .wrap{max-width:860px}
.g-blk{margin-bottom:64px}
.g-blk h2{font-weight:600;font-size:24px;letter-spacing:.04em;line-height:1.5;padding-bottom:12px;border-bottom:2px solid var(--g-mint);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.g-blk h2 .n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--g-green);color:#fff;font-size:15px;display:grid;place-items:center}
.g-blk p{color:var(--g-ink2);font-size:16px;line-height:2}
.g-blk p+p{margin-top:12px}
.g-blk p b{color:var(--g-ink)}
.g-point{background:#fff;border:1px solid var(--g-line);border-left:4px solid var(--g-green);border-radius:8px;padding:18px 20px;margin-top:18px;font-size:15px;color:var(--g-ink2);line-height:1.95}
.g-point b{display:block;color:var(--g-ink);font-size:16px;margin-bottom:4px}
.g-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.g-facts>div{background:#fff;border:1px solid var(--g-line);border-radius:8px;padding:16px 18px}
.g-facts small{display:block;font-size:12px;color:#8a918d;letter-spacing:.04em}
.g-facts b{display:block;font-size:16px;margin-top:4px;color:var(--g-ink);line-height:1.7}
.g-facts b span{font-size:13px;font-weight:400;color:#59625e}
.g-timeline{list-style:none;margin-top:18px!important;border-left:2px solid var(--g-mint);padding-left:22px!important}
.g-timeline li{position:relative;padding:6px 0 16px!important;color:var(--g-ink2);font-size:15px}
.g-timeline li::before{content:"";position:absolute;left:-29px;top:14px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--g-green)}
.g-timeline b{display:block;color:var(--g-green);font-size:15px}
.g-qa{list-style:none;margin-top:8px}
.g-qa li{background:#fff;border:1px solid var(--g-line);border-radius:8px;margin-top:12px!important}
.g-qa summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:600;font-size:16px;position:relative;color:var(--g-ink)}
.g-qa summary::-webkit-details-marker{display:none}
.g-qa summary::before{content:"Q";color:var(--g-green);font-weight:700;margin-right:10px}
.g-qa summary::after{content:"＋";position:absolute;right:18px;top:15px;color:var(--g-green)}
.g-qa details[open] summary::after{content:"－"}
.g-qa details p{padding:0 18px 18px 40px;font-size:15px}
.g-qa details p+p{margin-top:-6px}
.g-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.g-step{background:#fff;border:1px solid var(--g-line);border-radius:8px;padding:18px;text-align:center}
.g-step .lv{display:inline-block;font-size:12px;font-weight:700;color:var(--g-green);background:var(--g-mint);border-radius:999px;padding:2px 10px}
.g-step b{display:block;font-size:17px;margin:10px 0 6px;color:var(--g-ink)}
.g-step p{font-size:14px;line-height:1.85}
.g-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px!important;list-style:none}
.g-tags li{background:#fff;border:1px solid var(--g-line);border-radius:999px;padding:5px 14px!important;font-size:14px;color:var(--g-ink2)}
.g-blk .g-tags-h{font-weight:600;color:var(--g-ink);margin-top:18px;font-size:15px}
.g-people{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.g-people>div{background:#fff;border:1px solid var(--g-line);border-radius:8px;padding:16px 18px}
.g-people small{font-size:12px;color:var(--g-green);font-weight:700}
.g-people b{display:block;font-size:17px;margin:2px 0 4px}
.g-people span{font-size:13px;color:var(--g-ink2);line-height:1.8;display:block}
.g-link{display:inline-flex;gap:6px;align-items:center;margin-top:14px;color:var(--g-green)!important;font-weight:600;font-size:15px}
.g-ud{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin-top:16px}
.g-ud__c{background:#fff;border:1px solid var(--g-line);border-radius:10px;padding:18px 20px}
.g-ud__c small{font-size:12px;font-weight:700;color:var(--g-green);letter-spacing:.08em}
.g-ud__c b{display:block;font-size:17px;margin:4px 0 6px}
.g-ud__c p{font-size:14px;line-height:1.85}
.g-ud__c--dn{background:var(--g-navy);border-color:var(--g-navy);color:#fff}.g-ud__c--dn small{color:#c9cfe0}.g-blk .g-ud__c--dn p{color:rgba(255,255,255,.8)}
.g-ud__a{display:grid;place-items:center;font-size:22px;color:var(--g-green)}
.g-fig{width:100%;margin:22px auto 6px;display:block}
.g-more-hcp{background:#fff;color:var(--g-ink);border:1px solid var(--g-line);border-top:4px solid var(--g-aka);padding:30px 30px 26px;margin:8px 0 72px;box-shadow:0 8px 24px rgba(27,47,87,.06)}
.g-more-hcp b{display:block;font-family:var(--g-min);font-weight:600;font-size:22px;letter-spacing:.06em;margin-top:10px}
.g-more-hcp p{font-size:14px;color:var(--g-ink2);margin-top:12px;line-height:1.85}
.g-more-hcp ul,.g-more-plain ul{list-style:none;margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.g-more-hcp li a,.g-more-plain li a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--g-line);border-radius:4px;padding:12px 14px;font-size:14px;color:var(--g-ink)}
.g-more-hcp li a span{color:var(--g-navy)}
.g-more-hcp li a:hover{border-color:var(--g-navy);color:var(--g-navy)}
.g-more-plain{background:#fff;border:1px solid var(--g-line);border-radius:12px;padding:24px 26px;margin:8px 0 72px}
.g-more-plain>b{font-size:17px}
.g-more-plain li a:hover{border-color:var(--g-green);color:var(--g-green)}
.g-pg .cf{background:#fff;border:1px solid var(--g-line);border-radius:12px;padding:30px}
.g-ftr{background:#e9e3d6;color:var(--g-ink2);padding:40px 0;font-size:13px}
.g-ftr nav{display:flex;flex-wrap:wrap;gap:8px 22px;font-weight:500;font-size:14px;color:var(--g-ink)}
.g-ftr nav a:hover{color:var(--g-green)}
.g-ftr p{margin-top:16px;line-height:1.9}
.g-ftr-hcp{background:#fff;border:1px solid var(--g-line);border-top:4px solid var(--g-aka);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.g-ftr-hcp b{display:block;font-family:var(--g-min);font-weight:600;font-size:18px;color:var(--g-ink);margin-top:8px;letter-spacing:.04em}
.g-ftr-hcp span.d{display:block;font-size:13px;color:var(--g-ink2);margin-top:2px}
.g-ftr-hcp a.btn{flex:none;background:var(--g-navy);color:#fff;font-weight:700;font-size:14px;border-radius:4px;padding:13px 22px;white-space:nowrap}
.g-ftr-hcp a.btn:hover{background:#243d6e}
.g-float{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:stretch;background:#fff;color:var(--g-ink);border:1px solid var(--g-line);border-top:3px solid var(--g-aka);box-shadow:0 12px 32px rgba(27,47,87,.18);transform:translateY(16px);opacity:0;transition:.3s;pointer-events:none;font-family:var(--g-sans);line-height:1.6}
.g-float.on{transform:none;opacity:1;pointer-events:auto}
.g-float__a{display:grid;grid-template-columns:auto auto;column-gap:14px;align-items:center;padding:12px 8px 12px 18px}
.g-float__k{grid-column:1;justify-self:start;font-size:11px;font-weight:700;letter-spacing:.1em;color:#fff;background:var(--g-aka);padding:1px 8px}
.g-float__t{grid-column:1;font-size:15px;font-weight:700;font-family:var(--g-min);letter-spacing:.04em;margin-top:4px}
.g-float__ar{grid-column:2;grid-row:1/3;color:#fff;background:var(--g-navy);width:34px;height:34px;border-radius:4px;display:grid;place-items:center;font-size:16px}
.g-float__x{border:0;border-left:1px solid var(--g-line);background:transparent;color:#8a918d;font-size:16px;padding:0 12px;cursor:pointer}
.g-float__x:hover{color:var(--g-ink)}
.hgate{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(17,24,39,.72);font-family:var(--g-sans);line-height:1.8}
.hgate.on{display:flex}
.hgate__d{background:#fff;max-width:600px;width:100%;max-height:calc(100vh - 36px);overflow:auto;border-top:5px solid var(--g-aka);padding:36px 34px 28px;color:#1b1e24}
.hgate__h{font-family:var(--g-min);font-weight:600;font-size:22px;letter-spacing:.06em;margin:14px 0 12px;line-height:1.6}
.hgate p{font-size:14px;color:#4d5461;line-height:1.95;margin:0}
.hgate__box{margin-top:16px;background:#f4f3ef;padding:14px 16px;font-size:13px;color:#4d5461;line-height:1.9}
.hgate p.hgate__q{margin-top:18px;font-weight:700;color:#1b1e24}
.hgate__acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.hgate__acts button{font:inherit;font-size:15px;cursor:pointer;padding:14px;font-weight:700;border-radius:4px}
.hgate__yes{background:var(--g-navy);color:#fff;border:0}.hgate__yes:hover{background:#243d6e}
.hgate__no{background:#fff;color:var(--g-green);border:2px solid var(--g-mint)}
.hgate p.hgate__sub{margin-top:12px;font-size:12px;color:#8b93a1}
.hband{background:#1b2f57;color:#fff;font-size:13px;line-height:1.6}
.hband__in{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;padding-bottom:8px}
.hband b{display:inline-flex;align-items:center;gap:8px;letter-spacing:.06em;font-weight:700}
.hband b::before{content:"";width:8px;height:8px;border-radius:50%;background:#e7b9be}
.hband a{color:#fff!important;opacity:.85;text-decoration:underline;white-space:nowrap}
.hband a:hover{opacity:1}
.mark .htag{flex:none;align-self:center;font-style:normal;font-family:var(--g-sans);font-size:11px;font-weight:700;letter-spacing:.1em;color:#fff;background:var(--g-aka);padding:2px 8px;line-height:1.6;margin-left:4px;white-space:nowrap}
@media(max-width:860px){
.g-nav a:not(.hcp-link){display:none}
.g-cards,.g-facts,.g-steps,.g-people,.g-more-hcp ul,.g-more-plain ul{grid-template-columns:1fr}
.g-nums{grid-template-columns:1fr 1fr}
.g-hcp{grid-template-columns:1fr}.g-hcp a{text-align:center}
.g-ud{grid-template-columns:1fr}.g-ud__a{transform:rotate(90deg)}
.g-vhero{display:block;min-height:0;background:var(--g-base)}
.g-vhero__v{position:relative;height:260px}
.g-vhero::after{display:none}
.g-vhero__txt{padding:28px 0 52px}
.g-vhero h1{font-size:28px}
.g-vhero__pp{top:214px;bottom:auto}
}
@media(max-width:640px){
#g-shell .wrap{padding:0 18px}
.g-hdr .wrap{height:60px}.g-badge{display:none}
.g-logo{gap:8px;min-width:0}.g-logo svg{width:28px}.g-logo b{font-size:15px;letter-spacing:.06em;white-space:nowrap}.g-logo small{display:none}
.g-nav .hcp-link{padding:6px 12px;font-size:12px}
.g-acts{flex-direction:column}.g-btn{justify-content:center}
.g-sec{padding:60px 0}.g-h h2{font-size:24px}
.g-pt{padding:26px 20px}.g-pt h2{font-size:23px}
.g-ph{padding:30px 0 34px}.g-ph h1{font-size:26px}
.g-body{padding:44px 0 12px}.g-blk h2{font-size:20px}
.g-more-hcp{padding:24px 20px 20px}
.g-pg .cf{padding:22px 18px}
.g-ftr-hcp{flex-direction:column;align-items:stretch}.g-ftr-hcp a.btn{text-align:center}
.g-float{left:0;right:0;bottom:0;border-left:0;border-right:0}
.g-float__a{flex:1;padding:10px 4px 10px 16px;grid-template-columns:1fr auto}
.g-float__t{font-size:14px}
.hgate__acts{grid-template-columns:1fr}.hgate__d{padding:28px 20px 22px}
.hband__in{flex-direction:column;align-items:flex-start;gap:2px}
.mark .htag{display:none}
}
/* g-font */
.g-pg :is(h1,h2,h3,h4),.g-hdr,.g-ftr,.g-pg{font-family:var(--g-sans)}
.g-pg .g-hcp b,.g-pg .g-more-hcp b,.g-ftr .g-ftr-hcp b{font-family:var(--g-min)}
/* g-cf */
.g-pg .cf em{background:var(--g-green)!important}
.g-pg .cf__btn{background:var(--g-green)!important;border-radius:999px!important}
.g-pg .cf__btn:hover{background:var(--g-green2)!important}
.g-pg .cf__agree{background:var(--g-mint)!important;border-color:var(--g-green)!important}
.g-pg .cf input:focus,.g-pg .cf select:focus,.g-pg .cf textarea:focus{outline-color:var(--g-green)}
/* g-news-lnav */
body.hrs-g .wrap.page>aside.lnav{display:none!important}
body.hrs-g .wrap.page{display:block!important}
body.hrs-g .wrap.page>.pmain{max-width:860px;margin-left:auto;margin-right:auto}
/* g-nums-top */
.g-sec--nums{padding:56px 0 60px}
.g-sec--nums .g-h{margin-bottom:28px}
@media(max-width:640px){.g-sec--nums{padding:40px 0 44px}.g-sec--nums .g-h h2{font-size:21px}.g-nums{gap:10px}.g-num{padding:18px 10px}.g-num .ic{width:34px;height:34px;margin-bottom:6px}.g-num b{font-size:36px}.g-num b small{font-size:14px}.g-num span{font-size:13px;line-height:1.6;margin-top:6px}}
/* g-photos */
.g-card__img{margin:-26px -24px 18px!important;height:170px;overflow:hidden;border-radius:10px 10px 0 0;background:var(--g-mint)}
.g-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.g-card:hover .g-card__img img{transform:scale(1.04)}
.g-ph--img{padding:36px 0 40px}
.g-ph__in{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:center}
.g-ph__img{margin:0;height:230px;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(31,37,35,.10)}
.g-ph__img img{width:100%;height:100%;object-fit:cover;display:block}
.g-photo{margin:22px 0 4px!important}
.g-photo img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--g-line);background:#fff}
.g-photo figcaption{font-size:13px;color:#6b726f;line-height:1.8;margin-top:8px}
.g-photo--side img{height:260px;object-fit:cover}
@media(max-width:860px){.g-ph__in{grid-template-columns:1fr;gap:20px}.g-ph__img{height:180px;order:-1}}
@media(max-width:640px){.g-card__img{margin:-26px -24px 16px!important;height:150px}.g-ph__img{height:150px}.g-photo--side img{height:190px}}
.g-blk p.g-fig-cap{font-size:13px;color:#6b726f;line-height:1.8;text-align:center;max-width:600px;margin:4px auto 0}
/* g-officers */
.g-people--all>div{display:flex;flex-direction:column}
.g-people .g-people__past{margin-top:6px;font-size:12px;color:#8a918d}
.g-people .g-people__spec{margin-top:6px;font-size:12px;color:var(--g-green);line-height:1.7}
.g-blk p.g-people-note{font-size:12px;color:#8a918d;margin-top:10px}
/* g-sticky：一般向けのヘッダーをスクロールしても上に残す（2026-11） */
#g-shell .g-hdr{position:sticky;top:0;z-index:60;box-shadow:0 1px 0 var(--g-line)}
body.admin-bar #g-shell .g-hdr{top:32px}
@media(max-width:782px){body.admin-bar #g-shell .g-hdr{top:46px}}
@media(max-width:600px){body.admin-bar #g-shell .g-hdr{top:0}}
html:has(body.hrs-g){scroll-padding-top:84px}
/* g-menu：スマホのメニュー（一般向け）と、医療関係者向けメニューの下部（2026-11） */
#g-shell .g-hdr{position:sticky}
.g-menubtn{display:none;align-items:center;gap:6px;border:1px solid var(--g-line);background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;font-weight:700;color:var(--g-ink);cursor:pointer;white-space:nowrap}
.g-menubtn__i{display:grid;gap:3px;width:14px}.g-menubtn__i i{display:block;height:2px;background:var(--g-green);border-radius:2px}
.g-menubtn[aria-expanded=true] .g-menubtn__i i:nth-child(2){opacity:0}
.g-menubtn[aria-expanded=true] .g-menubtn__i i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.g-menubtn[aria-expanded=true] .g-menubtn__i i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.g-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--g-line);box-shadow:0 18px 30px rgba(31,37,35,.12);max-height:calc(100vh - 60px);overflow:auto}
.g-menu[hidden]{display:none}
.g-menu ul{list-style:none;margin:0;padding:6px 0}
.g-menu li a{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px solid var(--g-line);font-size:16px;font-weight:600;color:var(--g-ink)}
.g-menu li a[aria-current]{color:var(--g-green)}
.g-menu li a span{color:var(--g-green)}
.g-menu__hcp{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;margin:14px 0 10px;padding:14px 16px;border:1px solid var(--g-line);border-top:3px solid var(--g-aka);background:#fff;color:var(--g-ink)}
.g-menu__hcp .hcp-tag{justify-self:start;font-size:11px;padding:1px 8px}
.g-menu__hcp b{grid-column:1;font-family:var(--g-min);font-size:16px;font-weight:600}
.g-menu__hcp>span:last-child{grid-column:2;grid-row:1/3;color:#fff;background:var(--g-navy);width:32px;height:32px;border-radius:4px;display:grid;place-items:center}
.g-menu__close{display:block;width:100%;margin:0 0 16px;padding:13px;border:1px solid var(--g-line);background:var(--g-base);border-radius:999px;font:inherit;font-size:14px;font-weight:600;color:var(--g-ink2);cursor:pointer}
@media(max-width:860px){.g-menubtn{display:inline-flex}}
@media(max-width:600px){.g-nav .hcp-link{display:none}}
body.g-menu-open .g-float,body.g-menu-open [data-totop],body.nav-open [data-totop]{display:none!important}
.nav__foot{display:none}
@media(max-width:919px){
.nav__foot{display:block;padding:20px 20px 28px;border-top:1px solid var(--rule,#e2dfd8);background:#fff}
.nav__foot a{display:block;text-align:center;padding:12px;border:1px solid var(--g-green);border-radius:999px;color:var(--g-green)!important;font-weight:700;font-size:14px;background:#fff;text-decoration:none}
.nav__foot button{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid var(--rule,#e2dfd8);border-radius:999px;background:#f4f3ef;font:inherit;font-size:14px;font-weight:600;color:#4d5461;cursor:pointer}
}
#g-shell .g-menu .wrap{display:block;height:auto;padding-top:4px}
/* hcp-mnav：医療関係者向けスマホメニューを全画面にする（2026-11） */
.nav__head{display:none}
@media(max-width:919px){
body.nav-open{overflow:hidden}
body.nav-open .nav.on{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;z-index:100000!important;background:#fff!important;display:block!important;-webkit-overflow-scrolling:touch}
body.admin-bar.nav-open .nav.on{top:46px!important}
.nav.on .nav__head{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--rule,#e2dfd8)}
.nav__head b{font-family:"Zen Old Mincho",serif;font-weight:500;font-size:16px;letter-spacing:.1em;color:var(--ink,#1b1e24)}
.nav__head em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff;background:#9a2430;padding:1px 6px;margin-left:8px;vertical-align:2px}
.nav__head button{flex:none;border:1px solid var(--rule,#e2dfd8);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;color:#4d5461;cursor:pointer}
}
/* hcp-mnav-adm */
@media(max-width:600px){body.admin-bar.nav-open .nav.on{top:0!important}}
