.jumpnav a.active{background:var(--accent);color:#fff}
.jumpnav{background:var(--surface);border-bottom:1px solid var(--border);top:59px}
.jumpnav-in{max-width:960px;margin:0 auto;display:flex;gap:0;padding:0}
.jumpnav a{flex:1;text-align:center;white-space:nowrap;padding:14px 4px;border-radius:0;font-size:13.5px;font-weight:700;color:var(--ink);background:var(--surface);border-right:1px solid var(--border)}
.jumpnav a:first-child{border-left:1px solid var(--border)}
.jumpnav a:hover{background:var(--accent-soft);color:var(--accent-ink)}
@media(max-width:640px){.jumpnav-in{overflow-x:auto;scrollbar-width:none}.jumpnav-in::-webkit-scrollbar{display:none}.jumpnav a{flex:1 0 auto;padding:13px 13px}}
/* グローバルナビ(9タブ)はスマホで横スクロールせず3段(3×3)に */
@media(max-width:640px){
  nav.jumpnav.gnav .jumpnav-in{overflow-x:visible;flex-wrap:wrap}
  nav.jumpnav.gnav .jumpnav-in a{flex:0 0 33.3334%;box-sizing:border-box;padding:11px 2px;font-size:11.5px;border-bottom:1px solid var(--border)}
  nav.jumpnav.gnav .jumpnav-in a:nth-child(3n+1){border-left:1px solid var(--border)}
}
@media(max-width:380px){nav.jumpnav.gnav .jumpnav-in a{font-size:11px;padding:11px 1px}}
.setsu-tbl{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:14px}
.setsu-tbl th{text-align:left;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;padding:8px 10px;border-bottom:2px solid var(--border);white-space:nowrap}
.setsu-tbl td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.5}
.setsu-tbl td.nowrap{white-space:nowrap}
.setsu-tbl tr:last-child td{border-bottom:none}
.setsu-tbl .cap{color:var(--muted);font-size:12.5px;display:inline-block;margin-top:2px}
.setsu-arch{margin-top:14px}
.setsu-arch summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);padding:9px 12px;background:var(--surface-2);border-radius:10px}
.setsu-arch summary:hover{color:var(--accent-ink)}
.setsu-arch .setsu-tbl{opacity:.6;margin-top:8px}

table.rk{width:100%;border-collapse:collapse;font-size:14px}
table.rk th{background:var(--surface-2);color:var(--muted);font-size:11px;text-align:left;padding:9px 10px}
table.rk td{padding:10px;border-top:1px solid var(--border)}
table.rk td.r{font-weight:800;color:var(--accent-deep);width:64px}
table.rk td.v{font-weight:800;text-align:right;width:72px}
/* 偏差値の数字から各校の入試タブへ（2026-10-02）。入試タブ300本は自校のページからしか辿れなかった。色は変えず、点線の下線だけ付ける */
table.rk a.rk-ny{color:inherit;text-decoration:none;border-bottom:1px dotted var(--faint)}
table.rk a.rk-ny:hover{border-bottom-style:solid}
table.rk td.ku{color:var(--muted);width:90px;white-space:nowrap}
table.rk td.stc{width:64px}
.rk-st{display:inline-block;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:800;white-space:nowrap}
.rk-st.st-toritsu{background:#dce9f7;color:#12324f}
.rk-st.st-kuritsu{background:#d8f0ec;color:#0f3d36}
.rk-st.st-kokuritsu{background:#f3e8d0;color:#5a4413}
.rk-st.st-shiritsu{background:#e6e0f5;color:#3a2e66}
.rk-st.g-kyogaku{background:#ddf0dd;color:#1e4d26}
.rk-st.g-danshi{background:#d4eef7;color:#0d4a5c}
.rk-st.g-joshi{background:#fbe3ea;color:#7a2440}
/* スマホ（2026-09-21）：区・設置・男女・偏差値の列が固定幅で、375pxでは学校名の列が34pxまで潰れ
   「お茶の水女子大学附属」が1文字ずつ縦に並んでいた。固定幅を外し、学校名の列に最低幅を持たせる */
@media (max-width:600px){
  table.rk{font-size:13px}
  table.rk th,table.rk td{padding:8px 5px}
  table.rk td.ku,table.rk td.stc,table.rk td.v,table.rk td.r{width:auto}
  table.rk td.ku{font-size:12px}
  table.rk td a[href$="/"]{display:inline-block;min-width:6.5em;word-break:keep-all;overflow-wrap:anywhere}
  .rk-st{padding:3px 6px;font-size:10.5px}
}
.cat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cat-card{display:block;border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--surface);text-decoration:none;color:var(--ink)}
.cat-card:hover{border-color:var(--accent);background:var(--accent-soft)}
.cat-card .cc-t{font-weight:800;font-size:15px;margin-bottom:5px;color:var(--accent-ink)}
.cat-card .cc-d{font-size:12px;color:var(--muted);line-height:1.6}
.cat-card .cc-n{font-size:11px;font-weight:700;color:var(--faint);margin-top:7px}
.chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.chip-grid a{display:inline-flex;align-items:baseline;gap:6px;border:1px solid var(--border-2);border-radius:100px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--accent-ink);text-decoration:none;background:var(--surface)}
.chip-grid a:hover{border-color:var(--accent);background:var(--accent-soft)}
.chip-grid a small{color:var(--faint);font-weight:700}
@media(max-width:680px){.cat-cards{grid-template-columns:1fr}}
