/* =====================================================================
   What to Noh in Pharma ── 見た目
   すべての値は docs/design.md で決めたものです。
   ★ここに無い色・余白を勝手に足さないでください。
   ===================================================================== */

:root{
  /* ---- 配色（2026/10/12 作り替え：MEDIRISM の紺×金。IPO ナビの見やすさに寄せる） ---- */
  --white:      #FFFFFF;   /* 背景 */
  --cream:      #F6F8FB;   /* 区画の背景（白と交互に置く、ごく薄い灰青） */
  --line:       #E2E8F0;   /* 罫線 */
  --ink:        #1E293B;   /* 本文 */
  --sub:        #64748B;   /* 補助文字 */
  --gold:       #C2A86A;   /* ブランド金：装飾・罫線（MEDIRISM のロゴの金） */
  --gold-deep:  #8A6A24;   /* 差し色：リンク・強調（白地で読める濃さ） */
  --sumi:       #0C335B;   /* 濃色の面：ヘッダー・帯（MEDIRISM のロゴの紺） */
  --navy-2:     #123E6B;   /* 紺の明るい側（グラデーション用） */
  --navy-3:     #08223F;   /* 紺の暗い側 */
  --alert:      #B3261E;   /* 警告 */
  --ai-bg:      #F6EFDF;   /* AI要約・札：背景 */
  --ai-fg:      #7A5E22;   /* AI要約・札：文字 */

  /* ---- 書体：本文も見出しもゴシック。明朝はトップの大見出しだけ。ロゴは Cinzel（MEDIRISM のロゴに近い書体） ---- */
  --sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;
  --serif:var(--sans);
  --mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --logo-font:"Cinzel","Trajan Pro",var(--mincho);

  /* ---- 余白（design.md 4-1／4の倍数のみ） ---- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px;
  --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s12:48px; --s16:64px;
  /* ★--s5 と --s10 は 2026/09/23 に追加。ツールの画面で使われていたのに
       定義が無く、余白が 0 になっていました（4の倍数なので design.md の範囲内） */

  /* ---- 幅（design.md 4-3） ---- */
  --page-max:1440px;     /* 2026/10/12：1120 → 1440（IPO ナビに合わせ、左右の余白を詰める） */
  --read-max:680px;
}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  font-size:17px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--gold-deep);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--gold-deep);outline-offset:2px;
}

.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--s6)}

.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--sumi);color:#fff;
  padding:var(--s2) var(--s4);z-index:100;
}
.skip-link:focus{left:0}

.ext{font-size:.85em;margin-left:2px}

/* =====================================================================
   ヘッダー（design.md 5-1／7-1）
   ロゴは2段組。名前が21文字あるため（What to Noh ＋ IN PHARMA）
   ===================================================================== */
.site-header{background:var(--sumi);border-bottom:1px solid rgba(194,168,106,.45);position:sticky;top:0;z-index:50}
.hd{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:var(--s4)}

.logo{line-height:1;text-decoration:none;display:block}
.logo:hover{text-decoration:none}
.logo-main{
  display:block;font-family:var(--logo-font);font-weight:600;font-size:24px;letter-spacing:.08em;
  background:linear-gradient(100deg,#F2E6B8 0%,#C2A86A 50%,#A88B4A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.logo-sub{
  display:block;margin-top:3px;font-family:var(--logo-font);font-size:9px;letter-spacing:.42em;
  color:#B79C5E;font-weight:600;
}

.gnav{display:flex;gap:var(--s5);align-items:center}
.gnav a{color:#E2E8F0;font-size:14px;font-weight:500;padding:var(--s2) 0;white-space:nowrap}
.gnav a:hover,.gnav a.on{color:var(--gold);text-decoration:none}

/* 携帯電話用のメニュー */
.menu-toggle{display:none}
.burger{display:none;color:var(--gold);font-size:26px;cursor:pointer;
        min-width:44px;min-height:44px;line-height:44px;text-align:right}
.drawer{display:none;flex-direction:column;width:100%;border-top:1px solid rgba(255,255,255,.12);padding:var(--s2) 0}
.drawer a{color:#E2E8F0;font-size:16px;padding:var(--s3) 0;min-height:44px}

/* =====================================================================
   冒頭の帯（design.md 5-2）
   ===================================================================== */
.hero{background:var(--sumi);color:#fff;padding:var(--s16) 0 72px;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;right:-120px;top:-80px;width:380px;height:380px;
  border:1px solid rgba(200,178,115,.28);border-radius:50%;
}
.hero .wrap{position:relative;z-index:1}
.hero-en{font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:var(--s4)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:40px;line-height:1.55;letter-spacing:.04em}
.hero h1 .g{color:var(--gold)}
.hero-lead{margin-top:var(--s4);color:#C9D3E0;font-size:14px;line-height:1.95;max-width:var(--read-max)}
.hero-rule{width:56px;height:2px;background:var(--gold);margin-top:var(--s6)}

/* 下層ページの見出し帯 */
.page-head{background:var(--cream);border-bottom:1px solid var(--line);padding:var(--s12) 0}
.page-head h1{font-family:var(--sans);font-size:30px;font-weight:700;letter-spacing:.02em}
.page-head p{margin-top:var(--s3);color:var(--sub);font-size:15px;max-width:var(--read-max)}

/* =====================================================================
   セクションと見出し
   ===================================================================== */
section{padding:56px 0}
section.tinted{background:var(--cream)}

.sec-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);
  margin-bottom:24px;position:relative;
}
.sec-head h2{font-family:var(--sans);font-size:24px;font-weight:700;letter-spacing:.02em;color:var(--ink)}
.sec-head h2 .kicker{font-family:var(--logo-font);color:var(--gold-deep);font-weight:700;letter-spacing:.04em;margin-right:10px}
.sec-head .more{font-size:14px;font-weight:600;white-space:nowrap;color:var(--gold-deep)}

/* =====================================================================
   カード共通（影は使わない。罫線で区切る）
   ===================================================================== */
.card{border:1px solid var(--line);border-radius:8px;background:var(--white)}

/* ---- ニュースカード（design.md 5-3） ---- */
.news{padding:20px 22px;margin-bottom:var(--s3)}
.news.top{border-left:3px solid var(--gold)}
.news .meta{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sub);
            margin-bottom:var(--s2);flex-wrap:wrap}
.tag-ai{background:var(--ai-bg);color:var(--ai-fg);font-size:11px;font-weight:700;
        padding:3px 8px;border-radius:4px;letter-spacing:.06em}
.news h3{font-size:19px;font-weight:700;line-height:1.65;margin-bottom:10px}
.news .summary{list-style:none;font-size:15px;color:#3B3833;line-height:1.85}
.news .summary li{padding-left:14px;position:relative}
.news .summary li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;
                          background:var(--gold);border-radius:50%}
.news-foot{margin-top:14px;display:flex;gap:20px;font-size:14px;flex-wrap:wrap}

/* ---- 記事カード（design.md 5-4） ---- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.art{overflow:hidden;display:flex;flex-direction:column}
.art-ph{
  height:132px;background:linear-gradient(135deg,#F3EEE1,#E4DBC2);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.art-ph .ph-text{font-family:var(--serif);color:#B7A472;font-size:13px;letter-spacing:.3em}
.art-ph img{width:100%;height:100%;object-fit:cover}
.art-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.chip{
  display:inline-block;font-size:12px;color:var(--gold-deep);border:1px solid var(--gold);
  border-radius:999px;padding:2px 12px;margin-bottom:10px;align-self:flex-start;line-height:1.7;
}
.chip:hover{text-decoration:none;background:var(--ai-bg)}
.art h3{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.6;margin-bottom:10px}
.art h3 a{color:var(--ink)}
.art h3 a:hover{color:var(--gold-deep);text-decoration:none}
.art .lead{font-size:14px;color:var(--sub);line-height:1.85;flex:1}
.byline{margin-top:14px;padding-top:var(--s3);border-top:1px solid var(--line);
        font-size:13px;color:var(--sub)}

/* ---- ブリーフィング ---- */
.brief{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:28px 30px}
.brief .stamp{display:inline-block;font-size:12px;color:var(--ai-fg);background:var(--ai-bg);
              padding:4px 10px;border-radius:4px;margin-bottom:14px}
.brief h3{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:var(--s3)}
.brief-item{padding:20px 22px;margin-bottom:var(--s3)}
.brief-item h3{font-family:var(--serif);font-size:20px;font-weight:600;margin-bottom:var(--s2)}

/* ---- 今日の重要ニュース（1段落のまとめ・A-1）----
   カードではなく文章にすることで、下の「最新ニュース」と役割を分ける。
   金の縦罫を左に置き、社説のような佇まいにする。 */
.digest{
  border-left:3px solid var(--gold);
  padding:var(--s2) 0 var(--s2) var(--s6);
  /* 日付を左の柱に出し、本文が横幅を使い切るようにする。
     本文だけを 680px にすると、右に大きな空きができて不自然に見えるため。 */
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  column-gap:var(--s8);
  align-items:start;
}
.digest-date{
  grid-column:1;grid-row:1;
  font-size:12px;letter-spacing:.16em;color:var(--gold-deep);
  padding-top:10px;   /* 本文1行目の中心に合わせる */
}
.digest-body{
  grid-column:2;grid-row:1;
  font-family:var(--serif);
  font-size:20px;line-height:2.0;color:var(--ink);
}
/* 文中のリンクは、下線で「押せる」と分かるようにする */
.digest-body a{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-decoration-thickness:2px;
  text-underline-offset:5px;
}
.digest-body a:hover{
  color:var(--gold-deep);
  text-decoration-color:var(--gold-deep);
}
.digest-note{
  grid-column:2;grid-row:2;
  margin-top:var(--s4);font-size:13px;color:var(--sub);
}

/* ---- メール登録の欄 ----
   ★この欄は背景が濃色（--sumi）です。文字は必ず明るい色にすること。
     本文用の濃い色を使うと、読者にはまったく読めません。 */
.sub-form{margin-top:var(--s6);max-width:420px;margin-left:auto;margin-right:auto;text-align:left}
.sub-form .field{margin-bottom:var(--s4);background:transparent;border:0;padding:0;width:auto;min-height:0;box-shadow:none}
.sub-form label{display:block;font-size:13px;margin-bottom:var(--s1);color:#C9D3E0}
.sub-form input[type=email],.sub-form select{
  width:100%;padding:12px var(--s3);font-size:16px;  /* 16px未満だと携帯で勝手に拡大される */
  font-family:inherit;color:var(--ink);
  border:1px solid var(--line);border-radius:4px;background:var(--white);
}
.sub-form input[type=email]:focus,.sub-form select:focus{
  outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}
.sub-form .check label{display:flex;align-items:flex-start;gap:var(--s2);
  font-size:14px;color:#E2E8F0;cursor:pointer}
.sub-form .check input{margin-top:3px;width:18px;height:18px;flex:none}
.sub-form .check a{color:var(--gold)}
/* 濃色の上でも読めるよう、警告色は明るめにする */
.sub-form .err{color:#F0A9A3;font-size:13px;margin-top:var(--s1)}
.sub-form .note{margin-top:var(--s3);font-size:12px;color:#9FB0C4;line-height:1.8}
.btn-gold{
  background:var(--gold);color:var(--sumi);border:none;border-radius:4px;
  padding:14px var(--s8);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;
  min-height:44px;  /* 指で押せる大きさ */
}
.btn-gold:hover{background:#D9C68C}
.btn-gold:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* ★機械よけの欄。人には見せないが、読み上げ機には隠す指定も入れる */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- 登録の途中経過を出す画面 ---- */
.wrap.narrow{max-width:var(--read-max)}
.steps{margin:0 0 var(--s8);padding-left:1.4em;line-height:2.0}
.steps li{margin-bottom:var(--s2)}
.notice{background:var(--cream);border:1px solid var(--line);border-radius:8px;
  padding:var(--s6);margin-bottom:var(--s6);line-height:1.9}
.notice.ok{border-left:3px solid var(--gold)}
.notice ul{margin:var(--s3) 0 0;padding-left:1.3em}
.notice li{margin-bottom:var(--s1);font-size:14px}
.inline-form{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.inline-form input[type=email]{flex:1;min-width:220px;padding:11px var(--s3);
  font-size:16px;font-family:inherit;border:1px solid var(--line);border-radius:4px}
.btn-line{background:none;border:1px solid var(--ink);border-radius:4px;
  padding:11px var(--s5,20px);font-size:14px;font-family:inherit;cursor:pointer;min-height:44px}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-line.danger{border-color:var(--alert);color:var(--alert)}
.btn-line.danger:hover{background:var(--alert);color:#fff}
.btn-plain{padding:11px var(--s4);font-size:14px;color:var(--sub);align-self:center}
.back{margin-top:var(--s6);font-size:14px}

/* 有料記事は要約を出さない。その旨を控えめに示す */
.paywall-note{margin-top:var(--s2);font-size:13px;color:var(--sub)}

/* ---- ブリーフィングの確認画面 ---- */
.brief-edit{margin-top:var(--s6);max-width:var(--read-max)}
.brief-edit .field{margin-bottom:var(--s4)}
.brief-edit label{display:block;font-size:13px;color:var(--sub);margin-bottom:var(--s1)}
.brief-edit input[type=text],.brief-edit textarea{
  width:100%;padding:12px var(--s3);font-size:15px;font-family:inherit;
  color:var(--ink);border:1px solid var(--line);border-radius:4px;line-height:1.9}
.brief-edit textarea{resize:vertical}
.brief-actions{display:flex;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s6);
  padding-top:var(--s6);border-top:1px solid var(--line)}
.brief-actions .btn-gold{background:var(--sumi);color:#fff}
.brief-actions .btn-gold:hover{background:var(--gold-deep)}

/* ---- 一覧が0件のとき ---- */
.empty{
  border:1px dashed var(--line);border-radius:8px;background:var(--cream);
  padding:var(--s12) var(--s6);text-align:center;color:var(--sub);
}
.empty p{font-size:16px}
.empty .empty-note{margin-top:var(--s2);font-size:14px}

/* =====================================================================
   記事本文（design.md 3-2／4-3）
   ===================================================================== */
.article{max-width:var(--read-max);padding-top:var(--s12);padding-bottom:var(--s8)}
.article-head{margin-bottom:var(--s8)}
.article-head h1{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1.6;
                 letter-spacing:.03em;margin:var(--s3) 0}
.article-dates{font-size:14px;color:var(--sub)}
.author{margin-top:var(--s6);padding:var(--s4) 0;border-top:1px solid var(--line);
        border-bottom:1px solid var(--line)}
.author-label{font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.08em;margin:0 0 var(--s2)}
.author-name{font-weight:700;font-size:15px}
.author-bio{font-size:13px;color:var(--sub);margin-top:4px;line-height:1.8}

.article-image{margin:var(--s8) 0}
.article-image img{border-radius:8px;width:100%}

.article-body{font-size:17px;line-height:1.9}
.article-body > * + *{margin-top:var(--s6)}
.article-body h2{
  font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.6;
  margin-top:var(--s12);padding-bottom:var(--s2);border-bottom:1px solid var(--line);position:relative;
}
.article-body h2::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--gold)}
.article-body h3{font-family:var(--serif);font-size:22px;font-weight:600;margin-top:var(--s8)}
.article-body h4{font-size:18px;font-weight:700;margin-top:var(--s6)}
.article-body ul,.article-body ol{padding-left:1.4em}
.article-body li + li{margin-top:var(--s1)}
.article-body blockquote{
  border-left:3px solid var(--gold);background:var(--cream);
  padding:var(--s4) var(--s6);color:#3B3833;font-size:16px;
}
.article-body code{background:var(--cream);border:1px solid var(--line);border-radius:4px;
                   padding:1px 5px;font-size:.9em}
.article-body pre{background:var(--cream);border:1px solid var(--line);border-radius:8px;
                  padding:var(--s4);overflow-x:auto}
.article-body pre code{border:none;background:none;padding:0}
.article-body hr{border:none;border-top:1px solid var(--line);margin:var(--s12) 0}

/* 表は、はみ出すときだけ横スクロール（design.md 6章） */
.article-body table{
  width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto;
}
.article-body th,.article-body td{border:1px solid var(--line);padding:10px 12px;text-align:left;
                                  white-space:nowrap}
.article-body th{background:var(--cream);font-weight:700;font-size:14px}

/* ---- 出典 ---- */
.sources{margin-top:var(--s12);padding:var(--s6);border:1px solid var(--line);
         border-radius:8px;background:var(--cream)}
.sources h2{font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:var(--s3)}
.sources ol{padding-left:1.4em;font-size:14px;line-height:1.9}

/* ---- 訂正履歴 ---- */
.revisions{margin-top:var(--s6);padding:var(--s4) var(--s6);border-left:3px solid var(--alert);
           background:#FCF6F5}
.revisions h2{font-size:15px;font-weight:700;margin-bottom:var(--s2);color:var(--alert)}
.revisions ul{list-style:none;font-size:14px}

/* ---- 共有 ---- */
.share{margin-top:var(--s8);display:flex;gap:var(--s3);flex-wrap:wrap}
.share a{
  border:1px solid var(--gold);border-radius:8px;padding:10px 20px;font-size:14px;
  min-height:44px;display:inline-flex;align-items:center;
}
.share a:hover{background:var(--ai-bg);text-decoration:none}

/* ---- 「What to Noh in Pharma とは」 ---- */
.about-box{margin-top:var(--s12);padding:var(--s6);border:1px solid var(--line);border-radius:8px}
.about-box h3{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:var(--s2)}
.about-box p{font-size:14px;color:#3B3833;line-height:1.9}
.about-box .about-more{margin-top:var(--s3);font-size:14px}

/* 決まりごとのページ */
.static-page .article-body{font-size:16px}

/* =====================================================================
   メール登録（design.md 5-5）
   ===================================================================== */
.subscribe{background:var(--sumi);color:#fff;border-radius:8px;padding:40px 44px;text-align:center}
.subscribe h3{font-family:var(--serif);font-size:26px;font-weight:600;margin-bottom:10px}
.subscribe p{color:#C9D3E0;font-size:15px}
.subscribe .coming{margin-top:var(--s4);font-size:13px;color:var(--gold)}

/* =====================================================================
   エラー画面
   ===================================================================== */
.error-page{padding:80px 0;text-align:center}
.error-page h1{font-family:var(--serif);font-size:28px;font-weight:600;margin-bottom:var(--s4)}
.error-page p{color:var(--sub);font-size:16px}
.btn-line{
  display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s6);
  border:1px solid var(--gold);border-radius:8px;padding:10px 28px;font-size:15px;
}
.btn-line:hover{background:var(--ai-bg);text-decoration:none}

/* =====================================================================
   フッター
   ===================================================================== */
.site-footer{background:var(--sumi);color:#C9D3E0;padding:48px 0 36px;margin-top:0}
.foot-grid{display:flex;justify-content:space-between;gap:var(--s8);flex-wrap:wrap;align-items:flex-start}
.foot-logo{font-family:var(--logo-font);font-size:20px;font-weight:600;letter-spacing:.08em;
           background:linear-gradient(100deg,#F2E6B8 0%,#C2A86A 50%,#A88B4A 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.foot-sub{margin-top:var(--s2);font-size:13px;color:#C9D3E0;line-height:1.9;max-width:var(--read-max)}
.foot-links{display:flex;gap:var(--s6);flex-wrap:wrap;font-size:14px;margin:var(--s4) 0 var(--s3)}
.foot-links a{color:#E2E8F0}
.foot-links a:hover{color:var(--gold)}
.foot-org{text-align:center}
.foot-org span{display:block;font-size:11px;letter-spacing:.2em;color:#9FB0C4;margin-bottom:6px}
.foot-org img{width:150px;height:auto;display:block}
.site-footer small{color:#9FB0C4;font-size:12px}

/* =====================================================================
   携帯電話（768px未満／design.md 6章・spec 第7章）
   ===================================================================== */
@media (max-width:768px){
  .sub-form{max-width:100%}
  .inline-form input[type=email]{min-width:100%}
  .digest{padding-left:var(--s4);grid-template-columns:1fr}
  .digest-date,.digest-body,.digest-note{grid-column:1}
  .digest-date{grid-row:auto;padding-top:0;margin-bottom:var(--s3)}
  .digest-body,.digest-note{grid-row:auto}
  .digest-body{font-size:17px;line-height:1.95}
  body{font-size:16px}
  .wrap{padding:0 var(--s4)}

  /* ★padding の一括指定にすると .wrap の左右余白を消してしまうので、上下だけ指定する */
  .hd{flex-wrap:wrap;padding-top:var(--s3);padding-bottom:var(--s3)}
  .gnav{display:none}
  .burger{display:block}
  .logo-main{font-size:21px}
  .logo-sub{font-size:9px;letter-spacing:.28em}
  .menu-toggle:checked ~ .drawer{display:flex}

  .hero{padding:44px 0 52px}
  .hero h1{font-size:28px}
  .hero::after{width:240px;height:240px;right:-90px;top:-60px}

  .page-head{padding:var(--s8) 0}
  .page-head h1{font-size:26px}

  section{padding:40px 0}
  /* 見出しと「もっと見る」を縦に分ける（横に並べると窮屈になるため） */
  .sec-head{flex-direction:column;align-items:flex-start;gap:var(--s1)}
  .sec-head h2{font-size:21px}
  .sec-head .more{font-size:13px}

  .grid{grid-template-columns:1fr}
  .art h3{font-size:19px}

  .article{padding-top:var(--s8)}
  .article-head h1{font-size:26px}
  .article-body{font-size:16px}
  .article-body h2{font-size:21px}
  .article-body h3{font-size:20px}

  .subscribe{padding:var(--s8) var(--s4)}
  .subscribe h3{font-size:21px}
}

/* 印刷（記事を資料として保存する読者向け） */
@media print{
  .site-header,.site-footer,.share,.subscribe,.about-box,.hero{display:none}
  body{font-size:11pt}
  .article{max-width:none}
}

/* =====================================================================
   テーマ一覧ページ（テーマが14個に増えたため追加）
   ===================================================================== */
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.topic-card{padding:20px 22px;display:block;color:var(--ink)}
.topic-card:hover{text-decoration:none;border-color:var(--gold);background:var(--cream)}
.topic-card h2{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:var(--s2)}
.topic-card p{font-size:13px;color:var(--sub);line-height:1.8}
.topic-count{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line);
             font-size:12px;color:var(--gold-deep)}

/* 記事本文：テーマの札が複数並ぶ */
.chips{display:flex;gap:var(--s2);flex-wrap:wrap}

@media (max-width:768px){
  .topic-grid{grid-template-columns:1fr}
}

/* =====================================================================
   記事内の図（画像＋説明文・出典）
   ===================================================================== */
.article-body figure{margin:var(--s8) 0}
.article-body figure img{
  width:100%;border:1px solid var(--line);border-radius:8px;background:var(--white);
}
.article-body figcaption,
.article-image figcaption{
  margin-top:var(--s2);font-size:13px;color:var(--sub);line-height:1.8;
}
.article-image figcaption{text-align:right}

/* 第三者の図は貼らず、リンクで示すときの見た目 */
.article-body blockquote.figure-link{
  border-left:3px solid var(--gold);background:var(--cream);
  padding:var(--s3) var(--s4);font-size:15px;
}

/* =====================================================================
   第2段階：ニュース関連
   ===================================================================== */
.paywall{background:#F6EFEA;color:#8A5A2E;font-size:11px;font-weight:700;
         padding:3px 8px;border-radius:4px}
.news-filter{display:flex;gap:var(--s3);align-items:center;font-size:14px;
             margin-bottom:var(--s4);color:var(--sub)}
.news-filter a{padding:4px 12px;border:1px solid var(--line);border-radius:999px}
.news-filter a.on{border-color:var(--gold);background:var(--ai-bg);text-decoration:none}
.pager{margin-top:var(--s8);text-align:center;display:flex;gap:var(--s4);justify-content:center;align-items:center;flex-wrap:wrap}
.pager-pos{font-size:13px;color:var(--sub)}
/* テーマで絞るボタン列（最新ニュース・分析記事）2026/10/08 */
.topic-filter{flex-wrap:wrap;margin-bottom:var(--s6)}
.topic-filter a{font-size:13px;color:var(--ink)}
.topic-filter a small{font-size:11px;color:var(--sub);margin-left:2px}
.topic-filter a.on small{color:var(--gold-deep)}
.page-head-sub{font-size:.7em;color:var(--sub);font-weight:500}
.also{margin:var(--s4) 0;font-size:14px;color:var(--sub)}

/* =====================================================================
   管理画面
   ===================================================================== */
.admin-login{padding:80px 0}
.admin-login h1{font-family:var(--serif);font-size:26px;margin-bottom:var(--s6);text-align:center}
.login-form{max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s3)}
.login-form label{font-size:14px}
.login-form input{font-family:var(--sans);font-size:16px;padding:12px 14px;
                  border:1px solid var(--line);border-radius:6px}
.admin-login .note{max-width:360px;margin:var(--s6) auto 0;font-size:13px;color:var(--sub)}

.btn-gold{font-family:var(--sans);font-size:15px;font-weight:700;padding:12px 28px;
          border:none;border-radius:6px;cursor:pointer;color:#241E0C;min-height:44px;
          background:linear-gradient(100deg,#EADFB4,#C8B273)}
.btn-line.small{padding:6px 16px;font-size:13px;min-height:36px;margin-top:0}

.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4)}

.flash{padding:var(--s3) var(--s4);border-radius:6px;margin:var(--s4) 0;font-size:14px}
.flash.error{background:#FCF6F5;border-left:3px solid var(--alert);color:var(--alert)}
.flash.ok{background:var(--cream);border-left:3px solid var(--gold)}
.alert-bar{background:#FCF6F5;border-left:3px solid var(--alert);color:var(--alert);
           padding:var(--s3) var(--s4);border-radius:6px;margin-bottom:var(--s4);font-size:14px}

.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.stat{border:1px solid var(--line);border-radius:8px;padding:20px;text-align:center;background:#fff}
.stat b{display:block;font-family:var(--serif);font-size:32px;color:var(--gold-deep)}
.stat span{font-size:13px;color:var(--sub)}

.review-help{font-size:14px;color:var(--sub);margin-bottom:var(--s4);line-height:1.8}
.review-list{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.review-row{display:grid;grid-template-columns:1fr 28px auto;gap:var(--s3);
            align-items:center;padding:12px var(--s4);border-bottom:1px solid var(--line);
            font-size:14px}
.review-main{display:grid;grid-template-columns:28px 190px 1fr;gap:var(--s3);
             align-items:center;cursor:pointer}
.review-row:last-child{border-bottom:none}
.review-row:hover{background:var(--cream)}
.review-row input[type=checkbox]{width:20px;height:20px;cursor:pointer}
.review-reason{font-family:var(--sans);font-size:12px;padding:4px 6px;
               border:1px solid var(--line);border-radius:4px;background:#fff;
               color:var(--sub);max-width:170px}
.review-reason:focus{color:var(--ink)}
.small-note{font-size:13px;margin-top:calc(var(--s3)*-1)}
.review-meta{font-size:12px;color:var(--sub);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.review-meta em{font-style:normal}
.review-title{line-height:1.6}
.dup{background:#EEE;color:#666;font-size:11px;padding:2px 6px;border-radius:4px}
.review-actions{margin-top:var(--s6);text-align:center}

.settings-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;
                margin-bottom:var(--s4)}
.settings-table th,.settings-table td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.settings-table th{background:var(--cream);font-size:13px}
.settings-table input{font-family:var(--sans);font-size:14px;padding:6px 8px;
                      border:1px solid var(--line);border-radius:4px}
.muted{color:var(--sub);font-size:13px}
.ng{color:var(--alert)}
.note{font-size:13px;color:var(--sub);margin-top:var(--s3)}
code{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:.9em}

@media (max-width:768px){
  .stat-row{grid-template-columns:1fr}
  .review-row{grid-template-columns:1fr auto;row-gap:6px}
  .review-main{grid-column:1 / -1;grid-template-columns:28px 1fr;row-gap:6px}
  .review-main .review-meta{grid-column:2}
  .review-main .review-title{grid-column:2}
  .review-row .review-link{justify-self:start}
  .review-reason{max-width:none;width:100%}
  .admin-head{flex-direction:column}
}

/* 提案カード（不採用の積み重ねから） */
.suggest-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold-deep);
              border-radius:6px;padding:16px var(--s4);margin-bottom:var(--s4)}
.suggest-head{font-size:15px;line-height:1.7;margin:0 0 6px}
.suggest-why{font-size:13px;color:var(--sub);line-height:1.8;margin:0 0 10px}
.suggest-card form{display:flex;gap:8px;flex-wrap:wrap}

/* 媒体ごとのルール */
.rule-buttons form{display:flex;gap:6px;flex-wrap:wrap}
.mini{font-family:var(--sans);font-size:12px;padding:5px 12px;border-radius:4px;
      border:1px solid var(--line);background:#fff;cursor:pointer;min-height:32px}
.mini:hover{background:var(--cream)}
.mini.ok{border-color:var(--gold);color:var(--gold-deep)}
.mini.ng{border-color:#D9B8B4;color:var(--alert)}
.ok-text{color:var(--gold-deep)}
.sub-h{font-family:var(--serif);font-size:17px;font-weight:600;margin:var(--s6) 0 var(--s3)}

/* 管理画面の見出し横のボタン */
.admin-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* 今日の解説の編集画面 */
.field-label{display:block;font-size:13px;color:var(--sub);margin-bottom:4px}
.field{width:100%;font-family:var(--sans);font-size:15px;padding:10px 12px;
       border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.field.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7}
.topic-picks{display:flex;flex-wrap:wrap;gap:8px 14px}
.topic-pick{display:inline-flex;align-items:center;gap:5px;font-size:14px;cursor:pointer}
.btn-gold.small,.btn-line.small{padding:6px 12px;font-size:13px}

/* 今日の解説（画像なしの行） */
.brief-row{border-bottom:1px solid var(--line);padding:18px 0}
.brief-row:last-child{border-bottom:none}
.brief-meta{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--sub);margin-bottom:6px}
.brief-row h3{font-size:19px;line-height:1.5;margin:0 0 6px}
.brief-row h3 a{color:var(--ink);text-decoration:none}
.brief-row h3 a:hover{color:var(--gold-deep)}
.brief-row .lead{font-size:14px;color:var(--sub);line-height:1.8;margin:0}

/* データで見る（グラフのページ） */
.data-controls{margin:var(--s5) 0;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.metric-picks{display:flex;flex-wrap:wrap;gap:8px}
.pick{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:20px;
      font-size:13px;color:var(--sub);text-decoration:none;background:#fff}
.pick:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.pick.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}
.chart-box{background:#fff;border:1px solid var(--line);border-radius:8px;
           padding:var(--s4);overflow-x:auto}
.chart{width:100%;height:auto;display:block;min-width:520px}
.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin:var(--s4) 0 10px;font-size:13px}
.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--sub)}
.legend-item i{width:14px;height:3px;border-radius:2px;display:inline-block}
.table-scroll{overflow-x:auto}
.sources-note{background:#fff;border:1px solid var(--line);border-radius:8px;padding:var(--s5)}
.sources-note h3{font-size:16px;margin:0 0 12px}
.sources-note p{font-size:14px;color:var(--sub);line-height:1.9;margin:0 0 10px}

/* 中医協の資料を探す */
.search-form{display:flex;gap:10px;margin:var(--s5) 0 var(--s4);flex-wrap:wrap}
.search-input{flex:1;min-width:240px;font-size:16px}
.committee-picks{margin-bottom:var(--s4)}
.pick-count{display:inline-block;margin-left:6px;font-size:11px;opacity:.7}
.hit{background:#fff;border:1px solid var(--line);border-radius:8px;
     padding:var(--s4) var(--s5);margin-bottom:var(--s4)}
.hit-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
          font-size:12px;color:var(--sub);margin-bottom:8px}
.hit-cmt{color:var(--gold-deep)}
.hit-count{background:var(--cream);border-radius:4px;padding:2px 7px}
.hit h3{font-size:17px;line-height:1.6;margin:0 0 10px}
.hit h3 a{color:var(--ink);text-decoration:none}
.hit h3 a:hover{color:var(--gold-deep)}
.doc-no{font-size:12px;color:var(--sub);margin-right:6px}
.snippet{font-size:13px;line-height:1.9;color:var(--sub);margin:0 0 6px;
         padding-left:12px;border-left:2px solid var(--line)}
.hit-foot{margin:10px 0 0;font-size:13px}
mark{background:#F5E9C8;color:var(--ink);padding:0 2px;border-radius:2px}
.doc-text{background:#fff;border:1px solid var(--line);border-radius:8px;
          padding:var(--s5);font-size:14px;line-height:2.0;
          white-space:pre-wrap;word-break:break-word;
          max-height:70vh;overflow-y:auto}
.data-card .art-body{padding:var(--s5)}
.coverage summary{cursor:pointer;font-size:14px;color:var(--gold-deep)}
.coverage table{font-size:13px}

/* =====================================================================
   トップページ：左に記事（主役）、右にツールの入口（2026/09/23）
   ===================================================================== */
.home-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s12);align-items:start}
.home-block + .home-block{margin-top:56px}
/* 記事の列は約720pxなので、カードは3列でなく2列 */
.home-main .grid{grid-template-columns:repeat(2,1fr)}
.home-side{position:sticky;top:var(--s6)}

.tool-entry{border:1px solid var(--line);border-radius:10px;background:var(--white);overflow:hidden}
.tool-entry-head{background:var(--sumi);color:#fff;padding:var(--s4) var(--s5) 18px}
.tool-entry-kicker{display:block;font-size:11px;letter-spacing:.28em;color:var(--gold)}
.tool-entry-head b{display:block;font-family:var(--serif);font-size:22px;font-weight:600;
                   letter-spacing:.06em;margin-top:2px}
.tool-entry-head p{margin-top:4px;font-size:12px;color:#B9B2A5;line-height:1.7}
.tool-entry-item{display:flex;gap:12px;align-items:flex-start;padding:var(--s4) var(--s5);
                 border-top:1px solid var(--line);color:var(--ink)}
.tool-entry-item:first-child{border-top:0}
.tool-entry-item:hover{background:var(--cream);text-decoration:none}
.tool-entry-item .tool-badge{width:38px;height:38px;font-size:19px;border-radius:8px}
.tool-entry-text{min-width:0;flex:1}
.tool-entry-item b{display:block;font-size:16px;line-height:1.5}
.tool-entry-item small{display:block;font-size:13px;color:var(--sub);line-height:1.7;margin-top:2px}
.tool-entry-item em{display:block;font-style:normal;font-size:12px;color:var(--gold-deep);margin-top:6px}
.tool-entry-all{display:block;text-align:right;padding:10px var(--s5);
                border-top:1px solid var(--line);font-size:13px;background:var(--cream)}

/* 横幅が足りないとき：ツール入口を記事の前に、横並びで小さく */
@media (max-width:960px){
  .home-cols{grid-template-columns:1fr;gap:var(--s8)}
  .home-side{position:static;order:-1}
  .tool-entry-head{padding:var(--s3) var(--s4)}
  .tool-entry-head b{font-size:18px}
  .tool-entry-head p{display:none}
  .tool-entry-items{display:grid;grid-template-columns:repeat(3,1fr)}
  .tool-entry-item{flex-direction:column;gap:8px;padding:var(--s3) var(--s3);
                   border-top:0;border-left:1px solid var(--line)}
  .tool-entry-item:first-child{border-left:0}
  .tool-entry-item .tool-badge{width:32px;height:32px;font-size:16px}
  .tool-entry-item b{font-size:14px}
  .tool-entry-item small{display:none}
  .tool-entry-item em{font-size:11px;margin-top:2px}
  .tool-entry-all{display:none}
}
@media (max-width:768px){
  .home-block + .home-block{margin-top:40px}
  .home-main .grid{grid-template-columns:1fr}
  .tool-entry-item b .t-suffix{display:none}
}

/* =====================================================================
   会員（ログイン・マイページ）2026/09/23
   ===================================================================== */
.member-form{max-width:440px}
.member-form .field{margin-bottom:var(--s4)}
.member-form label{display:block;font-size:14px;margin-bottom:var(--s1)}
.field-input{width:100%;font-family:var(--sans);font-size:16px;padding:12px 14px;
             border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}
.field-input:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}
.member-form .check label{display:flex;align-items:flex-start;gap:var(--s2);font-size:14px}
.member-form .check input{margin-top:3px;width:18px;height:18px;flex:none}
.member-form .err{color:var(--alert);font-size:13px;margin-top:var(--s1)}
.member-form .note{margin-top:var(--s3);font-size:12px;color:var(--sub);line-height:1.8}
/* ログインの2つのボタン（パスワード／メールのリンク）2026/10/26 */
.login-actions{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}
.member-perks{background:var(--cream);border:1px solid var(--line);border-radius:8px;
              padding:var(--s4) var(--s5);margin-bottom:var(--s6)}
.member-perks h3{font-size:15px;margin:0 0 8px}
.member-perks ul{margin:0;padding-left:1.3em;font-size:14px;line-height:1.9}
.area-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:var(--s4) 0}
.area-pick{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);
           border-radius:8px;background:#fff;cursor:pointer;font-size:14px}
.area-pick:hover{border-color:var(--gold-deep)}
.area-pick.on{background:#FBF7EA;border-color:var(--gold-deep)}
.area-pick input{width:17px;height:17px;flex:none}
/* ツールの絞り込みで、会員の領域に目印 */
.tool-filter.mine{border-color:var(--gold-deep);color:var(--gold-deep)}
.tool-filter.mine::before{content:"★";font-size:10px;margin-right:3px}
.tool-filter.mine.on{color:#fff}
.tool-guest-note{font-size:12px;color:var(--sub);margin:-8px 2px var(--s4)}
.gnav .nav-member{margin-left:6px;padding:4px 12px;border:1px solid rgba(255,255,255,.28);border-radius:20px;font-size:13px}
.gnav .nav-member:hover{border-color:var(--gold)}
@media (max-width:768px){
  .area-choices{grid-template-columns:repeat(2,1fr)}
}

/* ── ナビの引き出しメニュー（JavaScriptなし） ───────────────── */
/* ★パネルの位置は「ナビ全体」を基準にします。
      「ツール」を基準にすると、文字幅55pxに対しパネルが270pxあるため、
      左右に108pxずつ突き出して不自然に見えました（2026/09/09）。
      ナビの右端＝ページの右余白と一直線になり、収まりがよくなります。 */
.gnav{position:relative}
.menu{position:static}
.menu summary{list-style:none;cursor:pointer;color:#E2E8F0;font-size:15px;
              padding:var(--s2) 0;display:inline-flex;align-items:center;gap:5px}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover,.menu summary.on{color:var(--gold)}
.menu .caret{font-size:10px;opacity:.8;transition:transform .15s}
.menu[open] .caret{transform:rotate(180deg)}
.menu-panel{position:absolute;top:calc(100% + 12px);z-index:60;
            left:auto;right:0;
            min-width:270px;background:#fff;border:1px solid var(--line);
            border-radius:8px;box-shadow:0 8px 28px rgba(12,51,91,.16);
            padding:var(--s3) 0;display:flex;flex-direction:column}
.menu-panel a{display:block;padding:11px var(--s5);color:var(--ink);font-size:15px;
              line-height:1.5;text-decoration:none}
.menu-panel a span{display:block;font-size:12px;color:var(--sub);margin-top:3px}
.menu-panel a:hover{background:var(--cream);color:var(--gold-deep)}
.menu-panel a.on{color:var(--gold-deep);font-weight:600}
.menu-all{border-top:1px solid var(--line);margin-top:var(--s3);padding-top:12px !important;
          font-size:13px !important;color:var(--sub) !important}
/* 引き出しの外を押したら閉じる代わりに、画面全体を覆う透明な板を置く */
.menu[open] summary::before{content:"";position:fixed;inset:0;z-index:50}

/* 携帯電話の引き出し */
.drawer-head{color:var(--gold);font-size:12px;letter-spacing:.14em;
             padding:var(--s3) 0 var(--s2);display:block}
.drawer-sub{padding-left:var(--s4) !important;font-size:15px !important}


/* 出典・注意書きの文章も、箱の幅いっぱいに流します（同じ理由） */

/* 薬価：選んで比べる表 */
.pick-table td{vertical-align:middle}
.pick-table tr.picked{background:#FBF7EA}
.pick-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.pick-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;
              flex-wrap:wrap;margin-top:var(--s4)}
.tag-gen{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;
         border:1px solid var(--line);color:var(--sub);white-space:nowrap}
.tag-0{border-color:var(--gold-deep);color:var(--gold-deep)}
.tag-1{background:var(--cream)}

/* AIによる要約 */
.ai-summary{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold-deep);
            border-radius:8px;padding:var(--s5) var(--s6);margin-bottom:var(--s4)}
.ai-summary.ai-past{border-left-color:var(--line);padding:var(--s4) var(--s5)}
.ai-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
         font-size:12px;color:var(--sub);margin-bottom:10px}
.ai-tag{background:var(--cream);border:1px solid var(--line);border-radius:4px;
        padding:2px 8px;font-size:11px;color:var(--gold-deep)}
.ai-summary h3{font-size:20px;line-height:1.6;margin:0 0 14px}
.ai-summary.ai-past h3{font-size:16px;margin-bottom:8px}
.ai-points{margin:0 0 16px;padding-left:1.2em}
.ai-points li{font-size:14px;line-height:1.9;color:var(--ink);margin-bottom:4px}
/* ★max-width に ch（半角の文字幅）を使わないこと。
      日本語は全角なので、指定した文字数の半分ほどの幅で折り返してしまい、
      右に大きな空白ができます（2026/09/09、実際にそうなりました）。
      箱の幅いっぱいに流します。 */
.ai-body{font-size:15px;line-height:2.05;color:var(--ink);margin:0}
.ai-note{font-size:13px;color:var(--sub);line-height:1.9;
         background:var(--cream);border-radius:6px;padding:12px var(--s4)}
.data-counts{font-size:15px !important;color:var(--ink) !important}

/* 元のPDFへの案内 */
.pdf-box{display:flex;gap:var(--s5);align-items:center;justify-content:space-between;
         flex-wrap:wrap;background:#fff;border:1px solid var(--line);
         border-left:4px solid var(--gold-deep);border-radius:8px;padding:var(--s5)}
.pdf-lead{margin:0 0 4px;font-size:16px}
.pdf-box .muted{margin:0;font-size:13px}
.raw-text summary{cursor:pointer;font-size:14px;color:var(--gold-deep);
                  padding:10px 0;list-style-position:inside}
.raw-text[open] summary{border-bottom:1px solid var(--line)}

/* 薬価：選ぶ前のグラフ枠 */
.chart-empty{background:#fff;border:1px dashed var(--line);border-radius:8px;
             padding:var(--s8) var(--s5);text-align:center}
.chart-empty p{margin:0 0 8px;font-size:15px}
.chart-empty .muted{font-size:14px;line-height:1.9}
.pick-actions-top{justify-content:flex-start;margin:0 0 var(--s4)}

/* AIに質問する */
.ask-form{margin:var(--s4) 0 0}
.ask-form textarea{font-size:16px;line-height:1.8}
.ask-actions{display:flex;gap:14px;align-items:center;justify-content:flex-end;
             margin-top:var(--s3);flex-wrap:wrap}
.ask-actions button[disabled]{opacity:.45;cursor:not-allowed}

/* ═══════════════════════════════════════════════════════════
   データの道具（中医協・薬価・決算）の作り
   ★読みものの記事と違い、こちらは「使う道具」です。
     余白を詰め、情報の密度を上げています。
   ═══════════════════════════════════════════════════════════ */

/* ---- 道具の見出し（濃い帯） ---- */
.tool-head{background:var(--ink);color:#F2EFE8;padding:var(--s5) 0}
.tool-head-in{display:flex;align-items:center;justify-content:space-between;
              gap:var(--s5);flex-wrap:wrap}
.tool-id{display:flex;align-items:center;gap:14px}
.tool-badge{width:46px;height:46px;border-radius:10px;background:var(--gold);
            color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:700;
            display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.tool-head h1{font-size:22px;margin:0;color:#fff;letter-spacing:.02em}
.tool-head p{margin:3px 0 0;font-size:12px;color:#B9B2A5;letter-spacing:.04em}
.tool-pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
      border-radius:20px;padding:6px 14px;font-size:13px;color:#E2E8F0}
.pill b{color:var(--gold);font-size:15px;margin-right:3px}
.pill-dim{color:#9C958A}

/* ---- 道具の本体 ---- */
.tool-body{background:#F4F1EA;padding:var(--s6) 0 var(--s10);min-height:60vh}

/* ---- 検索欄 ---- */
.tool-search{display:flex;gap:10px;align-items:center;background:#fff;
             border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 16px;
             box-shadow:0 1px 3px rgba(12,51,91,.05)}
.tool-search:focus-within{border-color:var(--gold-deep);
                          box-shadow:0 0 0 3px rgba(200,178,115,.22)}
.tool-search-icon{font-size:15px;opacity:.5;flex:0 0 auto}
.tool-search-input{flex:1;min-width:0;border:0;outline:0;background:transparent;
                   font-family:var(--sans);font-size:16px;color:var(--ink);padding:10px 0}
.tool-hint{font-size:13px;color:var(--sub);margin:10px 2px var(--s5);line-height:1.9}
/* 厚労省会議DB：収録している会議体の一覧（2026/10/20） */
.kaigi-covered{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 16px;margin:0 0 var(--s5);font-size:13px}
.kaigi-covered>summary{cursor:pointer;font-weight:600;color:var(--ink,#222)}
.kaigi-covered-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 24px;margin:12px 0 6px}
.kaigi-covered h4{font-size:13px;margin:0 0 4px}
.kaigi-covered ul{margin:0;padding-left:1.1em;line-height:1.8}
.kaigi-covered small{color:var(--sub);margin-left:4px;white-space:nowrap}
.kaigi-covered .muted{margin:6px 0 2px;font-size:12px}
.tool-filter{display:inline-block;padding:2px 10px;border:1px solid var(--line);
             border-radius:14px;font-size:12px;color:var(--sub);text-decoration:none;
             background:#fff;margin-right:4px}
.tool-filter:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.tool-filter.on{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}

/* ---- 道具の中の切り替え（数字を比べる／資料を探す） ---- */
.tool-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:var(--s5)}
.tool-tab{padding:10px 18px;font-size:14px;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px}
.tool-tab:hover{color:var(--gold-deep);text-decoration:none}
.tool-tab.on{color:var(--ink);font-weight:700;border-bottom-color:var(--gold-deep)}

/* ---- 絞り込みの列（薬価・決算） ---- */
.tool-filters{margin:10px 2px var(--s5);display:flex;flex-direction:column;gap:6px}
.tool-filter-row{display:flex;gap:10px;align-items:baseline;font-size:13px;line-height:2.1}
.tool-filter-label{flex:0 0 76px;color:var(--sub);font-size:12px;white-space:nowrap}
.tool-filter-row .tool-filter{margin-bottom:2px}

/* ---- AIアシスタント ---- */
.tool-ai{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);
         border-radius:10px;padding:var(--s4) var(--s5);margin-bottom:var(--s6)}
.tool-ai-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ai-badge{background:var(--ink);color:var(--gold);font-size:11px;font-weight:700;
          letter-spacing:.08em;padding:3px 9px;border-radius:4px}
.tool-ai-head .muted{font-size:12px}
.tool-ai-form{display:flex;gap:10px;align-items:stretch}
.tool-ai-form textarea{flex:1;font-family:var(--sans);font-size:15px;line-height:1.7;
                       padding:10px 12px;border:1px solid var(--line);border-radius:8px;
                       background:#FCFAF5;color:var(--ink);resize:vertical}
.btn-dark{background:var(--ink);color:#fff;border:0;border-radius:8px;
          padding:0 22px;font-family:var(--sans);font-size:15px;cursor:pointer;
          white-space:nowrap}
.btn-dark:hover{background:#000}

/* ---- 左右の2段組み ---- */
.tool-cols{display:grid;grid-template-columns:270px 1fr;gap:var(--s5);align-items:start}
/* ★グラフ（最小520px）が入ると、右の箱が縮めずに画面からはみ出していた（携帯電話で発覚）。
     箱の最小幅を 0 にして、グラフの箱の中だけ横に流れるようにする（2026/09/23） */
.tool-cols > *{min-width:0}
.tool-side{background:#fff;border:1px solid var(--line);border-radius:10px;
           overflow:hidden;position:sticky;top:var(--s4)}
.tool-side-head{display:flex;justify-content:space-between;align-items:baseline;
                padding:14px var(--s4);border-bottom:2px solid var(--gold);font-size:14px}
.tool-side-list{max-height:min(70vh,620px);overflow-y:auto}
.side-item{display:block;padding:11px var(--s4);border-bottom:1px solid var(--line);
           text-decoration:none;color:var(--ink)}
.side-item:last-child{border-bottom:none}
.side-item b{display:block;font-size:14px;font-weight:600;line-height:1.5}
.side-item span{font-size:12px;color:var(--sub)}
.side-item:hover{background:var(--cream)}
.side-item.on{background:#FBF7EA;box-shadow:inset 3px 0 0 var(--gold-deep)}
.side-item.on b{color:var(--gold-deep)}
.tool-side-more{font-size:12px;padding:10px var(--s4);margin:0;border-top:1px solid var(--line)}

.tool-main{background:#fff;border:1px solid var(--line);border-radius:10px;
           padding:var(--s5) var(--s6);min-height:420px}
.tool-main-head{display:flex;justify-content:space-between;align-items:baseline;
                gap:14px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:var(--s5);
                border-bottom:2px solid var(--gold);font-size:16px}
.tool-main-head .muted{font-size:13px}
/* 左の一覧で、チェックを入れて選ぶ（薬価・決算） */
.tool-cols-wide{grid-template-columns:330px 1fr}
.tool-side-note{font-size:12px;line-height:1.8;padding:10px var(--s4);margin:0;
                border-bottom:1px solid var(--line)}
.side-pick{display:flex;gap:10px;align-items:flex-start;padding:10px var(--s4);
           border-bottom:1px solid var(--line);cursor:pointer}
.side-pick:last-child{border-bottom:none}
.side-pick:hover{background:var(--cream)}
.side-pick.on{background:#FBF7EA;box-shadow:inset 3px 0 0 var(--gold-deep)}
.side-pick input[type=checkbox]{width:17px;height:17px;margin-top:3px;flex:0 0 auto;cursor:pointer}
.side-pick-text{min-width:0;flex:1}
.side-pick-text b{display:block;font-size:14px;font-weight:600;line-height:1.5}
.side-pick-text > span{display:block;font-size:12px;color:var(--sub);line-height:1.7;margin-top:2px}
.side-pick-price{color:var(--ink)}
.side-pick-price small{font-size:11px}
.side-pick .tag-gen{font-size:10px;padding:1px 6px;margin-right:4px}
.tool-side-search{display:flex;gap:6px;align-items:center;padding:8px var(--s4) 0}
.tool-side-search-input{flex:1;min-width:0;font-family:var(--sans);font-size:13px;padding:7px 10px;
                        border:1px solid var(--line);border-radius:6px;background:#FCFAF5;color:var(--ink)}
.tool-side-search-input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.tool-side-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;
                padding:10px var(--s4);border-top:1px solid var(--line);background:var(--cream);
                font-size:13px;flex-wrap:wrap}
.tool-side-foot-btns{display:flex;gap:8px;align-items:center}
.tool-side-more a{color:var(--gold-deep)}
.tool-side-try{padding:10px var(--s4) var(--s4);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tool-side-try .muted{font-size:12px;margin-right:4px}
.tool-main .chart-empty{margin:0}
.nowrap{white-space:nowrap}

/* 道具の中では、当たりの箱に枠を重ねない */
.tool-main .hit{border:0;border-bottom:1px solid var(--line);border-radius:0;
                padding:var(--s4) 0;margin:0}
.tool-main .hit:last-of-type{border-bottom:none}
.tool-main .ai-summary{border-left-width:3px}

@media (max-width:900px){
  .tool-cols,.tool-cols-wide{grid-template-columns:1fr}
  .tool-side{position:static}
  .tool-filter-label{flex-basis:auto}
  .tool-filter-row{flex-direction:column;gap:2px}
  .tool-side-list{max-height:320px}
  .tool-main{padding:var(--s4)}
  .tool-ai-form{flex-direction:column}
  .btn-dark{padding:12px}
}

/* 会社×領域のチェック表 */
.area-grid th span{writing-mode:vertical-rl;display:inline-block;padding:6px 0;
                   font-size:12px;letter-spacing:.06em;white-space:nowrap}
.area-grid th{vertical-align:bottom;text-align:center;position:sticky;top:0;background:#fff;z-index:2}
/* 100社を超えたので、表の中だけ縦にスクロールし、見出し行は固定する */
.area-grid-scroll{max-height:72vh;overflow:auto}
.area-grid .area-grid-name{position:sticky;left:0;background:#fff;z-index:1}
.area-grid td{text-align:center}
.area-grid td input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.area-grid .area-grid-name{text-align:left;white-space:nowrap;
                            position:sticky;left:0;background:#fff}

/* メニューが5つに増えたので（2026/10/08）、横幅が足りない画面では ☰ メニューにする */
@media (max-width:1000px){
  .gnav{display:none}
  .burger{display:block}
  .menu-toggle:checked ~ .drawer{display:flex}
}

/* 厚労省会議データベース：審議会 → 会議体 の2段の絞り込み（2026/10/08） */
.tool-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 var(--s3)}
.tool-filter-label{font-size:12px;color:var(--sub);margin-right:6px;min-width:3.2em}
.tool-filter small{font-size:10px;opacity:.75;margin-left:2px}
.side-council{font-style:normal;font-size:11px;color:var(--sub)}
.meeting-agenda{font-size:14px;line-height:1.9;color:var(--ink);background:var(--cream);padding:var(--s3) var(--s4);border-radius:6px;margin:var(--s3) 0 var(--s4)}
.meeting-agenda b{color:var(--gold-deep);margin-right:4px}

/* ニュースから AI で下書きを作る（2026/10/08） */
.news-foot .draft-go{color:var(--gold-deep);font-weight:600}
.news-foot .draft-done{color:var(--sub)}
.draft-box{margin:var(--s6) 0;padding:var(--s4) var(--s5);border:1px solid var(--gold);border-radius:8px;background:var(--ai-bg)}
.draft-box h3{font-family:var(--serif);font-size:17px;margin-bottom:var(--s2)}
.draft-box .field{max-width:640px}
/* 記事の本文：最新ニュースか分析記事かのラベル（2026/10/08） */
.article-kind{font-size:12px;letter-spacing:.08em;margin-bottom:var(--s2)}
.article-kind a{color:var(--gold-deep);font-weight:600}
.article-kind .muted{font-size:11px;margin-left:4px}

/* 呼び込み（メディリズムへの相談の入口）2026/10/09：全幅の帯・中央寄せ・大きな白いボタン */
.consult-band{background:linear-gradient(100deg,var(--navy-3) 0%,var(--sumi) 50%,var(--navy-2) 100%);
              color:#FFFFFF;padding:64px 0;text-align:center}
.consult-inner{max-width:760px}
.consult-kicker{display:block;font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:var(--s3)}
.consult-band h2{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.5;color:#FFFFFF;margin-bottom:var(--s4)}
.consult-band p{font-size:15px;line-height:2;color:#E2E8F0;margin:0 auto var(--s6);max-width:640px}
.consult-btn{display:inline-block;background:#FFFFFF;color:var(--ink);font-weight:700;font-size:16px;
             padding:16px 40px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.25);text-decoration:none;
             transition:transform .15s,box-shadow .15s}
.consult-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.3);color:var(--gold-deep);text-decoration:none}
.article+.consult-band{margin-top:var(--s8)}
@media (max-width:768px){.consult-band{padding:44px 0}.consult-band h2{font-size:22px}.consult-btn{width:100%;max-width:360px}}
.contact-form .req{font-size:10px;color:#fff;background:var(--alert);border-radius:3px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.contact-form .err{display:block;font-size:13px;color:var(--alert);margin-top:4px}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.coming-soon{text-align:center;padding:var(--s8) var(--s5);border:1px dashed var(--gold);border-radius:10px;background:var(--cream)}
.coming-soon-tag{display:inline-block;font-size:11px;letter-spacing:.2em;color:#fff;background:var(--gold-deep);padding:3px 12px;border-radius:999px;margin-bottom:var(--s3)}
.coming-soon h2{font-family:var(--serif);font-size:22px;margin-bottom:var(--s3)}
.coming-soon p{color:var(--sub);line-height:1.9;max-width:560px;margin:0 auto}
.inquiry-card{margin-bottom:var(--s4)}
.inquiry-body{white-space:pre-wrap;font-size:14px;line-height:1.9;margin:var(--s3) 0}
.inquiry-actions{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}
.inquiry-actions .field{max-width:420px}

/* 下書きを AI に指示して直す（2026/10/09） */
.revise-box{margin:0 0 var(--s6);padding:var(--s4) var(--s5);border:1px solid var(--gold);border-radius:8px;background:var(--ai-bg)}
.revise-box h3{font-family:var(--serif);font-size:16px;margin-bottom:var(--s2)}
.revise-presets{display:flex;gap:6px;flex-wrap:wrap;margin:var(--s2) 0}
.revise-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}

/* 今日のメール「製薬ニュース5選」の確認画面（2026/10/09） */
.pack-item{margin:0 0 var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:8px;background:#fff}
.pack-head{font-size:14px;margin-bottom:var(--s2);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pack-head a{font-weight:600}
.pack-item .field{margin-bottom:var(--s2)}
.pack-moves{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:var(--s3) 0 var(--s5);font-size:13px}

/* =====================================================================
   IPO Navi 風のカード（2026/10/11）：配置と形だけ寄せ、色は墨×金のまま
   ===================================================================== */
.badge{display:inline-block;font-size:11px;font-weight:600;color:var(--gold-deep);background:#F6F0E2;
       border-radius:4px;padding:2px 8px;line-height:1.6;margin-bottom:8px;align-self:flex-start}
.badge-light{color:#fff;background:rgba(200,178,115,.85)}
/* 画像の代わりの色タイル */
.topic-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;
            background:linear-gradient(135deg,#F3EEE1,#E4DBC2);color:#8A6F2E}
.tile-emoji{font-size:34px;line-height:1}
.tile-name{font-family:var(--serif);font-size:13px;letter-spacing:.2em}
.tile-yakka{background:linear-gradient(135deg,#F6EFE1,#E9DCB8)}.tile-policy{background:linear-gradient(135deg,#ECEDEA,#D6D8D0)}
.tile-mfn{background:linear-gradient(135deg,#EEE9E4,#DACBC0)}.tile-approval{background:linear-gradient(135deg,#E9EFEA,#CFDDD2)}
.tile-earnings{background:linear-gradient(135deg,#ECEBF0,#D4D2DF)}.tile-deal{background:linear-gradient(135deg,#F1EBE2,#E0D2BE)}
.tile-obesity{background:linear-gradient(135deg,#EFEDE6,#DED9CB)}.tile-china{background:linear-gradient(135deg,#F2E8E6,#E3CCC7)}
.tile-distribution{background:linear-gradient(135deg,#EDEEEA,#D8DBD1)}.tile-commercial{background:linear-gradient(135deg,#F2EEE4,#E5DBC5)}
.tile-digital{background:linear-gradient(135deg,#E8ECEF,#CDD6DC)}.tile-healthcare{background:linear-gradient(135deg,#EAEFEE,#D1DEDA)}
.tile-global{background:linear-gradient(135deg,#ECEDE9,#D5D7CD)}

/* LISTING 風（最新ニュース） */
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.lgrid-home{grid-template-columns:repeat(2,1fr)}
.lcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;
       color:var(--ink);text-decoration:none;box-shadow:0 2px 8px rgba(12,51,91,.05);transition:transform .15s,box-shadow .15s}
.lcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(12,51,91,.12);text-decoration:none;color:var(--ink)}
.lcard-ph{display:block;aspect-ratio:16/9;background:var(--cream);overflow:hidden}
.lcard-ph img{width:100%;height:100%;object-fit:cover;display:block}
.lcard-body{display:flex;flex-direction:column;padding:12px 14px 14px;flex:1}
.lcard-title{font-weight:600;font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.lcard-date{font-size:12px;color:var(--sub);margin-top:auto}

/* FEATURED 風（分析記事） */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:var(--s5)}
.fcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;
       color:var(--ink);text-decoration:none;box-shadow:0 2px 8px rgba(12,51,91,.05);transition:transform .15s,box-shadow .15s}
.fcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(12,51,91,.12);text-decoration:none;color:var(--ink)}
.fcard-ph{display:block;aspect-ratio:16/9;background:var(--cream);overflow:hidden}
.fcard-ph img{width:100%;height:100%;object-fit:cover;display:block}
.fcard-body{display:flex;flex-direction:column;padding:14px 16px 16px;flex:1}
.fcard-title{font-family:var(--sans);font-weight:700;font-size:17px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.fcard-lead{font-size:13px;color:var(--sub);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.fcard-date{font-size:12px;color:var(--sub);margin-top:auto}
.fcard-hero{grid-column:span 2;grid-row:span 2;border:0;background:var(--sumi)}
.fcard-hero .fcard-ph{aspect-ratio:16/9}
.fcard-hero .fcard-overlay{display:flex;flex-direction:column;padding:20px 24px 22px;background:var(--sumi);color:#fff;flex:1}
.fcard-hero .fcard-title{font-family:var(--sans);font-weight:700;font-size:22px;line-height:1.55;color:#fff;-webkit-line-clamp:2;margin-bottom:8px}
.fcard-hero .fcard-lead{color:#C9D3E0;font-size:14px}
.fcard-hero .fcard-date{color:#9FB0C4}
.fcard-hero .badge-light{color:var(--sumi);background:var(--gold)}
.fgrid-rest{margin-top:var(--s5)}
@media (max-width:960px){.lgrid{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:repeat(2,1fr)}.fcard-hero{grid-column:span 2;grid-row:auto}}
@media (max-width:600px){.lgrid,.lgrid-home{grid-template-columns:repeat(2,1fr);gap:var(--s3)}.fgrid{grid-template-columns:1fr}.fcard-hero{grid-column:auto}.lcard-title{font-size:13px}}
/* 編集画面の見出し画像 */
.post-image-box{margin:var(--s4) 0;padding:var(--s3) var(--s4);border:1px dashed var(--line);border-radius:8px}
.post-image-preview{display:block;width:100%;max-width:480px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin:var(--s2) 0}

/* =====================================================================
   トップの大見出し（2026/10/12。IPO ナビの形：左に見出しとボタン、右に実データの表、下に数字）
   ===================================================================== */
.hero2{background:linear-gradient(120deg,var(--navy-3) 0%,var(--sumi) 45%,var(--navy-2) 100%);color:#fff;padding:48px 0 44px;position:relative;overflow:hidden}
.hero2::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(194,168,106,.25)}
.hero2::after{content:"";position:absolute;right:120px;top:60px;width:120px;height:120px;border-radius:50%;
  border:1px solid rgba(194,168,106,.3)}
.hero2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center;position:relative;z-index:1}
.hero2-kicker{font-family:var(--logo-font);font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:var(--s4)}
.hero2 h1{font-family:var(--mincho);font-weight:700;font-size:52px;line-height:1.35;letter-spacing:.04em}
.hero2 h1 .box{display:inline-block;background:#fff;color:var(--sumi);padding:2px 16px;margin-bottom:6px}
.hero2 h1 .g{color:var(--gold)}
.hero2-tag{display:inline-flex;gap:10px;align-items:center;margin:var(--s4) 0 var(--s3);font-size:12px;color:#C9D3E0;
  border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:4px 12px}
.hero2-lead{color:#D6DEE8;font-size:15px;line-height:1.95;max-width:520px}
.hero2-btns{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}
.hero2-btns a{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:6px;font-weight:600;font-size:15px;text-decoration:none}
.hero2-btns .primary{background:#fff;color:var(--sumi)}
.hero2-btns .primary:hover{color:var(--gold-deep);text-decoration:none}
.hero2-btns .ghost{border:1px solid rgba(255,255,255,.45);color:#fff}
.hero2-btns .ghost:hover{border-color:var(--gold);color:var(--gold);text-decoration:none}
.hero2-stats{display:flex;gap:44px;margin-top:28px;padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.15)}
.hero2-stats b{display:block;font-size:30px;font-weight:700;color:#fff;line-height:1.2}
.hero2-stats span{font-size:12px;color:#9FB0C4}
/* 右の見本の表（タブで切り替え。JavaScript は使わない） */
.hero2-panel{background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}
.hero2-tabs{display:flex;gap:4px;padding:10px 12px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.hero2-tabs label{white-space:nowrap;flex:none}
.hero2-panel > input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.hero2-tabs label{font-size:13px;font-weight:600;color:var(--sub);padding:8px 12px;border-bottom:2px solid transparent;cursor:pointer}
.hero2-table{width:100%;border-collapse:collapse;font-size:13px}
.hero2-table th{text-align:left;font-size:11px;color:var(--sub);font-weight:600;padding:10px 16px;background:#FAFBFD;white-space:nowrap}
.hero2-table td{padding:10px 16px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}
.hero2-table td:first-child{white-space:normal;width:100%}
.hero2-table td .t{font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hero2-table .tag{display:inline-block;font-size:11px;font-weight:600;color:var(--ai-fg);background:var(--ai-bg);border-radius:4px;padding:1px 7px;white-space:nowrap}
.hero2-table .row1{display:flex;align-items:center;gap:8px;min-width:0}
.hero2-table .row1 .t{flex:1;min-width:0}
.hero2-table td small{color:var(--sub);font-size:12px}
.hero2-table a{color:inherit}
.hero2-pane{display:none}
#ht-1:checked ~ .hero2-panes .pane-1,#ht-2:checked ~ .hero2-panes .pane-2,#ht-3:checked ~ .hero2-panes .pane-3,#ht-4:checked ~ .hero2-panes .pane-4,#ht-5:checked ~ .hero2-panes .pane-5{display:block}
#ht-1:checked ~ .hero2-tabs label[for=ht-1],#ht-2:checked ~ .hero2-tabs label[for=ht-2],#ht-3:checked ~ .hero2-tabs label[for=ht-3],#ht-4:checked ~ .hero2-tabs label[for=ht-4],#ht-5:checked ~ .hero2-tabs label[for=ht-5]{color:var(--sumi);border-bottom-color:var(--gold)}
.hero2-more{display:block;text-align:center;padding:12px;font-size:13px;font-weight:600;color:var(--gold-deep);border-top:1px solid var(--line)}
@media (max-width:960px){.hero2-grid{grid-template-columns:1fr}.hero2 h1{font-size:34px}.hero2::before,.hero2::after{display:none}}
@media (max-width:600px){.hero2{padding:48px 0 40px}.hero2 h1{font-size:28px}.hero2-stats{gap:24px}.hero2-stats b{font-size:22px}}
/* 携帯電話ではタブ5つが横に入りきらないので、2段に折り返す（2026/10/23） */
@media (max-width:600px){.hero2-tabs{flex-wrap:wrap;overflow-x:visible;gap:0 2px;padding:8px 8px 0}.hero2-tabs label{padding:8px 9px}}

/* ---- 管理：分析記事（Word から取り込む）2026/10/13 ---- */
.word-upload{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin:0 0 var(--s5);padding:var(--s4);border:1px dashed var(--gold);border-radius:8px;background:#fff}
.word-upload .field-label{flex-basis:100%;margin:0}
.word-rules{margin:var(--s3) 0}
.word-rules summary{cursor:pointer;font-weight:600}
.word-rules ul{margin:var(--s2) 0 var(--s2) 1.2em;line-height:1.9}
.import-note{padding:var(--s3) var(--s4);border-left:4px solid var(--gold);background:var(--ai-bg);border-radius:4px}
.import-note ul{margin:var(--s2) 0 0 1.2em;line-height:1.8}
.promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.promo-box{display:flex;flex-direction:column;gap:var(--s2)}
.promo-box textarea{width:100%;font-size:14px;line-height:1.7}
.promo-box .mini{align-self:flex-start}
@media (max-width:760px){.promo-grid{grid-template-columns:1fr}}

/* ---- 管理：共通メニューと管理トップ（2026/10/13）---- */
.ng-text{color:var(--alert)}
.nav-badge{display:inline-block;min-width:20px;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--gold);color:var(--sumi);font-size:12px;font-weight:700;line-height:18px;text-align:center;vertical-align:1px}
.admin-nav{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.admin-nav-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);padding-top:var(--s2);padding-bottom:var(--s2)}
.admin-nav-home,.admin-nav-group summary,.admin-nav-logout button{display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600;color:var(--sumi);cursor:pointer;background:none;border:0;font-family:inherit}
.admin-nav-home:hover,.admin-nav-group summary:hover,.admin-nav-logout button:hover{background:var(--ai-bg)}
.admin-nav-home.on{background:var(--ai-bg)}
.admin-nav-group{position:relative}
.admin-nav-group summary{list-style:none}
.admin-nav-group summary::-webkit-details-marker{display:none}
.admin-nav-group summary::after{content:"▾";margin-left:6px;font-size:11px;color:var(--sub)}
.admin-nav-group[open] summary{background:var(--ai-bg)}
.admin-nav-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;padding:var(--s2);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(11,42,74,.12);display:flex;flex-direction:column}
.admin-nav-menu a{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;font-size:14px;color:inherit;text-decoration:none}
.admin-nav-menu a:hover,.admin-nav-menu a.on{background:var(--ai-bg)}
.admin-nav-logout{margin-left:auto}
.admin-nav-logout button{font-weight:400;color:var(--sub)}
.admin-status-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s6)}
.admin-status{flex:1 1 200px;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:4px}
.admin-status span{font-size:12px;color:var(--sub)}
.admin-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.admin-home-card{padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:10px;background:#fff}
.admin-home-card h2{font-size:18px;display:flex;align-items:center;margin:0 0 2px}
.admin-home-card ul{list-style:none;margin:var(--s3) 0 0;padding:0}
.admin-home-card li{padding:10px 0;border-top:1px solid var(--line);line-height:1.6}
.admin-home-card li a{font-weight:700;color:var(--gold-deep)}
.admin-home-card li .muted{display:block}
@media (max-width:760px){
  .admin-home-grid{grid-template-columns:1fr}
  .admin-nav-menu{position:fixed;left:16px;right:16px;top:auto;min-width:0}
  .admin-nav-logout{margin-left:0}
}

/* 見出し画像が Word の図・グラフのときは、カードで切らずに全体を収める（2026/10/13） */
img.fit-contain{object-fit:contain !important;background:#fff}

/* 管理：今日のメールの「注目の分析記事」と作り直し（2026/10/14） */
.brief-redo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin:var(--s4) 0}
.brief-feature{display:flex;gap:var(--s4);align-items:flex-start;margin:var(--s5) 0;padding:var(--s4);border:1px solid var(--gold);border-radius:10px;background:#FFFDF8}
.brief-feature img{width:220px;max-width:40%;height:auto;border-radius:6px;object-fit:contain;background:#fff}
.brief-feature .kicker{font-size:12px;color:var(--gold-deep);font-weight:700;margin:0 0 4px}
@media (max-width:640px){.brief-feature{flex-direction:column}.brief-feature img{max-width:100%;width:100%}}

/* 管理：取り込んだニュース（2026/10/14） */
.recent-tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s4)}
.recent-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:inherit;text-decoration:none;background:#fff}
.recent-tab b{font-size:12px;color:var(--sub)}
.recent-tab.on{border-color:var(--gold);background:var(--ai-bg);font-weight:700}
.recent-kind{display:inline-block;padding:0 6px;border-radius:4px;font-size:11px;margin-right:4px}
.recent-kind.primary{background:#E6F0FA;color:var(--sumi)}
.recent-kind.media{background:#F3EEE1;color:var(--gold-deep)}
.recent-table td{vertical-align:top}
.lookup-note{font-size:12px}

/* 管理：取り込んだニュースの片づけ（2026/10/15） */
.recent-tab.small{font-size:13px;padding:4px 12px}
.triage-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin:0 0 var(--s3)}
.triage-bar label.mini{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.recent-actions{white-space:nowrap}
.recent-pager{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.nikkei-switch{margin-left:auto}

/* =====================================================================
   薬価データベース（2026/10/19 薬価ナビの作りにならって作り直し。色・字体は What to Noh のまま）
   ===================================================================== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 入口の大きな見出しと検索窓 */
.yk-hero{background:linear-gradient(135deg,var(--navy-3),var(--sumi) 55%,var(--navy-2));color:#fff;padding:var(--s12) 0 var(--s10)}
.yk-eyebrow{font-size:11px;letter-spacing:.18em;color:var(--gold);margin:0 0 var(--s2);font-weight:700}
.yk-hero h1{font-size:32px;margin:0;color:#fff;letter-spacing:.03em}
.yk-lead{margin:var(--s2) 0 var(--s5);color:#D7DFEA;font-size:15px}
.yk-search{display:flex;align-items:center;gap:var(--s2);background:#fff;border-radius:10px;padding:6px 6px 6px 14px;
           max-width:760px;box-shadow:0 6px 24px rgba(8,34,63,.18);border:1px solid var(--line)}
.yk-search input{flex:1;min-width:0;border:0;outline:0;font-size:16px;padding:10px 4px;background:transparent;color:var(--ink);font-family:var(--sans)}
.yk-search .btn-gold{padding:10px 22px;border-radius:8px}
.yk-search-icon{font-size:15px;opacity:.55}
.yk-search-sm{max-width:620px;box-shadow:none;margin-top:var(--s3)}
.yk-hint{margin:var(--s3) 0 0;font-size:13px;color:#B9C6D6}
.yk-hint a{color:#fff;margin-right:12px;border-bottom:1px dotted rgba(255,255,255,.5);text-decoration:none}
.yk-meta{margin:var(--s4) 0 0;font-size:12px;color:#9FB0C4;letter-spacing:.02em}
.yk-meta span{margin:0 6px;opacity:.6}

/* 入口の中身 */
.yk-landing{padding-top:var(--s8);padding-bottom:var(--s10)}
.yk-block{margin-bottom:var(--s10)}
.yk-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;
               border-bottom:1px solid var(--line);padding-bottom:var(--s2);margin-bottom:var(--s4)}
.yk-block-head h2,.yk-card-head h2{font-size:18px;margin:0;letter-spacing:.02em}
.yk-block-head h2 small,.yk-card-head h2 small{font-size:12px;color:var(--sub);font-weight:400;margin-left:6px}
.yk-block-sub{font-size:12px;color:var(--sub)}
.yk-entries{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.yk-entry{display:flex;align-items:center;gap:var(--s4);padding:var(--s5);text-decoration:none;color:var(--ink);
          border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:background .15s}
.yk-entry:nth-child(2n){border-right:0}
.yk-entry:nth-last-child(-n+2){border-bottom:0}
.yk-entry:hover{background:var(--cream)}
.yk-entry-icon{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;
               border:1px solid var(--line);border-radius:10px;font-size:18px;background:#fff}
.yk-entry-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.yk-entry-text b{font-size:15px}
.yk-entry-text b small{font-size:12px;color:var(--sub);font-weight:400;margin-left:6px}
.yk-entry-text span{font-size:12px;color:var(--sub);line-height:1.6}
.yk-entry-arrow{color:var(--sub);font-size:22px}
.yk-chips{display:flex;flex-wrap:wrap;gap:8px}
.yk-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;
         background:#fff;color:var(--ink);font-size:13px;text-decoration:none}
.yk-chip small{color:var(--sub);font-size:11px}
.yk-chip:hover{border-color:var(--gold);background:#FBF8F0}
.yk-chip.mine::before,.yk-side-item.mine::before{content:"★";color:var(--gold-deep);margin-right:2px}
.yk-note{font-size:12px;color:var(--sub);line-height:1.8;margin:var(--s2) 0 0}

/* 表 */
.yk-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.yk-table{width:100%;border-collapse:collapse;font-size:14px}
.yk-table th{font-size:12px;font-weight:600;color:var(--sub);text-align:left;padding:10px 14px;background:var(--cream);
             border-bottom:1px solid var(--line);white-space:nowrap}
.yk-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.yk-table tr:last-child td{border-bottom:0}
.yk-table .num{text-align:right;white-space:nowrap}
.yk-table .num b{font-size:15px}
.yk-name{font-weight:600;color:var(--ink);text-decoration:none}
.yk-name:hover{color:var(--gold-deep);text-decoration:underline}
.yk-sub{display:block;font-size:12px;color:var(--sub);margin-top:2px;font-weight:400}
.yk-list tbody tr:hover{background:#FBFCFE}
.yk-list tr.on{background:#FBF8F0}
.yk-list .yk-pick{width:36px;text-align:center}
.yk-list .yk-pick input{width:16px;height:16px;cursor:pointer}
.yk-maker{font-size:13px;color:var(--sub)}
.show-sp{display:none}

/* 検索結果の見出し帯 */
.yk-bar{background:linear-gradient(180deg,#EEF3F9,#F8FAFC);border-bottom:1px solid var(--line);padding:var(--s6) 0 var(--s5)}
.yk-crumb{font-size:12px;color:var(--sub);margin:0 0 var(--s2)}
.yk-crumb a{color:var(--sub)}
.yk-crumb span{margin:0 4px;opacity:.6}
.yk-bar h1{font-size:26px;margin:0;letter-spacing:.02em}
.yk-count{margin:4px 0 0;font-size:13px;color:var(--sub)}

/* 検索結果：左の絞り込み・右の一覧 */
.yk-results{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s8);padding-top:var(--s6);padding-bottom:var(--s10);align-items:start}
.yk-side{position:sticky;top:var(--s4)}
.yk-side-box summary{font-size:13px;font-weight:700;cursor:pointer;list-style:none;margin-bottom:var(--s3)}
.yk-side-box summary::after{content:"（開く）";font-weight:400;color:var(--sub);font-size:12px;display:none}
.yk-side-box:not([open]) summary::after{display:inline}
.yk-side-box summary::-webkit-details-marker{display:none}
.yk-side-group{margin-bottom:var(--s5)}
.yk-side-label{font-size:11px;letter-spacing:.08em;color:var(--sub);margin:0 0 6px;font-weight:700}
.yk-side-item{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;
              font-size:13px;color:var(--ink);text-decoration:none}
.yk-side-item small{color:var(--sub);font-size:11px}
.yk-side-item:hover{background:var(--cream)}
.yk-side-item.on{background:#FBF8F0;color:var(--gold-deep);font-weight:700}
.yk-side-item.on::after{content:"✓";font-size:12px}
.yk-main{min-width:0}
.yk-pickbar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;
            background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:var(--s3);
            font-size:13px;color:var(--sub);box-shadow:0 -4px 16px rgba(8,34,63,.06)}
.yk-pickbar b{color:var(--ink)}
.yk-pager{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;margin:var(--s4) 0 var(--s8);font-size:13px}
.yk-pager span:last-child{display:flex;gap:8px}
.yk-empty{border:1px dashed var(--line);border-radius:10px;padding:var(--s8);text-align:center;background:#fff;margin-bottom:var(--s8)}

/* カード（比較・薬剤ページ） */
.yk-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:var(--s5)}
.yk-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3)}
.yk-compare{margin-bottom:var(--s6)}
.yk-chosen{list-style:none;padding:0;margin:var(--s3) 0 0;display:flex;flex-wrap:wrap;gap:8px}
.yk-chosen li{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px}

/* 薬剤ページ */
.yk-generic-name{margin:4px 0 0;color:var(--sub);font-size:15px}
.yk-tags{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s3) 0 0}
.yk-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid var(--line);background:#fff;color:var(--sub)}
.yk-tag-gold{border-color:#E6D9B5;background:#FBF8F0;color:var(--gold-deep)}
.yk-tag-warn{border-color:#E8C4C0;background:#FDF4F3;color:var(--alert)}
.yk-drug{padding-top:var(--s6);padding-bottom:var(--s10)}
.yk-drug-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:var(--s6);align-items:start;margin-bottom:var(--s6)}
.yk-drug-left{display:flex;flex-direction:column;gap:var(--s4)}
.yk-price-card{padding:var(--s6) var(--s5);box-shadow:0 6px 20px rgba(8,34,63,.06)}
.yk-price{margin:0;display:flex;align-items:baseline;gap:6px}
.yk-price b{font-size:44px;font-weight:700;letter-spacing:.01em;color:var(--sumi);line-height:1.1}
.yk-price span{font-size:16px;color:var(--sub)}
.yk-price-sub{margin:var(--s2) 0 0;font-size:12px;color:var(--sub)}
.yk-info{display:grid;grid-template-columns:auto 1fr;margin:0;font-size:13px}
.yk-info dt{color:var(--sub);padding:9px 12px 9px 0;border-bottom:1px solid var(--line);white-space:nowrap;font-size:12px}
.yk-info dd{margin:0;padding:9px 0;border-bottom:1px solid var(--line);text-align:right;word-break:break-all}
.yk-info dt:last-of-type,.yk-info dd:last-of-type{border-bottom:0}
.yk-info .mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.yk-section{margin-bottom:var(--s6)}
.yk-siblings{list-style:none;padding:0;margin:0}
.yk-siblings li{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;grid-template-areas:"pick name tag price" "pick sub tag price";
                align-items:center;column-gap:10px;padding:10px 4px;border-bottom:1px solid var(--line)}
.yk-siblings li:last-child{border-bottom:0}
.yk-sib-pick{grid-area:pick}
.yk-sib-name{grid-area:name;font-weight:600;color:var(--ink);text-decoration:none;font-size:14px}
.yk-sib-name:hover{color:var(--gold-deep);text-decoration:underline}
.yk-siblings .yk-sub{grid-area:sub;margin:0}
.yk-siblings .tag-gen{grid-area:tag}
.yk-sib-price{grid-area:price;font-weight:700;white-space:nowrap;text-align:right;min-width:80px}
.yk-more{margin:var(--s3) 0 0;text-align:right;font-size:13px}
.yk-source{margin-top:var(--s6)}

@media (max-width:900px){
  .yk-results{grid-template-columns:1fr;gap:var(--s4)}
  .yk-side{position:static}
  .yk-side-box:not([open]) summary{margin-bottom:0}
  .yk-side-box{border:1px solid var(--line);border-radius:10px;padding:var(--s3) var(--s4);background:#fff}
  .yk-side-group{margin-bottom:var(--s3)}
  .yk-side-group .yk-side-item{display:inline-flex;margin:0 4px 4px 0;border:1px solid var(--line)}
  .yk-drug-grid{grid-template-columns:minmax(0,1fr)}
  .yk-drug-left,.yk-drug-right{min-width:0}
}
@media (max-width:768px){
  .yk-hero{padding:var(--s8) 0}
  .yk-hero h1{font-size:26px}
  .yk-entries{grid-template-columns:1fr}
  .yk-entry{border-right:0}
  .yk-entry:nth-last-child(2){border-bottom:1px solid var(--line)}
  .hide-sp{display:none}
  .show-sp{display:block}
  .yk-table td,.yk-table th{padding:10px}
  .yk-bar h1{font-size:21px}
  .yk-price b{font-size:36px}
}

/* 決算データベース：日本とグローバルの順位を左右に（2026/10/19） */
.kz-ranks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}
.kz-rank{min-width:0}
.kz-abroad{display:inline-block;font-size:10px;font-weight:600;color:var(--sub);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:4px;vertical-align:1px}
@media (max-width:1100px){.kz-ranks{grid-template-columns:minmax(0,1fr)}}
.kz-sep{color:var(--line);margin:0 6px}
.kz-period-note{font-size:12px;color:var(--sub);margin:4px 0 0}
.kz-bd-firms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s3)}
.kz-bd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}
.kz-prod td{font-size:13px}
@media (max-width:1100px){.kz-bd{grid-template-columns:minmax(0,1fr)}}
/* 日本とグローバルの順位：見出しの高さをそろえて、左右のグラフの位置をそろえる（2026/10/19） */
.kz-rank > .tool-main-head{display:block}
.kz-rank > .tool-main-head .muted{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 左右に並べたグラフは、枠の幅に合わせて縮める（ふだんの「最低520px」だと右端がはみ出して切れた。2026/10/19） */
.kz-rank .chart-box svg{min-width:0;width:100%}
/* 累計を年度ごとに重ねる：会社ごとに小さなグラフを並べる（2026/10/19） */
.kz-overlays{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--s4)}
.kz-overlay{min-width:0}
.kz-overlay-name{font-weight:700;font-size:14px;margin:0 0 4px}
.kz-overlay .chart-box svg{min-width:0;width:100%}
/* データベースの見出しの左の線のアイコン（2026/10/19 案A。枠なし・金色の細い線） */
.tool-icon{display:inline-flex;width:34px;height:34px;color:var(--gold);flex:0 0 auto}
.tool-icon svg{width:100%;height:100%}
@media (max-width:768px){.tool-icon{width:28px;height:28px}}
.yk-title{display:flex;align-items:center;gap:12px}
/* ヘッダーの「データベース」の引き出し（2026/10/19。3つのデータベースを1つにまとめた） */
.gnav-db{position:relative}
.gnav-db summary{list-style:none;cursor:pointer;color:#E2E8F0;font-size:14px;font-weight:500;padding:var(--s2) 0;
                 display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gnav-db summary::-webkit-details-marker{display:none}
.gnav-db summary:hover,.gnav-db summary.on,.gnav-db[open] summary{color:var(--gold)}
.gnav-caret{font-size:10px;transition:transform .15s}
.gnav-db[open] .gnav-caret{transform:rotate(180deg)}
.gnav-db-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:50;width:300px;
              background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 16px 40px rgba(8,34,63,.25)}
.gnav-db-menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--ink);white-space:normal}
.gnav-db-menu a:hover,.gnav-db-menu a.on{background:var(--cream);color:var(--ink)}
.gnav-db-menu .tool-icon{width:26px;height:26px;color:var(--gold-deep)}
.gnav-db-menu b{display:block;font-size:14px;font-weight:700}
.gnav-db-menu small{display:block;font-size:12px;color:var(--sub);font-weight:400;margin-top:1px}
.drawer-label{display:block;font-size:12px;color:#9FB0C4;letter-spacing:.08em;padding:12px 0 2px}
.drawer .drawer-sub{padding-left:14px}
/* トップの左側（2026/10/19 作り直し） */
.hero2 .hero2-h1{font-size:clamp(26px,2.4vw,36px);line-height:1.55;letter-spacing:.03em;margin:0}
.hero2 .hero2-h1 .nobr{white-space:nowrap}
.hero2 .hero2-h1 .g{color:var(--gold)}
.hero2 .hero2-lead{margin:var(--s5) 0 0;font-size:16px;line-height:1.9;color:#D6DEE8}
.hero2-values{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
.hero2-value{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid rgba(194,168,106,.55);border-radius:8px;
             color:#fff;font-size:14px;font-weight:600;text-decoration:none;background:rgba(255,255,255,.04)}
.hero2-value:hover{border-color:var(--gold);color:var(--gold);text-decoration:none}
.hero2-value-icon{display:inline-flex;width:22px;height:22px;color:var(--gold)}
.hero2-value-icon svg{width:100%;height:100%}
@media (max-width:600px){.hero2 .hero2-lead br{display:none}.hero2-value{width:100%}}
.data-card-icon{margin:0 0 6px}
.data-card-icon .tool-icon{width:30px;height:30px;color:var(--gold-deep)}
.lookup-busy{border-color:#E6D9B5;background:#FBF8F0;color:var(--gold-deep);cursor:default}
.dup-note{display:inline-block;margin-top:4px;font-size:12px;color:var(--alert);background:#FDF4F3;border:1px solid #E8C4C0;border-radius:4px;padding:2px 8px}
.dup-note a{color:var(--alert);text-decoration:underline}

/* ---- 決算データベース：会社を調べる／会社を比べる（2026/10/21） ---- */
.kz-sub{font-size:12px;font-weight:700;color:var(--sub);margin:var(--s3) 0 6px}
.kz-firm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.kz-firm{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:13px;line-height:1.4}
.kz-firm:hover{border-color:var(--gold-deep);text-decoration:none}
.kz-firm small{color:var(--sub);font-size:12px}
.kz-co-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;margin:var(--s5) 0 var(--s4)}
.kz-co-name{font-size:24px;margin:0 0 4px}
.kz-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:var(--s3)}
.kz-kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kz-kpi span{font-size:12px;color:var(--sub)}
.kz-kpi b{font-size:20px;line-height:1.3}
.kz-kpi b.ok-text,.kz-kpi b.ng{font-size:13px}
.kz-fc{font-size:13px;color:var(--sub);margin:0 0 var(--s5)}
.kz-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5);margin-top:var(--s5)}
.kz-two .chart-box svg{min-width:0;width:100%}
@media (max-width:900px){.kz-two{grid-template-columns:minmax(0,1fr)}}
.kz-table td,.kz-table th{font-size:13px}
.kz-table .r{text-align:right}
.kz-table th a{color:var(--sub)}
.kz-table th a.on{color:var(--ink);font-weight:700}
.kz-table tr.on td{background:var(--gold-pale,#fbf6ea)}
.kz-table-foot{display:flex;gap:var(--s4);align-items:center;flex-wrap:wrap;margin:var(--s3) 0}
.kz-picked{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--s3)}
.kz-chip{display:inline-block;padding:4px 12px;border:1px solid var(--gold-deep);border-radius:16px;font-size:13px;color:var(--ink);background:#fff}
.kz-chip:hover{text-decoration:none;background:var(--gold-pale,#fbf6ea)}
.kz-add{display:flex;gap:6px;align-items:center}
.kz-add input{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;width:220px;max-width:100%}
.kz-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 var(--s4)}
.kz-list{list-style:none;margin:0;padding:0}
.kz-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}
.kz-rank-chart{max-width:720px}
.kz-rank-chart svg{min-width:0;width:100%}
@media (max-width:600px){.tool-tab{padding:10px 10px;white-space:nowrap;font-size:13px}}
.kz-freq{display:inline-flex;gap:4px;flex-wrap:wrap}

/* ---- 企業リリース・コンサルティングレポートの一覧（2026/10/23） ---- */
.rel-company{flex:0 1 220px;min-width:0;border:0;border-left:1px solid var(--line);background:transparent;padding:8px 10px;font-size:14px;color:var(--ink)}
.rel-reset{margin:var(--s2) 0 0;font-size:13px}
.rel-table{width:100%;border-collapse:collapse;margin-top:var(--s5);font-size:14px;background:#fff}
.rel-table th{text-align:left;font-size:12px;color:var(--sub);font-weight:600;padding:10px 12px;background:#FAFBFD;border-bottom:1px solid var(--line)}
.rel-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.rel-table td a{color:var(--ink);font-weight:600}
.rel-date{white-space:nowrap;color:var(--sub);font-size:13px;width:96px}
.rel-co{white-space:nowrap;width:1%}
.rel-tag{display:inline-block;font-size:12px;font-weight:600;color:var(--ai-fg)!important;background:var(--ai-bg);border-radius:4px;padding:1px 8px}
.rel-note{margin-top:var(--s6);font-size:12px}
@media (max-width:600px){
  .rel-search{flex-wrap:wrap;padding:8px}
  .rel-search .tool-search-input{flex:1 1 0}
  .rel-company{flex:1 1 100%;order:3;border-left:0;border-top:1px solid var(--line)}
  .rel-search .btn-gold{order:4;flex:1 1 100%}
  .rel-table thead{display:none}
  .rel-table tr{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
  .rel-table td{border:0;padding:0}
  .rel-table td:nth-child(2){grid-column:1 / -1;order:3}
  .rel-co{width:auto;text-align:right}
}
.rep-table td:first-child,.rep-table th:first-child{width:28px}
.rep-btns{white-space:nowrap;width:1%}
.rep-btns .mini{margin:0 2px 2px 0}
.rep-bulk{margin-top:var(--s4);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* レポートを手で足す（2026/10/27） */
.rep-add{border:1px solid var(--line);border-radius:8px;padding:var(--s3) var(--s4);margin-bottom:var(--s5);background:var(--cream)}
.rep-add summary{cursor:pointer}

/* ---- 厚労省会議データベース「テーマで追う」（2026/10/23） ---- */
.topic-picks{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:var(--s5)}
.topic-more{font-size:12px;margin-left:6px}
.topic-title{margin:0 0 4px;font-size:24px}
.topic-lead{color:var(--sub);margin:0 0 var(--s4);line-height:1.8}
.topic-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:var(--s4) 0 var(--s6)}
.topic-box-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.topic-box-head h3{margin:0}
.topic-badge{font-size:11px;font-weight:600;color:var(--ai-fg);background:var(--ai-bg);border-radius:4px;padding:2px 8px}
.topic-body p{margin:0 0 .9em;line-height:1.95}
.topic-teaser{color:var(--sub);line-height:1.9}
.topic-note{font-size:12px;margin-top:6px}
.topic-sec{margin:0 0 var(--s7)}
.topic-sec h3{margin:var(--s5) 0 var(--s3)}
.topic-date{color:var(--sub);font-size:13px;white-space:nowrap}
.topic-list{border-top:1px solid var(--line)}
.topic-listing{border-bottom:1px solid var(--line);padding:8px 2px}
.topic-listing summary{display:flex;gap:14px;align-items:baseline;cursor:pointer;flex-wrap:wrap}
.topic-route{color:var(--sub);margin-left:8px}
.topic-listing-body{padding:8px 0 4px 2px}
.topic-kasan{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
.topic-drugs{columns:2;column-gap:24px;margin:0 0 8px;padding-left:1.1em;font-size:14px}
.topic-drugs li{break-inside:avoid;margin-bottom:3px}
.topic-drugs small{color:var(--sub);margin-left:6px}
.topic-stmts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.topic-stmt{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink)}
.topic-stmt:hover{border-color:var(--gold);text-decoration:none}
.topic-point{font-size:13px;line-height:1.7}
.topic-timeline{border-top:1px solid var(--line)}
.topic-row{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:14px}
.topic-row a{color:var(--ink);font-weight:600}
.topic-line{display:block;color:var(--ink);margin-top:2px;line-height:1.7}
.topic-docs{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:12px}
.topic-docs a{font-weight:400;color:var(--gold-deep)}
.topic-more-rows summary{cursor:pointer;padding:10px 2px;color:var(--gold-deep);font-weight:600}
@media (max-width:600px){
  .topic-row{grid-template-columns:1fr;gap:2px}
  .topic-drugs{columns:1}
}
.topic-admin{margin-bottom:var(--s6);padding:18px 20px}

/* 会社ごとの情報源（2026/10/27） */
.cs-table td{vertical-align:top}
.cs-mark{text-align:center;font-weight:700;font-size:16px}
.cs-○{color:var(--ok, #2f7d4f)}
.cs-△{color:var(--gold)}
.cs-✕{color:var(--alert)}
.cs-attn{background:var(--cream)}
.cs-src summary{cursor:pointer;font-size:13px;line-height:1.7}
.cs-src summary .ng{margin-left:4px;font-size:12px}
.cs-recent{margin:4px 0 8px 1.2em;font-size:12px;line-height:1.7}
