/* Jクラブ セレクション情報（src/lib/selectionList.mjs が出すHTML）。配色は news-list.css に合わせる */
.jsel-meta p { margin: 0 0 12px; font-size: 13px; color: #6b7a89; }
.jsel-league { display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 3px; background: #172330; color: #fff; font-size: 12px; font-weight: 700; }
.jsel-note { font-size: 12px; color: #6b7a89; }
.jsel-empty { padding: 14px 16px; background: #f4f7fa; border-radius: 6px; font-size: 14px; }
.jsel-st { display: inline-block; min-width: 4.5em; padding: 2px 8px; border: 1px solid #cfd7e0; border-radius: 3px; background: #fff; color: #6b7a89; font-size: 11px; font-weight: 700; line-height: 1.4; text-align: center; white-space: nowrap; }
.jsel-st-open { background: #ff7702; border-color: #ff7702; color: #fff; }
.jsel-st-soon, .jsel-st-open-unknown { background: #fff; border-color: #ff7702; color: #e06400; }
.jsel-st-unknown { border-color: #b9c3cf; color: #33414f; }
.jsel-st-closed, .jsel-st-end { background: #eef2f6; border-color: #eef2f6; color: #6b7a89; }
.jsel-cat { margin-left: 8px; font-size: 12px; font-weight: 700; color: #33414f; }
.jsel-sub { display: block; font-size: 11px; color: #6b7a89; line-height: 1.5; }
.jsel-na { color: #6b7a89; font-size: 12px; }
/* 子ページのカード */
.jsel-cards { display: grid; gap: 14px; margin-bottom: 24px; }
.jsel-card { border: 1px solid #e3e8ee; border-radius: 8px; padding: 14px 16px; background: #fff; scroll-margin-top: 80px; }
.jsel-card:target { border-color: #ff7702; box-shadow: 0 0 0 2px rgba(255,119,2,.25); }
.jsel-card.is-past { background: #f7f9fb; color: #6b7a89; }
.jsel-card-head { margin: 0 0 6px !important; }
.jsel-card-title { margin: 0 0 10px !important; font-weight: 700; font-size: 15px; line-height: 1.6; color: #172330; }
.jsel-card.is-past .jsel-card-title { color: #6b7a89; }
.jsel-detail, .jsel-sched { width: 100%; border-collapse: collapse; font-size: 13px; margin: 0 0 8px !important; }
.jsel-detail th, .jsel-detail td, .jsel-sched th, .jsel-sched td { border: 1px solid #e3e8ee; padding: 6px 8px; text-align: left; vertical-align: top; line-height: 1.6; }
.jsel-detail th { width: 25%; background: #f4f7fa; font-weight: 700; white-space: nowrap; }
.jsel-sched th { background: #f4f7fa; white-space: nowrap; }
.jsel-sched-t { margin: 8px 0 4px !important; font-size: 13px; font-weight: 700; }
.jsel-src { margin: 0 !important; font-size: 13px; }
.jsel-src span { color: #6b7a89; font-size: 12px; }
/* 親ページ：クラブ一覧の件数 */
.jsel-count { display: inline-block; margin-left: 3px; padding: 0 6px; border-radius: 999px; background: #ff7702; color: #fff; font-size: 10px; font-weight: 700; line-height: 1.6; vertical-align: 1px; }
/* 親ページ：一覧表 */
.jsel-filter { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin: 0 0 10px; padding: 12px; background: #f4f7fa; border-radius: 8px; }
.jsel-filter label { display: flex; flex-direction: column; gap: 3px; font-size: 12px; font-weight: 700; color: #33414f; }
.jsel-filter select, .jsel-filter input[type=search] { height: 34px; padding: 0 8px; border: 1px solid #cfd7e0; border-radius: 4px; background: #fff; font-size: 14px; }
.jsel-filter .jsel-q { flex: 1 1 100%; }
.jsel-filter .jsel-q input { width: 100%; box-sizing: border-box; }
.jsel-filter .jsel-chk { flex-direction: row; align-items: center; gap: 6px; height: 34px; }
.jsel-count-line { font-size: 13px; color: #33414f; margin: 0 0 6px !important; }
.jsel-scroll { overflow-x: auto; }
.jsel-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.jsel-table th { background: #172330; color: #fff; padding: 8px; text-align: left; white-space: nowrap; font-size: 12px; }
.jsel-table td { border-bottom: 1px solid #e3e8ee; padding: 8px; vertical-align: top; line-height: 1.6; }
.jsel-table tr.is-past td { background: #f7f9fb; color: #6b7a89; }
.jsel-table td:first-child { white-space: nowrap; }
@media (max-width: 768px) {
  .jsel-table thead { display: none; }
  .jsel-table, .jsel-table tbody, .jsel-table tr, .jsel-table td { display: block; width: auto; }
  .jsel-table tr { border: 1px solid #e3e8ee; border-radius: 8px; margin-bottom: 10px; padding: 8px 10px; }
  .jsel-table td { border: 0; padding: 3px 0; display: flex; gap: 8px; }
  .jsel-table td::before { content: attr(data-l); flex: 0 0 5em; font-size: 11px; font-weight: 700; color: #6b7a89; }
  .jsel-table td > * { min-width: 0; }
  .jsel-detail th { width: 30%; white-space: normal; }
}
.jsel-table td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
.jsel-table td[data-l="状況"], .jsel-table td[data-l="申込締切"], .jsel-table td[data-l="開催日"] { white-space: nowrap; }
.jsel-table td[data-l="クラブ"] { min-width: 6em; }
.jsel-table td[data-l="区分"] { min-width: 5em; }
@media (max-width: 768px) {
  .jsel-table td[data-l] { white-space: normal; }
  .jsel-table td > div { flex: 1; }
}
@media (min-width: 769px) { .jsel-table { font-size: 12px; } .jsel-table td, .jsel-table th { padding: 8px 6px; } }
.jsel-dl { display: inline-block; margin-right: 4px; padding: 0 4px; border-radius: 2px; background: #eef2f6; color: #6b7a89; font-size: 10px; font-weight: 700; }
.jsel-table td[data-l="日程"] { white-space: nowrap; }
.jsel-caution { margin: 0 0 14px !important; padding: 10px 12px; border-left: 4px solid #ef5350; background: #ffebee; font-size: 13px; line-height: 1.7; }
.jsel-card[hidden], .jsel-table tr[hidden] { display: none !important; }
.jsel-index th { white-space: nowrap; width: 4.5em; text-align: center; }
.jsel-prog { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 3px; font-size: 11px; font-weight: 700; line-height: 1.6; vertical-align: 1px; }
.jsel-sub .jsel-prog:first-child { margin-left: 0; }
.jsel-prog-academy { background: #172330; color: #fff; }
.jsel-prog-school { background: #e3f2fd; color: #1565c0; }
.jsel-prog-other { background: #eef2f6; color: #33414f; }
.jsel-school { margin: 0 0 8px !important; font-size: 12px; color: #1565c0; }
@media (max-width: 768px) {
  /* スマホはカード表示なので横スクロールさせない */
  .jsel-scroll:has(.jsel-table) { overflow-x: visible; }
  .jsel-table, .jsel-table tbody { width: 100% !important; max-width: 100%; box-sizing: border-box; }
  .jsel-table tr { box-sizing: border-box; max-width: 100%; }
  .jsel-table td { overflow-wrap: anywhere; word-break: break-word; box-sizing: border-box; max-width: 100%; }
  .jsel-table td[data-l="日程"] { white-space: normal; }
}
.jsel-table { border: 0 !important; }
.jsel-st-ongoing { background: #fff; border-color: #2e7d32; color: #2e7d32; }
/* 日程の列：日付は途中で折り返さず、日付の特定できないメモは折り返す（2026-11-12） */
.jsel-table td[data-l="日程"] { white-space: normal !important; width: 10.5em; min-width: 10.5em; max-width: 12em; }
.jsel-nw { white-space: nowrap; }
.jsel-index th { width: 7.5em; }
.jsel-drow { display: flex; gap: 4px; align-items: baseline; line-height: 1.6; }
.jsel-drow + .jsel-drow { margin-top: 2px; }
.jsel-drow .jsel-dl { flex: none; margin-right: 0; }
.jsel-dv { min-width: 0; }
.jsel-table td[data-l="日程"] { width: 9.5em; min-width: 9.5em; max-width: 11em; }
@media (max-width: 768px) { .jsel-table td[data-l="日程"] { width: auto; max-width: none; } }
