/* ./css/seminar.css  — seminar tables modernize */
:root{
  --bg:#ffffff; --ink:#1f2937; --muted:#6b7280; --line:#e5e7eb; --head:#f8fafc; --hover:#f5faff; --accent:#2563eb;
}
/* html,body{background:var(--bg); color:var(--ink); font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI",
  Roboto, "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;} */
/* 見出しの余白とアンカー位置 */
h2{display:flex; align-items:center; gap:.5rem; margin:1.5rem 0 .75rem;}
h2.anchor{scroll-margin-top:96px;}
h2 .badge{font-size:.75rem; color:#fff; background:var(--accent); border-radius:999px; padding:.15rem .5rem;}
/* テーブルをカード風に */
.table-wrap{overflow:auto; border:1px solid var(--line); border-radius:12px; background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);}
figure{margin:0 0 1.25rem 0;}
table{border-collapse:separate; border-spacing:0; width:100%; min-width:680px;}
caption{caption-side:top; text-align:left; font-weight:700; padding:.6rem .8rem;}
thead th{position:sticky; top:0; background:var(--head); text-align:left; font-weight:600;
  padding:.60rem .80rem; border-bottom:1px solid var(--line);}
tbody td{padding:.55rem .80rem; vertical-align:top; border-top:1px solid var(--line);}
tbody tr:nth-child(even){background:#fcfcfd;}
tbody tr:hover{background:var(--hover);}
td:first-child{white-space:nowrap; font-variant-numeric:tabular-nums; color:#111827;}
td:nth-child(2){width:24%;}
td:nth-child(3){width:60%;}
/* 近日開催行の強調（JSが .upcoming を付与） */
tr.upcoming{outline:2px solid var(--accent); outline-offset:-2px; background:#eef4ff;}
/* スマホ調整（横スクロールを前提に字間だけ最適化） */
@media (max-width:640px){
  thead th, tbody td{padding:.55rem .7rem;}
}
