:root{
  --bg:#fafaf7; --ink:#1a1a1a; --sub:#6b6b6b; --line:#e0ddd6;
  --card:#ffffff; --card-alt:#f4f1ea;
  --gold:#c8a870;
  --c-deliver:#2f6f8f;
  --c-create:#a05a2c;
  --c-event:#6a7a3a;
  --c-marketing:#7a4a8a;
  --c-todo:#6b6b6b;
  --c-doing:#d9a13a;
  --c-done:#4a7a5a;
  --font-sans:"Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;
  --font-serif:"Cormorant Garamond","Yu Mincho",serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:13px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--ink)}
a:hover{color:var(--gold)}

/* グローバルナビ */
.gnav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);padding:0 24px;display:flex;align-items:center;gap:0;height:48px;max-width:none}
.gnav .brand{font-family:var(--font-serif);font-size:18px;font-weight:500;letter-spacing:.04em;margin-right:24px}
.gnav .brand small{font-family:var(--font-sans);font-size:10px;color:var(--sub);font-weight:400;letter-spacing:.06em;margin-left:6px}
.gnav a.nav{display:inline-flex;align-items:center;height:48px;padding:0 16px;color:var(--sub);text-decoration:none;font-size:13px;border-bottom:2px solid transparent;position:relative;top:1px}
.gnav a.nav:hover{color:var(--ink)}
.gnav a.nav.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.gnav .right{margin-left:auto;color:var(--sub);font-size:11px}

/* 共通レイアウト */
.page{max-width:1400px;margin:0 auto;padding:28px 24px 60px}
.page h1{font-family:var(--font-serif);font-weight:500;font-size:30px;margin:0 0 4px;letter-spacing:.02em}
.page .sub{color:var(--sub);font-size:13px;margin-bottom:24px}
.page h2{font-family:var(--font-serif);font-weight:500;font-size:20px;letter-spacing:.02em;margin:28px 0 12px}
.page h3{font-size:14px;font-weight:600;margin:18px 0 8px}

/* カード */
.card{background:var(--card);border:1px solid var(--line);padding:18px 20px;margin-bottom:12px}
.card.alt{background:var(--card-alt)}

/* バッジ・ドット */
.badge{display:inline-block;padding:2px 8px;font-size:11px;letter-spacing:.04em;border:1px solid var(--line);background:#fff;color:var(--sub)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot.deliver{background:var(--c-deliver)} .dot.create{background:var(--c-create)} .dot.event{background:var(--c-event)} .dot.marketing{background:var(--c-marketing)}

/* グリッド */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr} }

/* テーブル */
table.tb{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
table.tb th, table.tb td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12.5px}
table.tb th{background:var(--card-alt);font-weight:600;color:var(--sub);font-size:11px;letter-spacing:.04em}
table.tb tr:last-child td{border-bottom:0}
table.tb td.num{font-variant-numeric:tabular-nums;color:var(--sub);white-space:nowrap}

/* リスト */
ul.bare{list-style:none;padding:0;margin:0}
ul.bare li{padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}
ul.bare li:last-child{border-bottom:0}

/* ステータスチップ */
.chip{display:inline-block;padding:1px 8px;font-size:10.5px;letter-spacing:.04em;border:1px solid var(--line);color:var(--sub);background:#fff}
.chip.todo{color:var(--c-todo)}
.chip.doing{color:var(--c-doing);border-color:#e6c890}
.chip.done{color:var(--c-done);border-color:#bcd2bc}

/* アコーディオン */
details.acc{background:#fff;border:1px solid var(--line);margin-bottom:8px;padding:0}
details.acc>summary{padding:12px 16px;cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;align-items:center;gap:10px}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::before{content:"▸";color:var(--sub);font-size:11px;transition:transform .15s}
details.acc[open]>summary::before{content:"▾"}
details.acc .body{padding:0 16px 14px}

/* フォーカス可視 */
button:focus-visible, a:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

footer.gfoot{max-width:1400px;margin:0 auto;padding:14px 24px 40px;color:var(--sub);font-size:11.5px;border-top:1px solid var(--line);margin-top:40px}
