@charset "utf-8";
/* =================================================
   Schedule
================================================= */

#ticket{ padding:120px 0 0; }

.scs-wrap{
  margin:0 auto;
  padding:24px 14px 48px;
}
.scs-wrap *{ box-sizing:border-box; }

.scs-section{
  max-width:1000px;
  padding:20px;
  margin:18px auto;
  position:relative;
}

/* 見出し */
.scs-head{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.scs-tag{
  font-weight:700;
  display:flex;
  align-items:center;
  gap:10px;
  letter-spacing:.08em;
}
.scs-tag .svg-text{ height:3.6rem; }

/* 期間＋会場 */
.scs-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.scs-period{
  font-size:30px;
  font-weight:700;
  line-height:1.15;
}
.scs-venue{
  display:block;
  margin-top:6px;
  font-size:30px;
  font-weight:700;
  line-height:1.35;
  white-space:normal;
}
.scs-venue a{
  display:inline-flex;
  vertical-align:middle;
  margin-left:6px;
}
.scs-venue .theater-link{
  width:35px;
  height:auto;
  display:block;
  opacity:.85;
  transition:opacity .2s ease, transform .2s ease;
}
.scs-venue a:hover .theater-link{
  opacity:1;
  transform:translateY(-1px);
}

/* =====================
   Stars (base / PC)
===================== */
.scs-stars{
  margin-top:14px;
  border:2px solid #666; /* 大枠だけ太線 */
}

/* PC: calendar grid */
.scs-stars--grid{
  display:grid;
  grid-template-columns:100px repeat(var(--cols), minmax(0,1fr));
  grid-auto-rows:54px;
}

/* PCでは day を平坦化 */
.scs-stars--grid .scs-day{ display:contents; }

/* cell */
.scs-cell{
  display:flex;
  align-items:center;
  justify-content:center;
text-align:center;
  line-height:1;           /* ← 行高ブレ防止（重要） */
  padding:10px 6px;
  font-size:15px;
  font-weight:700;
  background:url("../img/ice_age.png") top center / auto repeat;
  border-bottom:1px solid #ccc;
}
.scs-cell--rowhead{

}

/* PC grid placement (共通) */
.scs-corner{ grid-row:1; grid-column:1; }
.scs-dayHead{ grid-row:1; grid-column:var(--c); }

/* ===== 2枠（福岡/大阪）：13:00 / 18:30 ===== */
.scs-time13   { grid-row:2; grid-column:1; }
.scs-time1830 { grid-row:3; grid-column:1; }

.scs-slot13   { grid-row:2; grid-column:var(--c); }
.scs-slot1830 { grid-row:3; grid-column:var(--c); }

/* ===== 4枠（東京）：13:00 / 14:00 / 18:00 / 19:00 ===== */
.scs-time14 { grid-row:3; grid-column:1; }
.scs-time18 { grid-row:4; grid-column:1; }
.scs-time19 { grid-row:5; grid-column:1; }

.scs-slot14 { grid-row:3; grid-column:var(--c); }
.scs-slot18 { grid-row:4; grid-column:var(--c); }
.scs-slot19 { grid-row:5; grid-column:var(--c); }

/* ●チップ（背景なし） */
.scs-chip{
  display:inline-block;
  padding:0;
  background:transparent;
  color:#000;
  font-weight:800;
  font-size:16px;
}
.scs-empty{ color:#777; }
.scs-rest{ color:#999; }

/* PCでは非表示（SPで表示） */
.scs-mHead,
.scs-date,
.scs-dow{ display:none; }

/* =================================================
   scs-info（完全版）
   SP：縦組み＋項目ごとに線
   PC：横組み（dt | dd）＋項目ごとに線
================================================= */
.scs-info{
  margin:30px 0 0;
  padding:0;
  line-height:1.45;
}
.scs-info dt{
  color:#666;
  font-size:.8em;
  font-weight:700;
  letter-spacing:.12em;
  opacity:.85;
}
.scs-info dd{
  margin:0;
  font-size:1.05em;
}

.scs-info dt small,
.scs-info dd small{
    display:block;
  margin-top:.25em;
  font-size:.82em;
  line-height:1.35;
  opacity:.8;
}
.scs-info dd br + br {
  display: inline;
}
.scs-info dt .price-note,
.scs-info dd .price-note{
  margin-top:.25em;
  font-size:.82em;
  line-height:1.35;
  opacity:.8;
}
/* =====================
   SP (<=768px)  ★差し替え版
   - 見出しの改行を減らす（文字サイズ調整）
   - テーブル実幅を少し広げる（scs-section padding / scs-starsの左右相殺）
   - 表の文字数（=文字サイズ）を少し下げる
   - 左2列（日付/曜）を細くして時間列を広げる
===================== */
@media (max-width:768px){

  /* 見出しSVGサイズ */
  .scs-tag .svg-text{ height:2.6rem; }

  /* 期間/会場：小さくして改行しにくく */
  .scs-period,
  .scs-venue{
    font-size:20px;      /* 24px → 20px */
    line-height:1.2;
    letter-spacing:.02em;
  }

  /* 会場行：文字＋リンクを横並び安定 */
  .scs-venue{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;      /* どうしても無理な時だけ折る */
  }
  .scs-venue a{ margin-left:0; }
  .scs-venue .theater-link{ width:28px; }

  /* セクション左右余白を減らして表の実幅を稼ぐ */
  .scs-section{
    padding:14px 10px;   /* 20px → 14px 10px */
  }

  /* テーブルだけ“ちょい横いっぱい”に出す（左右余白を相殺） */
  .scs-stars{
    margin-left:-10px;
    margin-right:-10px;
  }

  /* Stars：PC用グリッド解除 */
  .scs-stars--grid{ display:block; }

  /* --- 2枠（福岡/大阪） --- */
  .scs-stars--t2 .scs-stars--grid .scs-day,
  .scs-stars--t2 .scs-day{
    display:grid !important;
    grid-template-columns:4.1em 2.8em 1fr 1fr; /* 左2列を細く */
    border-bottom:1px solid #ccc;
  }
  .scs-stars--t2 .scs-day:last-child{ border-bottom:none; }

  .scs-stars--t2 .scs-mHead{
    display:grid;
    grid-template-columns:4.1em 2.8em 1fr 1fr; /* 左2列を細く */
    font-weight:700;
    border-bottom:1px solid #ccc;
  }

  /* --- 4枠（東京） --- */
  .scs-stars--t4 .scs-day{
    display:grid !important;
    grid-template-columns:4.1em 2.8em 1fr 1fr 1fr 1fr; /* 左2列を細く */
    border-bottom:1px solid #ccc;
  }
  .scs-stars--t4 .scs-day:last-child{ border-bottom:none; }

  .scs-stars--t4 .scs-mHead{
    display:grid;
    grid-template-columns:4.1em 2.8em 1fr 1fr 1fr 1fr; /* 左2列を細く */
    font-weight:700;
    border-bottom:1px solid #ccc;
  }

  /* ヘッダセル共通 */
  .scs-mHead .scs-cell{
    border-right:1px solid #ccc;
    border-bottom:none;
  }
  .scs-mHead .scs-cell:last-child{ border-right:none; }

  /* PC用セル非表示 */
  .scs-corner,
  .scs-time13,
  .scs-time14,
  .scs-time18,
  .scs-time19,
  .scs-time1830,
  .scs-dayHead{ display:none !important; }

  /* PC用 grid 指定解除（全部まとめて解除） */
  .scs-slot13,
  .scs-slot14,
  .scs-slot18,
  .scs-slot19,
  .scs-slot1830{
    grid-row:auto !important;
    grid-column:auto !important;
  }

  /* 日付・曜を表示 */
  .scs-date,
  .scs-dow{ display:flex; }

  /* 行内セル：文字少し小さくして詰まりを減らす */
  .scs-cell{
    font-size:13px;      /* 15px → 13px */
    padding:8px 4px;     /* 10px 6px → 8px 4px */
  }
  .scs-chip{ font-size:14px; }

  .scs-day .scs-cell{
    border-right:1px solid #ccc;
    border-bottom:none;
    min-height:46px;
  }
  .scs-day .scs-cell:last-child{ border-right:none; }

  /* 交互背景 */
  .scs-day:nth-of-type(even){ background:#f5f5f5; }

  /* info：縦組み（dtが幅100%なので線が必ず出る） */
  .scs-info{ display:block; }
  .scs-info dt{
    display:block;
    width:100%;
    margin:.9em 0 .25em;
    padding-top:.9em;
    border-top:1px solid rgba(0,0,0,.22);
  }
  .scs-info dt:first-of-type{
    margin-top:0;
    padding-top:0;
    border-top:0;
  }
  .scs-info dd{ margin-bottom:.2em; }
}

/* =====================
   PC (>=769px)
===================== */
@media (min-width:769px){
  .scs-info{
    display:grid;
    grid-template-columns:9em 1fr;
    column-gap:1.2em;
  }
  .scs-info dt{
    margin:0;
    padding:.9em 0 .25em;
    border-top:1px solid rgba(0,0,0,.18);
  }
  .scs-info dd{
    margin:0;
    padding:.9em 0 .8em;
    border-top:1px solid rgba(0,0,0,.18);
  }
  .scs-info dt:first-of-type,
  .scs-info dd:first-of-type{
    border-top:0;
    padding-top:0;
  }
}

/* 見出しSVGのBPは意図を尊重して 992px のまま */
@media (max-width:992px){
  .scs-tag .svg-text{ height:2.6rem; }
}
