/* zombie12 専用のスタイル（/archive/zombie12/ のみで読み込み） */

/* ステージタイムテーブル（横並び表） */
.stageTable_scroll {
  overflow-x: auto;
}

.stageTable table {
  width: 100%;
  min-width: 680px;
  /* collapse だと固定列の枠線が一緒に動かず、隙間から後ろの文字が見えるため separate にする */
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 1.5rem;
  line-height: 1.4;
}

.stageTable th,
.stageTable td {
  border-right: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  padding: 10px 8px;
  vertical-align: middle;
}

.stageTable thead th {
  background-color: var(--c-main);
  color: var(--c-white);
  font-weight: 700;
  text-align: center;
}

.stageTable thead .place {
  display: block;
  font-size: 1.1rem;
  font-weight: 400;
}

/* スマホ：表を画面の右端まで広げ、次の列が途中で切れて見えるようにする */
.stageTable_body {
  position: relative;
}

@media (max-width:768px) {
  .stageTable_body {
    margin-right: -15px;
  }

  /* 時間64px + ステージ130px×4。どの機種でも3列目が途中で切れる幅 */
  .stageTable table {
    min-width: 584px;
  }

  /* 右端までスクロールしたとき、左と同じ15pxの余白を付ける
     （スクロール領域の padding-right は Safari で無視されるため、空の要素で幅を確保） */
  .stageTable_scroll {
    display: flex;
  }

  .stageTable_scroll table {
    flex-shrink: 0;
  }

  .stageTable_scroll::after {
    content: "";
    flex: 0 0 15px;
  }

  /* 右端のフェード（まだ続きがある目印）。右端までスクロールすると消える */
  .stageTable_body::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    background: linear-gradient(to right, rgba(9, 5, 4, 0), rgba(9, 5, 4, .9));
    pointer-events: none;
    transition: opacity .2s;
  }

  .stageTable_body.is-end::after {
    opacity: 0;
  }
}

/* 横スクロールの案内（スマホのみ表示） */
.stageTable_hint {
  font-size: 1.3rem;
  text-align: center;
  color: var(--c-sub);
  margin-top: 8px;
  margin-bottom: 8px;
}

@media (min-width:769px) {
  .stageTable_hint {
    display: none;
  }
}

/* 時間の列（スマホの横スクロール時も左に固定） */
.stageTable th:first-child {
  width: 64px;
  position: sticky;
  left: 0;
  z-index: 1;
  border-left: 1px solid var(--c-border);
  /* iPhoneでスクロール中に固定列の描画が遅れてチラつくのを防ぐ */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* 固定列の左側の端数ピクセルの隙間を、セルと同じ色で塞ぐ */
.stageTable thead th:first-child {
  box-shadow: -4px 0 0 0 var(--c-main);
}

.stageTable tbody th:first-child {
  box-shadow: -4px 0 0 0 var(--c-bg);
}

.stageTable thead th {
  border-top: 1px solid var(--c-border);
}

.stageTable tbody th {
  background-color: var(--c-bg);
  color: var(--c-white);
  font-weight: 700;
  text-align: center;
}

.stageTable td {
  font-size: 1.5rem;
  font-weight: 700;
}

.stageTable td .time {
  display: block;
  font-size: 1.2rem;
  color: var(--c-sub);
}

.stageTable td .sub {
  display: block;
  font-size: 1rem;
  font-weight: 400;
}

.stageTable td.is-parade {
  color: var(--c-sub);
}

@media (min-width:769px) {
  .stageTable table {
    font-size: 1.6rem;
  }

  .stageTable th:first-child {
    width: 80px;
  }
}
