/* 時間割：2 つを並べる（名前・写真・短い文・時間・説明・ボタン） */
.schedule { margin-top: 12rem; padding-bottom: 10rem; }
.schedule__list { display: grid; grid-template-columns: repeat(2, 43rem); gap: 13rem; justify-content: center; }
.schedule__hgroup { margin-bottom: 2rem; text-align: center; line-height: 1.5; color: var(--accent); }
.schedule__ttl { font-size: 3rem; letter-spacing: 0.2em; padding-left: 0.2em; }
.schedule__kana { font-size: 1.6rem; letter-spacing: 0.1em; }
.schedule__ph { aspect-ratio: 491 / 329; margin-bottom: 2.4rem; }
.schedule__ph img { object-position: center 38%; }
.schedule__catch, .schedule__time, .schedule__txt, .schedule__btn { width: calc(100% - 7rem); margin-inline: auto; }
.schedule__catch { position: relative; margin-top: 2.4rem; padding-bottom: 1rem; font-size: 1.7rem; line-height: 1.7; letter-spacing: 0.12em; }
.schedule__catch::after { content: ""; position: absolute; left: 0; bottom: 0; width: 5rem; height: 1px; background: var(--line); }
.schedule__time { margin-top: 1rem; font-size: 1.3rem; line-height: 1.8; color: var(--accent); letter-spacing: 0.06em; }
.schedule__txt { margin-top: 1rem; font-size: 1.3rem; line-height: 2; }
.schedule__btn { margin-top: 2.4rem; }

@media (max-width: 1023px) {
  .schedule { max-width: 40rem; margin: 0 auto; padding: 0 2rem 2rem; }
  .schedule__list { grid-template-columns: 1fr; gap: 6rem; }
  .schedule__ttl { font-size: 2.6rem; }
  .schedule__kana { font-size: 1.3rem; }
  .schedule__catch, .schedule__time, .schedule__txt { width: calc(100% - 2rem); }
  .schedule__btn { width: calc(100% - 4rem); }
  .schedule__catch { font-size: 1.8rem; }
}
