/* グループヘッダ */
.list-group-header {
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  margin: 0px 0 10px;
  border-bottom: 3px solid;
  padding-bottom: 6px;
}
/* グループ開閉 */
.list-group-body {
  display: block;
}
.list-group-body.closed {
  display: none;
}

/* 年ヘッダ */
.list-year-header {
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  margin: 20px 0 8px;
  border-bottom: 2px solid #eee;
  padding-bottom: 4px;
}
/* 年開閉 */
.list-year-body {
  display: block;
}
.list-year-body.closed {
  display: none;
}

/* トグル */
.toggle-triangle {
  font-size: 0.9em;
  width: 14px;
  display: inline-block;
}

/* テーブル */
.live-table {
  table-layout: fixed;
}
.live-table th,
.live-table td {
  border-bottom: 1px solid #eee;
  padding: 6px 6px;
  font-size: 14px;
}
/* 結合セルの有無にかかわらず列ごとの幅を指定する。 */
.live-table .live-col-event {
  width: 50%;
}
.live-table .live-col-venue {
  width: 30%;
}
.live-table .live-col-date {
  width: 20%;
}
.live-table .live-date-cell {
  white-space: nowrap;
}
@media (max-width: 767px) {
  .live-table th,
  .live-table td {
    padding: 4px;
    font-size: 11px;
  }
  .live-table .live-col-event {
    width: auto;
  }
  .live-table .live-col-date {
    width: 78px;
  }
}

/* 背景交互（ツアー単位） */
.live-table tr.tour-even td {
  background: #fcfcfc;
}
.live-table tr.tour-odd td {
  background: #f7f7f7;
}
/* 通常行（そのまま） */
.live-table td {
  border-bottom: 1px solid #ccc;
}
/* 会場切り替わり */
.live-table tr.venue-start td {
  border-top: 1px solid #ccc;
}
/* ツアー切り替わり（濃い） */
.live-table tr.tour-start td {
  border-top: 2px solid #ccc;
}

/* テーブルヘッダー色分け */
/* 櫻坂（薄ピンク） */
.live-table.group-2 thead th {
  background: var(--sakura-soft);
  border-bottom: 2px solid var(--sakura-main);
}
/* 欅坂（薄グリーン） */
.live-table.group-4 thead th {
  background: var(--keyaki-soft);
  border-bottom: 2px solid var(--keyaki-main);
}
/* 共通：少しだけ見やすく */
.live-table thead th {
  font-weight: bold;
  border-bottom: 2px solid #ddd;
}

/* 見出しの見た目を保ち、Enter・Spaceで開閉できるボタンにする。 */
.live-list-page .live-list-toggle {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.live-list-page .live-list-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
