/*
Theme Name: 薬剤師デスク
Description: お薬検索・計算ツール・掲示板をまとめた、薬剤師と一般の方のためのポータルのテーマ。
Version: 1.1.15
Requires PHP: 8.0
Text Domain: rxdesk
*/

:root{
  --ink:#23323a; --sub:#5b6b70; --faint:#66767b; --line:#dde8e4; --wash:#f4f9f7; --paper:#fff;
  --ai:#14806f; --ai-deep:#0f6b5d; --ai-wash:#e4f4ef;
  --sun:#ffc845; --sun-deep:#e0a800;
  --amber:#8a4b00; --amber-wash:#fff1db; --green:#2f6b3f; --green-wash:#e6f2e8;
  --round:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Noto Sans JP",sans-serif;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:16px;line-height:1.8;font-feature-settings:"palt";}
a{color:var(--ai)}
a:hover{color:var(--ai-deep)}
:focus-visible{outline:3px solid var(--sun-deep);outline-offset:2px}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.4;margin:0;font-family:var(--round);font-weight:700}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
.sp{display:none}

/* ボタン（押せる感じを少しだけ） */
.btn-pop{display:inline-block;font:inherit;font-family:var(--round);font-weight:700;font-size:15px;color:var(--ink)!important;text-decoration:none!important;
  background:var(--sun);border:0;border-radius:999px;padding:10px 22px;box-shadow:0 3px 0 var(--sun-deep);cursor:pointer;white-space:nowrap;transition:transform .08s,box-shadow .08s}
.btn-pop:hover{background:#ffd266}
.btn-pop:active{transform:translateY(2px);box-shadow:0 1px 0 var(--sun-deep)}

/* ヘッダー */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand-mark{width:34px;height:34px;flex:none}
.brand b{font-family:var(--round);font-size:21px;letter-spacing:.04em;color:var(--ai)}
.brand small{font-size:12px;color:var(--sub)}
.gnav{margin-left:auto}
.gnav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.gnav a{display:block;color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:500;padding:8px 13px;border-radius:999px}
.gnav a:hover{background:var(--wash);color:var(--ai)}
.gnav a[aria-current="page"]{background:var(--ai-wash);color:var(--ai);font-weight:700}
.site-header::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#14806f,#3fae8f 45%,#ffc845)}
.site-header{box-shadow:0 6px 18px -14px rgba(20,60,50,.35)}
.brand{gap:12px}
.brand-tile{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#e4f4ef,#fff6d9);box-shadow:inset 0 0 0 1px #d3ebe2}
.brand-tile .brand-mark{width:32px;height:32px}
.brand b{font-size:22px}
.gnav li:not(.gnav-cta) a{display:flex;align-items:center;gap:7px;padding:6px 12px 6px 6px;transition:background .15s,color .15s}
.gi{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--gb,#eef5f3);transition:transform .15s}
.gi .ico{display:block}
.gnav li:not(.gnav-cta) a:hover{background:var(--gb);color:var(--gc)}
.gnav li:not(.gnav-cta) a:hover .gi{background:#fff;transform:scale(1.06)}
.gnav li:not(.gnav-cta) a[aria-current="page"]{background:var(--gb);color:var(--gc);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gc) 35%,transparent)}
.gnav li:not(.gnav-cta) a[aria-current="page"] .gi{background:#fff}
@media (max-width:1400px){.gnav li:not(.gnav-cta) a{gap:5px;padding:5px 9px 5px 5px}.gi{width:24px;height:24px;border-radius:8px}.gi .ico{width:14px;height:14px}}
@media (max-width:1320px) and (min-width:1181px){.gi{display:none}.gnav li:not(.gnav-cta) a{padding:8px 9px}}
@media (prefers-reduced-motion:reduce){.gi,.gnav li a{transition:none}}
.gnav ul{align-items:center}
.gnav .gnav-cta{margin-left:10px}
.gnav .gnav-cta a{display:inline-flex;align-items:center;gap:6px;background:#1b6f8c;color:#fff;font-weight:700;padding:9px 18px;box-shadow:0 3px 0 #11506a;transition:transform .08s,box-shadow .08s}
.gnav .gnav-cta a:hover{background:#155a72;color:#fff}
.gnav .gnav-cta a:active{transform:translateY(2px);box-shadow:0 1px 0 #11506a}
.gnav .gnav-cta a[aria-current="page"]{background:#155a72;color:#fff;box-shadow:inset 0 0 0 2px #fff,0 3px 0 #11506a}
.nav-toggle{display:none;margin-left:auto;background:var(--wash);border:0;color:var(--ink);border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:700}

/* トップ：ヒーロー */
.hero{background:linear-gradient(180deg,#f0faf6 0%,#fff 100%);padding:clamp(32px,5vw,60px) 0 clamp(28px,4vw,44px)}
.hero-in{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:center}
.hero h1{font-size:clamp(26px,3.6vw,38px);letter-spacing:.02em}
.hero-lead{margin:8px 0 22px;color:var(--sub);font-size:15.5px;max-width:40em}
.hero-art svg{display:block;width:100%;height:auto}
.qs{position:relative;max-width:760px}
.qs-field{position:relative}
.qs-field svg{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:var(--ai);pointer-events:none}
.qs-input{width:100%;font:inherit;font-size:19px;line-height:1.3;padding:17px 130px 17px 58px;border:2.5px solid var(--ai);border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 6px 20px rgba(20,128,111,.12)}
.qs-input::placeholder{color:var(--faint)}
.qs-input::-webkit-search-cancel-button{display:none}
.qs-go{position:absolute;right:7px;top:7px;bottom:7px;border:0;border-radius:999px;background:var(--ai);color:#fff;font:inherit;font-family:var(--round);font-weight:700;font-size:16px;padding:0 26px;cursor:pointer}
.qs-go:hover{background:var(--ai-deep)}
.qs-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 36px rgba(35,50,58,.16);max-height:min(60vh,520px);overflow:auto}
.qs-list[hidden]{display:none}
.qs-opt{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:10px 14px;border-radius:12px;cursor:pointer;line-height:1.5}
.qs-opt[aria-selected="true"],.qs-opt:hover{background:var(--ai-wash)}
.qs-opt b{font-weight:700;overflow-wrap:anywhere}
.qs-opt b mark{background:#ffe58a;color:inherit;padding:0;border-radius:2px}
.qs-opt span{font-size:13px;color:var(--sub);overflow-wrap:anywhere}
.qs-opt .p{grid-row:1 / span 2;grid-column:2;align-self:center;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;color:var(--ink)}
.qs-all{display:block;padding:10px 14px;font-size:14px;font-weight:700;text-decoration:none;border-top:1px solid var(--line);margin-top:4px}
.qs-msg{padding:12px 14px;font-size:14px;color:var(--sub)}
.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:20px 0 0;padding:0;max-width:820px}
.quick a{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;height:100%;box-sizing:border-box;padding:9px;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 22%,var(--line,#dbe6e2));border-radius:16px;text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:700;line-height:1.35;box-shadow:0 2px 8px color-mix(in srgb,var(--c) 8%,transparent);transition:border-color .15s,box-shadow .15s,transform .15s}
.quick a:hover,.quick a:focus-visible{border-color:var(--c);color:var(--c);box-shadow:0 6px 16px color-mix(in srgb,var(--c) 18%,transparent);transform:translateY(-2px)}
.q-ico{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--c)}
.q-t{min-width:0;text-align:center}
@media (max-width:640px){.quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick a{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;font-size:13.5px;padding:8px}.q-ico{width:32px;height:32px}}
@media (prefers-reduced-motion:reduce){.quick a{transition:none}.quick a:hover{transform:none}}

/* 見出し */
.sec-h{font-size:22px;display:flex;align-items:baseline;gap:12px}
.sec-h a{margin-left:auto;font-family:"Noto Sans JP",sans-serif;font-size:14px;font-weight:500}

/* 目的から探す */
.index{padding:clamp(28px,4vw,48px) 0 0}
.index .sec-h{margin-bottom:16px}
.index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ix{background:var(--tbg);border-radius:22px;padding:20px 22px 16px}
.ix-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.ix-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff}
.ix h3{font-size:19px}
.ix h3 a{color:var(--ink);text-decoration:none}
.ix h3 a:hover{color:var(--tfg);text-decoration:underline}
.ix p{margin:0;font-size:13px;color:var(--sub);line-height:1.6}
.ix ul{list-style:none;margin:0;padding:6px 14px;font-size:14.5px;line-height:1.5;background:rgba(255,255,255,.72);border-radius:14px}
.ix li{display:flex;align-items:baseline;gap:6px;padding:7px 0}
.ix li+li{border-top:1px dashed rgba(35,50,58,.14)}
.ix li a{text-decoration:none;font-weight:500;color:var(--tfg)}
.ix li a:hover{text-decoration:underline}
.ext{flex:none;font-size:10.5px;font-weight:500;color:var(--faint);border:1px solid #cfdad6;background:#fff;border-radius:4px;padding:0 4px;line-height:1.6;font-style:normal}

/* 掲示板の帯（トップ） */
.board-band{margin-top:clamp(28px,4vw,48px);border:2px solid #ffd9bf;border-radius:24px;padding:22px 24px}
.board-band-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.board-band-head .ix-ico{background:var(--tbg)}
.board-band-head p{margin:0;font-size:14px;color:var(--sub)}
.board-band-head .btn-pop{margin-left:auto}
.board-band .more{margin:10px 0 0;font-size:14px;font-weight:500}
/* トップ：掲示板と求人（2つ並べる） */
.cm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(28px,4vw,48px)}
.cm{display:flex;flex-direction:column;min-width:0;background:#fff;border:1.5px solid var(--cm-line);border-radius:24px;overflow:hidden;text-align:left}
.cm-board{--cm-line:#ffd9bf;--cm-a:#fff4eb;--cm-b:#ffe4d0;--cm-k:#c2561c}
.cm-jobs{--cm-line:#bfe0ec;--cm-a:#eef8fc;--cm-b:#d8eef7;--cm-k:#1f6f91}
.cm-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 18px;background:linear-gradient(135deg,var(--cm-a),var(--cm-b))}
.cm-head-txt{min-width:0}
.cm-kicker{margin:0 0 2px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--cm-k)}
.cm .cm-h{margin:0 0 4px;padding:0;border:0;font-size:22px}
.cm-head-txt>p:last-child{margin:0;font-size:13.5px;color:var(--sub);line-height:1.65}
.cm-art{flex:none;width:150px;height:auto;margin:-6px -4px -10px 0}
.cm-body{flex:1;padding:14px 22px 6px}
.cm-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.cm-chips a{font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;background:#fff6ef;color:#9a4a1c;text-decoration:none;box-shadow:inset 0 0 0 1px #ffd9bf}
.cm-chips a:hover{background:#ffe9da}
.cm .bd-list>li:last-child{border-bottom:0}
.cm .jb-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:4px 0 0}
.cm-empty{margin:10px 0;color:var(--sub);font-size:14px}
.cm-empty-jobs{padding:16px 18px;border-radius:18px;background:var(--wash,#f4f9f7);color:var(--ink)}
.cm-empty-h{margin:0 0 2px;font-size:16px;font-weight:700}
.cm-empty-jobs p{margin:0 0 10px;font-size:14px;color:var(--sub)}.cm-empty-jobs .cm-empty-h{margin:0 0 2px;color:var(--ink)}
.cm-note{margin:6px 0 10px;padding:10px 14px;border-radius:14px;background:#fff8f2;font-size:13px;color:var(--sub)}.cm-empty-jobs b{color:var(--ai,#14806f)}
.cm-points{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;font-size:14px}
.cm-points li{position:relative;padding-left:26px}
.cm-points li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--ai,#14806f) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.cm-post{display:inline-flex;align-items:center;gap:4px;font-size:14.5px;font-weight:700;color:var(--ai,#14806f);text-decoration:none}
.cm-post:hover{text-decoration:underline}
.cm-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 22px 18px;border-top:1px dashed var(--cm-line)}
.cm-more{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--cm-k);text-decoration:none}
.cm-more:hover{text-decoration:underline}
.cm-more svg,.cm-post svg{transition:transform .15s}.cm-more:hover svg,.cm-post:hover svg{transform:translateX(2px)}
.cm-keika{--cm-line:#d9d0f5;--cm-a:#f6f3ff;--cm-b:#e8e1fb;--cm-k:#5a45b5}
.cm-new{--cm-line:#c4e6da;--cm-a:#effaf6;--cm-b:#dcf2ea;--cm-k:#0f6e5f}
.kk-next{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:2px 0 10px;padding:12px 16px;border-radius:16px;background:var(--cm-a)}
.kk-lab{display:block;font-size:12px;font-weight:700;color:var(--cm-k)}
.kk-when b{font-size:20px;font-variant-numeric:tabular-nums}
.kk-count{display:flex;align-items:center;gap:8px}
.kk-days{font-size:13px;font-weight:700;color:var(--cm-k);background:#fff;border-radius:999px;padding:4px 12px;box-shadow:inset 0 0 0 1.5px var(--cm-line)}
.kk-days b{font-size:18px;margin:0 2px;font-variant-numeric:tabular-nums}
.kk-next.is-soon .kk-days{color:#b42318;box-shadow:inset 0 0 0 1.5px #f6c9c4}
.kk-n{font-size:13px;font-weight:700;color:#fff;background:var(--cm-k);border-radius:999px;padding:5px 12px}
.hl-items{list-style:none;margin:0;padding:0}
.hl-items li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px dashed var(--line)}
.hl-items li:last-child{border-bottom:0}
.hl-items a{min-width:0;color:var(--ink);text-decoration:none;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hl-items a:hover{color:var(--cm-k);text-decoration:underline}
.hl-u{flex:none;font-size:12px;font-weight:700;color:var(--cm-k);background:var(--cm-a);border-radius:6px;padding:1px 8px}
.hl-p{flex:none;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.hl-p small{font-weight:500;color:var(--sub)}
.hl-more{display:inline-block;margin:6px 2px 0;font-size:13.5px;font-weight:700;color:var(--cm-k)}
.hl-sub{margin:16px 0 6px;font-size:12.5px;font-weight:700;color:var(--sub)}
.hl-groups{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}
.hl-groups a{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 12px;border-radius:12px;background:#fafbfb;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;color:var(--ink);font-size:14px}
.hl-groups a:hover{box-shadow:inset 0 0 0 1.5px var(--cm-k)}
.hl-groups b{font-variant-numeric:tabular-nums}.hl-groups span{font-size:13px;font-weight:700;color:var(--cm-k)}
.hl-groups small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--sub);font-size:12.5px}
@media (max-width:480px){.hl-groups a{grid-template-columns:auto auto}.hl-groups small{display:none}}
.hl-tip{margin:16px 0 6px;padding:12px 16px;border-radius:14px;background:#fafbfb;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--sub);line-height:1.75}
.hl-tip p{margin:0}.hl-tip .hl-tip-h{margin:0 0 2px;font-weight:700;color:var(--cm-k)}
.cm-stat{font-size:13px;color:var(--sub)}.cm-stat b{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;margin-right:2px}
.cm-news{--cm-line:#f3dcae;--cm-a:#fffaf0;--cm-b:#fdefcf;--cm-k:#a15c07}
.cm-data{--cm-line:#c9dcef;--cm-a:#f2f7fc;--cm-b:#e1ecf8;--cm-k:#2f5f91}
.nw-list{list-style:none;margin:0;padding:0}
.nw-list a{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:14px;padding:10px 2px;border-bottom:1px dashed var(--line);color:var(--ink);text-decoration:none}
.nw-list li:last-child a{border-bottom:0}
.nw-list time{display:flex;flex-direction:column;align-items:center;justify-content:center;height:52px;border-radius:14px;background:var(--cm-a);box-shadow:inset 0 0 0 1px var(--cm-line);color:var(--cm-k);line-height:1.15}
.nw-list time b{font-size:16px;font-variant-numeric:tabular-nums}.nw-list time small{font-size:11px;opacity:.8}
.nw-t{font-size:15px;font-weight:700}.nw-list a:hover .nw-t{color:var(--cm-k);text-decoration:underline}
.nw-t em{margin-left:8px;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:#ef6f61;border-radius:999px;padding:1px 8px;vertical-align:2px}
.nw-ask{margin:14px 0 6px;padding:14px 16px;border-radius:16px;background:#fafbfb;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nw-ask p{flex:1 1 100%;margin:0 0 4px;font-size:13.5px;color:var(--sub);line-height:1.7}.nw-ask p b{display:block;color:var(--ink);font-size:14.5px}
.nw-ask a{font-size:13.5px;font-weight:700;padding:6px 14px;border-radius:999px;background:#fff;color:var(--cm-k);text-decoration:none;box-shadow:inset 0 0 0 1.5px var(--cm-line)}
.nw-ask a:hover{background:var(--cm-a)}
.ds-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ds-list li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fafbfb;box-shadow:inset 0 0 0 1px var(--line)}
.ds-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);font-weight:700;font-size:16px}
.ds-list b{display:block;font-size:14px;line-height:1.45}.ds-list small{display:block;font-size:12.5px;color:var(--sub);line-height:1.5}
.ds-v{text-align:right;font-size:13.5px;font-weight:700;color:var(--cm-k);font-variant-numeric:tabular-nums;white-space:nowrap}
.ds-v small{display:block;font-weight:500;color:var(--sub)}
.ds-note{margin:12px 2px 6px;font-size:12.5px;color:var(--sub);line-height:1.7}
.cm-grid+.cm-grid{margin-top:24px}
@media (max-width:480px){.ds-list li{grid-template-columns:36px minmax(0,1fr)}.ds-ico{width:36px;height:36px}.ds-v{grid-column:2;text-align:left}}
.cm-prep{display:inline-block;margin-right:8px;font-size:12px;font-weight:700;color:#fff;background:#e0a800;border-radius:999px;padding:2px 10px;vertical-align:2px}
@media (max-width:980px){.cm-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.cm-head{padding:16px 16px 14px}.cm-art{width:104px}.cm .cm-h{font-size:19px}.cm-body{padding:12px 16px 4px}.cm-foot{padding:12px 16px 16px}.cm-foot .btn-pop{flex:1;text-align:center}}
@media (prefers-reduced-motion:reduce){.cm-more svg,.cm-post svg{transition:none}}

/* トップ：2列 */
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);padding:clamp(32px,5vw,56px) 0}
.panel .sec-h{padding-bottom:10px;border-bottom:3px solid var(--ai-wash)}
.panel-note{font-size:13px;color:var(--sub);margin:8px 0 0}

/* 経過措置の時系列 */
.tl{list-style:none;margin:0;padding:0}
.tl>li{display:grid;grid-template-columns:108px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.tl-date{line-height:1.3}
.tl-date b{display:block;font-size:17px;font-variant-numeric:tabular-nums}
.tl-days{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--wash);color:var(--sub)}
.tl-days.soon{background:var(--amber-wash);color:var(--amber)}
.tl-items{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.6}
.tl-items li{overflow-wrap:anywhere}
.tl-items li+li{margin-top:4px}
.tl-items small{color:var(--sub);margin-left:6px}
.tl-more{display:inline-block;margin-top:6px;font-size:13px;font-weight:500}

/* 最近の収載 */
.nl{list-style:none;margin:0;padding:0}
.nl>li{padding:14px 0;border-bottom:1px solid var(--line)}
.nl-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.nl-head b{font-size:15px}
.nl-head span{font-size:13px;color:var(--sub)}
.nl-items{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.6}
.nl-items li{display:flex;gap:10px;justify-content:space-between}
.nl-items li+li{margin-top:4px}
.nl-items .n{overflow-wrap:anywhere}
.nl-items .p{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--sub)}
.empty-note{padding:16px 0;color:var(--sub);font-size:14px}

/* お知らせ・データ */
.home-sub{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);padding:0 0 clamp(40px,6vw,72px)}
.news{list-style:none;margin:0;padding:0}
.news li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.news time{color:var(--sub);font-size:14px;font-variant-numeric:tabular-nums}
.datainfo{margin:0;font-size:14px}
.datainfo div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.datainfo dt{color:var(--sub)}
.datainfo dd{margin:0}

/* 下層ページ */
.page-head{background:var(--tbg,var(--wash));padding:30px 0 26px}
.page-head .wrap{display:flex;gap:16px;align-items:center}
.page-ico{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#fff}
.page-head h1{font-size:clamp(23px,3vw,30px)}
.page-head p{margin:2px 0 0;color:var(--sub);font-size:14.5px}
.page-body{padding:30px 0 64px}
.prose{max-width:40em}
.prose h2{font-size:20px;margin:2em 0 .6em}
.prose p{margin:0 0 1.2em}
.postlist{list-style:none;margin:0;padding:0;max-width:820px}
.postlist li{padding:16px 0;border-bottom:1px solid var(--line)}
.postlist time{display:block;font-size:13px;color:var(--sub)}
.postlist a{font-size:17px;font-weight:700;text-decoration:none}

/* 目的別ページのリンク一覧 */
.topic-list{list-style:none;margin:0;padding:0;max-width:820px;display:grid;gap:10px}
.topic-list a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:16px 20px;border:1.5px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink)}
.topic-list a:hover{border-color:var(--ai);background:var(--wash)}
.topic-list a:hover b{color:var(--ai)}
.topic-list b{font-size:16px;font-weight:700}
.topic-list span{grid-column:1;font-size:13.5px;color:var(--sub)}
.topic-list .ext{grid-column:2;grid-row:1 / span 2}

/* 新規収載ページ */
.nlp{max-width:960px}
.nlp section{margin-bottom:36px}
.nlp h2{font-size:18px;padding-bottom:8px;border-bottom:3px solid var(--ai-wash);display:flex;gap:12px;align-items:baseline}
.nlp h2 span{font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:400;color:var(--sub)}
.nlp table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}
.nlp th{text-align:left;font-size:12px;color:var(--sub);font-weight:700;padding:8px 6px;border-bottom:1px solid var(--line)}
.nlp td{padding:10px 6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.nlp th:nth-child(1){width:52%}.nlp th:nth-child(2){width:14%}.nlp th:nth-child(3){width:14%;text-align:right}.nlp th:nth-child(4){width:20%}
.nlp td.num{text-align:right;font-variant-numeric:tabular-nums}
.nlp th:nth-child(4),.nlp td:nth-child(4){text-align:right}
.nlp td:nth-child(4){font-variant-numeric:tabular-nums}
.nlp td{vertical-align:middle}
.nlp th:nth-child(2),.nlp td:nth-child(2){text-align:right;padding-right:16px}
.nlp .ip{display:block;font-size:12px;color:var(--sub)}
.tag-gen{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--green-wash);color:var(--green)}
.links{list-style:none;margin:0;padding:0;max-width:820px}
.links li{border-bottom:1px solid var(--line)}
.links a{display:block;padding:12px 0;text-decoration:none;color:var(--ink)}
.links a:hover b{text-decoration:underline;color:var(--ai)}
.links b{display:block;font-size:15px}
.links span{display:block;font-size:13px;color:var(--sub)}

/* 計算ツール */
.tools{max-width:900px}
.tools-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tools-toc a{font-size:14px;font-weight:500;padding:6px 15px;border:1.5px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);background:#fff}
.tools-toc a:hover{border-color:var(--ai);color:var(--ai)}
.tools-more{margin-bottom:32px}
.tools-more h2,.tools-h{font-size:20px;margin:0 0 14px}
/* シミュレーターのカード（トップ・計算ツール・各シミュレーターの下） */
.sims{margin-top:clamp(28px,4vw,48px);padding:clamp(20px,3vw,32px);border-radius:28px;background:linear-gradient(135deg,var(--ai-wash,#e3f2ef),#f4f9fd);text-align:left}
.sims-head{text-align:center;margin-bottom:18px}
.sims-kicker{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--ai,#14806f)}
.sims-head h2{margin:0 0 6px;font-size:clamp(20px,2.4vw,24px)}
.sims-head p{margin:0;font-size:13.5px;color:var(--sub)}
.sims-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;text-align:left}
.tools .sims-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sims-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sims-grid a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;box-sizing:border-box;padding:18px;background:#fff;border:1.5px solid var(--line,#dbe6e2);border-radius:20px;text-decoration:none;color:var(--ink,#1d2b28);transition:border-color .15s,box-shadow .15s,transform .15s}
.sims-grid a:hover,.sims-grid a:focus-visible{border-color:var(--c);box-shadow:0 6px 18px color-mix(in srgb,var(--c) 18%,transparent);transform:translateY(-2px)}
.sims-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--c) 13%,#fff);color:var(--c)}
.sims-tag{font-size:12px;font-weight:700;padding:1px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--c)}
.sims-grid b{font-size:16px;line-height:1.45}
.sims-d{flex:1;font-size:13px;line-height:1.65;color:var(--sub,#5d6f6a)}
.sims-go{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--c)}
.sims-go svg{transition:transform .15s}.sims-grid a:hover .sims-go svg{transform:translateX(2px)}
.sims-rel{margin-top:40px;padding-top:28px;border-top:1.5px dashed var(--line,#dbe6e2);text-align:left}
.sims-rel h2{margin:0 0 14px;font-size:20px;text-align:center}
.sims-all{margin:14px 0 0;text-align:center;font-size:14px;font-weight:700}
@media (max-width:1100px){.sims-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sims-grid,.tools .sims-grid,.sims-grid.is-3{grid-template-columns:minmax(0,1fr)}.sims-grid a{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:14px;row-gap:4px;padding:16px}.sims-ico{grid-row:span 4}.sims-tag{justify-self:start}.sims-grid b{font-size:15px}}
@media (prefers-reduced-motion:reduce){.sims-grid a,.sims-go svg{transition:none}.sims-grid a:hover{transform:none}}
.tool{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:22px clamp(18px,3vw,28px) 24px;margin-bottom:20px;scroll-margin-top:16px}
.tool h2{font-size:20px;margin-bottom:14px}
.tool-form{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:flex-end}
.tool-form [hidden]{display:none!important}
.tool-form .wide{flex-basis:100%}
.tool-form>label,.tool-form fieldset{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--sub);border:0;margin:0;padding:0;min-width:0}
.tool-form legend{padding:0;margin-bottom:4px}
.tool-form .u{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:14px;font-weight:400}
.tool-form input[type=number],.tool-form input[type=date],.tool-form input[type=text],.tool-form select{font:inherit;font-size:17px;width:7.5em;padding:8px 12px;border:1.5px solid #c9d8d3;border-radius:12px;color:var(--ink);background:#fff;font-variant-numeric:tabular-nums}
.tool-form select{width:auto;font-size:15px}
.tool-form input[type=date]{width:auto}
.tool-form .unit-in{width:4.5em!important}
.tool-form input:focus,.tool-form select:focus{border-color:var(--ai);outline:3px solid var(--ai-wash);outline-offset:0}
.seg{display:inline-flex;background:var(--wash);border-radius:999px;padding:4px;gap:2px}
.seg label{position:relative;font-size:15px;color:var(--ink);font-weight:500;padding:7px 16px;border-radius:999px;cursor:pointer;line-height:1.5}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg label:has(input:checked){background:var(--ai);color:#fff;font-weight:700}
.seg label:has(input:focus-visible){outline:3px solid var(--sun-deep);outline-offset:1px}
.tool-out{margin-top:18px;min-height:64px;background:var(--ai-wash);border-radius:16px;padding:14px 20px}
.tool-wait{margin:6px 0;color:var(--sub);font-size:14px}
.tool-res{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0}
.tool-res dt{font-size:13px;color:var(--sub)}
.tool-res dd{margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.tool-res b{font-family:var(--round);font-size:30px;font-weight:700;color:var(--ai-deep);font-variant-numeric:tabular-nums;line-height:1.3}
.tool-res span{font-size:14px;color:var(--sub)}
.tool-extra{margin:10px 0 0;font-size:13.5px;font-weight:700;color:var(--amber)}
.tool-note{font-size:13px;color:var(--sub);margin:12px 0 0;line-height:1.8}
.tool-disclaimer{font-size:13px;color:var(--sub);padding-top:4px}

/* フッター */
.site-footer{background:#1d4d45;color:#d6e8e2;font-size:13px;line-height:1.8;padding:36px 0 44px}
.site-footer a{color:#fff}
.site-footer .wrap{text-align:center}
.site-footer p{margin:0 auto 8px;max-width:46em}
.site-footer .copy{margin-top:18px;padding-top:14px;border-top:1px solid rgba(214,232,226,.25);color:#bcd6cf;letter-spacing:.04em}
.site-footer .copy small{font-size:12px}
.site-footer .fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;list-style:none;margin:0 0 16px;padding:0}

@media (max-width:960px){
  .hero-in{grid-template-columns:1fr}
  .hero-art{display:none}
}
@media (max-width:860px){
  .home-grid,.home-sub{grid-template-columns:1fr}
  .index-grid{grid-template-columns:1fr 1fr}
  .nav-toggle{display:block}
  .gnav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px;box-shadow:0 12px 24px rgba(35,50,58,.08)}
  .site-header.nav-open .gnav{display:block}
  .gnav ul{flex-direction:column;align-items:stretch}
  .gnav .gnav-cta{margin:8px 0 0}
  .gnav .gnav-cta a{display:flex;justify-content:center;padding:12px 18px;font-size:16px}
  .brand small{display:none}
  .tl>li{grid-template-columns:1fr;gap:8px}
  .news li{grid-template-columns:1fr;gap:0}
  .nlp th:nth-child(4),.nlp td:nth-child(4){display:none}
  .nlp th:nth-child(1){width:62%}.nlp th:nth-child(2){width:18%}.nlp th:nth-child(3){width:20%}
}
@media (max-width:560px){
  .sp{display:inline}
  .index-grid{grid-template-columns:1fr}
  .qs-input{font-size:17px;padding:14px 84px 14px 46px}
  .qs-field svg{left:16px;width:20px;height:20px}
  .qs-go{padding:0 16px;font-size:14px}
  .datainfo div{grid-template-columns:1fr;gap:0}
  .board-band-head .btn-pop{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---------- 中央寄せのレイアウト ---------- */
/* トップのヒーロー：文字と検索欄を中央に、イラストは右に添える */
.hero{position:relative;overflow:hidden}
.hero-in{display:block;position:relative;text-align:center}
.hero-main{max-width:760px;margin:0 auto}
.hero-lead{margin-left:auto;margin-right:auto}
.qs{margin:0 auto;text-align:left}
.quick{justify-content:center;margin-left:auto;margin-right:auto}
.hero-art{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:210px;pointer-events:none}
@media (max-width:1240px){.hero-art{display:none}}
/* トップの見出しも中央に */
.index .sec-h,.board-band{text-align:left}
.index>.sec-h{justify-content:center}

/* 下層ページ：見出しと本文を同じ幅で中央に */
.page-head .wrap,.page-body .wrap{max-width:1000px}
.pg-drugs .page-head .wrap,.pg-drugs .page-body .wrap{max-width:var(--wrap)}
.tools,.topic-list,.nlp,.links,.postlist,.prose{margin-left:auto;margin-right:auto}
.page-body .wrap>p{text-align:center}
/* 見出しと本文の左端をそろえる（本文を見出しと同じ幅に） */
.page-body .tools,.page-body .topic-list,.page-body .nlp,.page-body .links,.page-body .postlist{max-width:none}

/* ---------- 下層ページも中身を中央にまとめる ---------- */
.page-head .wrap,.page-body .wrap{max-width:900px}
.pg-keika .page-head .wrap,.pg-keika .page-body .wrap,.pg-new .page-head .wrap,.pg-new .page-body .wrap{max-width:1000px}
.page-head .wrap{flex-direction:column;text-align:center;gap:10px}
.page-head p{margin-left:auto;margin-right:auto}
.page-body .wrap>p{text-align:center}
/* 計算ツール */
.tools-toc{justify-content:center}
.tools-more h2,.tools-h{text-align:center}
.tool h2{text-align:center}
.tool-form{justify-content:center}
.tool-form .wide{display:flex;flex-direction:row;justify-content:center}
.tool-form .wide legend{display:none}
.tool-res{justify-content:center;text-align:center}
.tool-res dd{justify-content:center}
.tool-wait{text-align:center}
.tool-disclaimer{text-align:center}
@media (max-width:860px){.page-head .wrap{gap:8px}}
.tool-form input[type=number]{width:6em}

/* トップ：医薬品の供給状況 */
.sup-home{margin:clamp(28px,4vw,48px) 0 0}
.suph{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.suph-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.suph-stat{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:16px 18px 14px;border-radius:20px;text-decoration:none;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s}
.suph-stat.s-lim{background:linear-gradient(160deg,#fff6e3,#fdeccb);color:#a15c07;border-color:#f6dfae}
.suph-stat.s-stop{background:linear-gradient(160deg,#fff1ef,#fcdeda);color:#b42318;border-color:#f6cbc5}
.suph-stat:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(120,60,20,.35)}
.suph-stat:focus-visible{outline:3px solid var(--ai,#14806f);outline-offset:2px}
.suph-top{display:flex;align-items:center;gap:12px}
.suph-ill{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9)}
.suph-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.suph-lab{font-size:16px;font-weight:700}
.suph-txt small{font-size:12.5px;font-weight:500;opacity:.85}
.suph-num{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.suph-num b{font-size:36px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.suph-num b small{margin-left:4px;font-size:13px;font-weight:700}
.suph-go{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:700;padding:4px 6px 4px 10px;border-radius:999px;background:rgba(255,255,255,.7)}
.suph-stat:hover .suph-go svg{transform:translateX(2px)}.suph-go svg{transition:transform .15s}
.suph-share{grid-column:1/-1;padding:12px 16px;border-radius:16px;background:var(--wash,#f4f9f7)}
.suph-share-h{margin:0 0 8px;font-size:13.5px;color:var(--sub,#5b6b70)}
.suph-share-h b{color:var(--ink,#23323a);font-variant-numeric:tabular-nums}
.suph-bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#e7eeec;gap:2px}
.suph-bar i,.suph-legend i{display:block;height:100%}
.b-ok{background:#9fd6c5}.b-lim{background:#f2c46d}.b-stop{background:#ee8a7e}
.suph-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:12.5px;color:var(--sub,#5b6b70);font-variant-numeric:tabular-nums}
.suph-legend span{display:inline-flex;align-items:center;gap:6px}.suph-legend i{width:10px;height:10px;border-radius:3px}
.suph-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.suph-find{padding:16px 18px;border:1.5px solid var(--line,#dde8e4);border-radius:20px;background:#fff}
.suph-side.is-solo .suph-find{flex:1;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#fff,var(--wash,#f4f9f7))}
.suph-find-h{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:700;color:var(--ink,#23323a)}
.suph-find-h svg{color:var(--ai,#14806f)}
.suph-find-note{margin:4px 0 12px;font-size:13px;color:var(--sub,#5b6b70)}
.suph-find-row{display:flex;gap:8px}
.suph-find-row input{flex:1;min-width:0;font:inherit;font-size:15px;padding:10px 14px;border:1.5px solid #c9d8d3;border-radius:999px;background:#fff;color:var(--ink,#23323a)}
.suph-find-row input:focus{outline:0;border-color:var(--ai,#14806f);box-shadow:0 0 0 4px var(--ai-wash,#e4f4ef)}
.suph-find-row button{flex:none;font:inherit;font-size:14.5px;font-weight:700;padding:10px 18px;border:0;border-radius:999px;background:var(--ai,#14806f);color:#fff;cursor:pointer}
.suph-find-row button:hover{filter:brightness(1.08)}
.suph-h{margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--sub)}
.suph-recent ul{list-style:none;margin:0;padding:0}
.suph-recent li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.suph-recent li a{color:var(--ink);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suph-recent li a:hover{color:var(--ai,#14806f);text-decoration:underline}
.suph-ft{flex:none;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--sub)}
.suph-ft i{font-style:normal;font-weight:700;padding:2px 7px;border-radius:999px}
.m-ok{background:#e4f4ef;color:#14806f}.m-lim{background:#fdf1d8;color:#a15c07}.m-stop{background:#fde8e6;color:#b42318}
@media (max-width:900px){.suph{grid-template-columns:1fr}}
@media (max-width:760px){.suph-recent li{flex-direction:column;align-items:flex-start;gap:3px}}
@media (max-width:480px){.suph-stats{gap:8px}.suph-stat{padding:12px 12px 10px;gap:10px}.suph-top{flex-direction:column;align-items:flex-start;gap:8px}.suph-ill{width:46px;height:46px;border-radius:13px}.suph-ill svg{width:36px;height:36px}.suph-num b{font-size:28px}.suph-go{font-size:0;padding:4px}.suph-go svg{width:18px;height:18px}}
@media (prefers-reduced-motion:reduce){.suph-stat,.suph-go svg{transition:none}.suph-stat:hover{transform:none}}

/* 業界・資格（製薬会社・卸・機器・認定資格） */
.dr{--dr-a:#14806f;font-size:15px}
.dr-bar{background:var(--paper,#fff);padding:12px 0 8px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.admin-bar .dr-bar{top:32px}
.dr-q{position:relative;display:flex;align-items:center}
.dr-q svg{position:absolute;left:15px;color:var(--dr-a);pointer-events:none}
.dr-q input{width:100%;font:inherit;font-size:16px;padding:11px 16px 11px 44px;border:1.5px solid #c9d8d3;border-radius:999px;min-height:48px;background:#fff;color:var(--ink)}
.dr-q input:focus{outline:0;border-color:var(--dr-a);box-shadow:0 0 0 4px #e4f4ef}
.dr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.dr-chips button,.dr-goals button{font:inherit;font-size:13.5px;font-weight:700;padding:6px 13px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--sub);cursor:pointer}
.dr-chips button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.dr-hit{margin:9px 2px 0;font-size:13.5px;font-weight:700;color:var(--sub)}
.dr-lead{margin:6px 0 16px;font-size:14px;color:var(--sub)}
.dr-goals{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#e4f4ef,#e0f1f7);margin-bottom:6px}
.dr-goals span{font-size:13.5px;font-weight:700;color:var(--ink);margin-right:2px}
.dr-goals button{border-color:transparent;background:#fff;color:#0f6b5d}
.dr-goals button[aria-pressed=true]{background:#0f6b5d;color:#fff}
.dr-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.dr-certs{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
.dr-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1.5px solid var(--line);border-radius:18px;background:#fff;transition:box-shadow .15s,border-color .15s}
.dr-card:hover{border-color:#c9e3da;box-shadow:0 8px 22px rgba(20,60,50,.07)}
.dr-card[hidden]{display:none}
.dr-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.dr-name{margin:0;font-weight:700;font-size:16.5px;line-height:1.45}
.dr-pill{flex:none;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.p-a{background:#e4f4ef;color:#0f6b5d}.p-b{background:#e0f1f7;color:#1b6f8c}.p-c{background:#fdf1d8;color:#a15c07}.p-d{background:#f3e8fb;color:#7a3e9d}.p-e{background:#fde8e6;color:#b42318}
.p-l1{background:#eef2f3;color:#4a5a5f}.p-l2{background:#e4f4ef;color:#0f6b5d}.p-l3{background:#23323a;color:#fff}
.dr-sub{margin:0;font-size:13.5px;color:var(--sub)}
.dr-who{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--wash);color:var(--ink)}
.dr-prods{margin:4px 0 0;padding-left:1.1em;font-size:14px;line-height:1.7}
.dr-dl{margin:6px 0 0;display:grid;grid-template-columns:5.5em 1fr;gap:6px 10px;font-size:14px;line-height:1.65}
.dr-dl dt{color:var(--sub);font-size:13px;font-weight:700;padding-top:1px}
.dr-dl dd{margin:0}
.dr-dl dd.is-hot{background:#fff8e6;border-radius:8px;padding:2px 8px;margin-left:-8px}
.dr-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}
.dr-btn{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:999px;border:1.5px solid var(--dr-a);color:var(--dr-a);text-decoration:none;background:#fff}
.dr-btn:hover{background:#e4f4ef}
.dr-btn.is-main{background:var(--dr-a);color:#fff}
.dr-btn.is-main:hover{background:#0f6b5d}
.dr-btn.is-ghost{border-color:var(--line);color:var(--sub)}
.dr-btn.is-tel{border-color:#c9d8d3;color:var(--ink);font-variant-numeric:tabular-nums}
.dr-ext{font-size:12px;opacity:.8}
.dr-empty{text-align:center;color:var(--sub);padding:30px 0}
.dr-foot{margin-top:26px;font-size:13px;color:var(--sub);line-height:1.75;padding:12px 16px;border-radius:12px;background:var(--wash)}
.dr-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dr-hubcard{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:22px;border:1.5px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.dr-hubcard:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,60,50,.09)}
.dr-hubico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e4f4ef;color:#0f6b5d}
.dr-hubt{font-size:19px;font-weight:700;display:flex;align-items:baseline;gap:10px}
.dr-hubt small{font-size:13px;color:var(--sub);font-weight:700}
.dr-hubd{font-size:14px;color:var(--sub);line-height:1.7}
.dr-hubgo{margin-top:auto;font-weight:700;color:#0f6b5d;font-size:14px}
@media (max-width:860px){.dr-hub{grid-template-columns:1fr}.dr-certs,.dr-grid{grid-template-columns:1fr}.dr-bar{position:static}}
.dr-glabel{font-size:12.5px;font-weight:700;color:var(--sub);min-width:4.5em;align-self:center}
.pg-industry .page-head .wrap,.pg-industry .page-body .wrap,.pg-makers .page-head .wrap,.pg-makers .page-body .wrap,.pg-suppliers .page-head .wrap,.pg-suppliers .page-body .wrap,.pg-certification .page-head .wrap,.pg-certification .page-body .wrap{max-width:var(--wrap)}
/* ナビ：項目が増えても折り返さない。幅が足りないときはメニューボタンにまとめる */
.gnav a{white-space:nowrap}
@media (max-width:1400px){.brand small{display:none}.gnav a{padding:8px 10px;font-size:14px}}
@media (max-width:1180px){
  .nav-toggle{display:block}
  .gnav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--line);padding:8px var(--gutter) 16px;box-shadow:0 12px 24px rgba(35,50,58,.08);z-index:20}
  .site-header.nav-open .gnav{display:block}
  .gnav ul{flex-direction:column;align-items:stretch}
  .gnav a{padding:10px 13px;font-size:15px}
  .gnav .gnav-cta{margin:8px 0 0}
  .gnav .gnav-cta a{display:flex;justify-content:center;padding:12px 18px;font-size:16px}
}
.dr-upd{margin:8px 0 0;padding:8px 12px;border-radius:10px;background:#fff1f0;color:#8a1c12;font-size:13px;line-height:1.6}
.dr-upd b{display:block;font-size:13.5px}
.dr-updnote{margin:4px 0 14px;padding:10px 14px;border-radius:12px;background:#fff1f0;color:#8a1c12;font-size:14px}

/* 開局ガイド：流れ（図とチェックリスト） */
.of-gantt{border:1.5px solid var(--line);border-radius:20px;padding:18px 18px 14px;background:#fff;margin-bottom:28px;overflow-x:auto}
.of-gh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px}
.of-gh h2{font-size:18px;margin:0}
.of-legend{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--sub)}
.of-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px}
.of-grid{position:relative;display:grid;grid-template-columns:230px repeat(15,minmax(34px,1fr));min-width:760px;row-gap:5px}
.of-row{display:contents}
.of-months span{font-size:11px;color:var(--sub);text-align:center;padding-bottom:4px;border-bottom:1px solid var(--line);white-space:nowrap}
.of-months span.is-open{color:#fff;background:#23323a;border-radius:6px 6px 0 0;font-weight:700}
.of-label{grid-column:1;font-size:13px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:7px;padding:3px 6px 3px 0;line-height:1.3}
.of-label b{flex:none;width:20px;height:20px;border-radius:50%;background:var(--wash);display:grid;place-items:center;font-size:11px}
.of-label:hover{color:var(--ai)}
.of-bar{height:16px;align-self:center;border-radius:999px;background:var(--c);opacity:.85;grid-row:auto}
.of-bar.is-dot{width:16px;justify-self:center;border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--c)}
.of-today{grid-row:1 / -1;justify-self:center;width:2px;background:repeating-linear-gradient(#23323a 0 4px,transparent 4px 8px);opacity:.35;pointer-events:none}
.of-note{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:#fff8e6;font-size:14px;line-height:1.7}
.of-steps{list-style:none;margin:0;padding:0;position:relative}
.of-steps::before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:var(--line)}
.of-step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;margin-bottom:16px;scroll-margin-top:90px}
.of-num{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:#fff;border:2.5px solid var(--c);color:var(--c);display:grid;place-items:center;font-weight:700;font-size:16px}
.of-step.is-done .of-num{background:var(--c);color:#fff}
.of-body{border:1.5px solid var(--line);border-radius:18px;padding:14px 18px;background:#fff}
.of-step.is-done .of-body{background:var(--wash)}
.of-when{margin:0;font-size:13px;color:var(--sub);display:flex;align-items:center;gap:8px}
.of-kind{font-size:11.5px;font-weight:700;color:#fff;background:var(--c);padding:2px 8px;border-radius:999px}
.of-body h3{margin:4px 0 8px;font-size:17px}
.of-checks{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.of-checks label{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.6;cursor:pointer}
.of-checks input{margin-top:5px;flex:none;width:16px;height:16px;accent-color:var(--c)}
.of-checks input:checked+span{color:var(--sub);text-decoration:line-through}
.of-link{display:inline-block;margin-top:8px;font-weight:700;font-size:14px}
.of-progress{text-align:center;font-weight:700;color:var(--sub)}

/* 開局ガイド：収益シミュレーション */
.os-lead{font-size:14.5px;color:var(--sub);margin:0 0 16px;line-height:1.8}
.os-reset{font:inherit;font-size:13px;font-weight:700;margin-left:8px;padding:3px 12px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--sub);cursor:pointer}
.os-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.os-form fieldset{border:1.5px solid var(--line);border-radius:18px;margin:0 0 14px;padding:12px 16px 14px;background:#fff}
.os-form legend{font-weight:700;font-size:15px;padding:0 6px}
.os-f{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.os-f:last-of-type{border-bottom:0}
.os-f>span:first-child{display:flex;flex-direction:column;line-height:1.45}
.os-f small{font-size:12px;color:var(--sub)}
.os-in{display:flex;align-items:center;gap:6px;flex:none}
.os-in input{width:96px;font:inherit;font-size:15px;text-align:right;padding:6px 8px;border:1.5px solid #c9d8d3;border-radius:10px;font-variant-numeric:tabular-nums}
.os-in em{font-style:normal;font-size:12.5px;color:var(--sub);min-width:3.6em}
.os-f select{font:inherit;font-size:14px;padding:6px 8px;border:1.5px solid #c9d8d3;border-radius:10px;max-width:220px}
.os-in input:focus,.os-f select:focus{outline:0;border-color:var(--ai);box-shadow:0 0 0 3px var(--ai-wash)}
.os-hint{font-size:12.5px;color:var(--sub);margin:8px 0 0}
.os-out{position:sticky;top:16px}
.os-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.os-kpi{border-radius:16px;padding:12px 14px;background:var(--wash)}
.os-kpi span{display:block;font-size:12.5px;color:var(--sub);font-weight:700}
.os-kpi b{font-size:22px;font-variant-numeric:tabular-nums}
.os-kpi b.is-neg{color:#b42318}
.os-chart{margin-top:12px;border:1.5px solid var(--line);border-radius:18px;padding:12px 12px 8px;background:#fff}
.os-ch{margin:0 0 4px;font-weight:700;font-size:14px}
#o_chart{width:100%;height:auto;display:block}
#o_chart .g{stroke:#e6eeeb;stroke-width:1}#o_chart .g.z{stroke:#9aaeb3}
#o_chart .ty{font-size:11px;fill:#66767b;text-anchor:end}#o_chart .ty.u{text-anchor:start}
#o_chart .tx{font-size:11px;fill:#66767b;text-anchor:middle}
#o_chart .bp{fill:#9fd6c5}#o_chart .bn{fill:#f3b4ad}
#o_chart .ln{fill:none;stroke:#1b6f8c;stroke-width:2.5;stroke-linejoin:round}
.os-legend{margin:4px 0 0;font-size:12.5px;color:var(--sub);display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center}
.os-legend i{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:4px}
.l-cash{background:#1b6f8c;height:3px!important}.l-pro{background:#9fd6c5}
.os-notes{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.os-notes li{font-size:14px;line-height:1.65;padding:8px 12px;border-radius:12px}
.n-ok{background:#e4f4ef}.n-warn{background:#fff1f0;color:#8a1c12}.n-info{background:#f4f7f8;color:var(--sub)}
.os-break{margin-top:10px}.os-break summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--ai)}
.os-tbl{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px}
.os-tbl th{text-align:left;font-weight:500;color:var(--sub);padding:5px 0;border-bottom:1px solid var(--line)}
.os-tbl td{text-align:right;padding:5px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.os-tbl tr.t th,.os-tbl tr.t td{font-weight:700;color:var(--ink)}
.pg-open .page-head .wrap,.pg-open .page-body .wrap,.pg-simulator .page-head .wrap,.pg-simulator .page-body .wrap{max-width:var(--wrap)}
@media (max-width:960px){.os-layout{grid-template-columns:1fr}.os-out{position:static;order:-1}.os-in input{width:84px}}
@media (max-width:600px){.of-step{grid-template-columns:34px 1fr;gap:10px}.of-num{width:34px;height:34px;font-size:14px}.of-steps::before{left:16px}.os-f{flex-direction:column;align-items:stretch}.os-in{justify-content:flex-end}}
