/* =========================================================
   /viewschoolcount/viewschoolcount.css
   掲載学校数ページ専用（.ksc の中だけに効く）
   土台：/ks-newchassis/top/ks-top-2026.css
   ========================================================= */

.ksc, .ksc * { box-sizing: border-box; }
.ksc { color: #2b3440; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif; font-size: 15px; line-height: 1.9; }
.ksc p { margin: 0; }
.ksc a { color: #1e5aa8; text-decoration: none; }
.ksc a:hover { text-decoration: underline; }

/* パンくず */
.ksc-crumb { font-size: 12px; color: #6b7480; margin: 0 0 14px; }
.ksc-crumb a { color: #6b7480; }
.ksc-crumb span { margin: 0 6px; }

/* 見出し */
.ksc-title { margin: 0 0 18px; padding: 0 0 0 14px; border-left: 5px solid #d3381c; font-size: 24px; font-weight: 700; line-height: 1.45; color: #0f1a2a; }

/* 日付 */
.ksc-stamp { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0 0 10px !important; font-size: 13px; color: #4a5562; }
.ksc-stamp-dot { width: 8px; height: 8px; border-radius: 50%; background: #2ba84a; box-shadow: 0 0 0 3px rgba(43,168,74,.18); }

/* 表 */
.ksc-table-wrap { border: 1px solid #e3e8ee; border-radius: 10px; overflow: hidden; background: #fff; }
.ksc-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ksc-table thead th { padding: 12px 16px; background: #1f3a5f; color: #fff; font-weight: 700; font-size: 14px; text-align: right; line-height: 1.5; }
.ksc-table thead th:first-child { text-align: left; }
.ksc-table tbody th, .ksc-table tbody td { padding: 13px 16px; border-top: 1px solid #eef1f5; }
.ksc-table tbody tr:first-child th, .ksc-table tbody tr:first-child td { border-top: 0; }
.ksc-table tbody tr:nth-child(even) { background: #f8fafc; }
.ksc-table tbody tr:hover { background: #eef5fc; }
.ksc-table tbody th { text-align: left; font-weight: 700; }
.ksc-table tbody th a { display: inline-flex; align-items: center; gap: 8px; color: #1e5aa8; }
.ksc-arrow { color: #d3381c; font-weight: 700; }
.ksc-table td { text-align: right; font-variant-numeric: tabular-nums; font-size: 17px; font-weight: 700; color: #0f1a2a; white-space: nowrap; }
.ksc-table td:last-child { color: #4a5562; font-weight: 500; }
.ksc-table tfoot th, .ksc-table tfoot td { padding: 15px 16px; background: #fdf1ee; border-top: 2px solid #d3381c; }
.ksc-table tfoot th { text-align: left; font-weight: 700; color: #0f1a2a; }
.ksc-table tfoot td { font-size: 20px; color: #d3381c; }
.ksc-table tfoot td:last-child { color: #b83a22; font-weight: 700; }
.ksc-sp { display: none; }

/* 説明 */
.ksc-about { margin-top: 40px; padding: 22px 24px; background: #f3f8fd; border-radius: 10px; }
.ksc-about-h { margin: 0 0 12px; font-size: 17px; font-weight: 700; color: #0f1a2a; }
.ksc-about p { font-size: 14px; line-height: 2; color: #3a4552; }
.ksc-about p + p { margin-top: 10px; }

/* データが読めなかったとき */
.ksc-error { padding: 16px 20px; border: 1px solid #f0c9c0; border-radius: 8px; background: #fdf1ee; color: #8a2d18; }

/* ----- トップへ戻る（路線図ページ rosenguide.html と同じ指定） ----- */
.rm-back { margin:32px 0 40px; text-align:center; }
.rm-back a, .rm-back a:link, .rm-back a:visited { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:6px 24px; border-radius:4px; background:#d3381c; color:#fff; font-size:14px; line-height:1.4; text-decoration:none; }
.rm-back a:hover, .rm-back a:focus-visible { background:#b82f17; color:#fff; }
.rm-back a span { font-size:11px; }
/* PC：左の領域の下（rm-back--pc）／スマホ：ページ最後（rm-back--sp） */
.rm-back--sp { display:none; }

/* スマホ */
@media (max-width: 667px) {
  .ksc { font-size: 14px; }
  .ksc-title { font-size: 20px; }
  .ksc-table thead th { padding: 10px 10px; font-size: 12px; }
  .ksc-table tbody th, .ksc-table tbody td { padding: 12px 10px; }
  .ksc-table td { font-size: 15px; }
  .ksc-table tfoot th, .ksc-table tfoot td { padding: 13px 10px; }
  .ksc-table tfoot td { font-size: 17px; }
  .ksc-sp { display: inline; }
  .ksc-about { margin-top: 32px; padding: 18px 16px; }
  .ksc-about p { font-size: 13.5px; line-height: 1.9; }
  .rm-back { margin:4px 3vw 28px; }
  .rm-back a, .rm-back a:link, .rm-back a:visited { width:100%; justify-content:center; box-sizing:border-box; font-size:13px; }
  .rm-back--pc { display:none; }
  .rm-back--sp { display:block; margin:8px 3vw 32px; }
}
