
/* page-event-overview: ported from preview/class.html inline <style>
   (font discipline: body 22 / tile titles 18 / meta 13, no italic) */
.class-intro { background: var(--white); padding: 18px 0 60px }
.class-intro-inner { max-width: 720px; margin: 0 auto; padding: 0 24px }
.class-intro p {
  font-size: var(--fs-b); line-height: 2.1; letter-spacing: .08em;
  color: var(--navy-soft); margin-bottom: 22px;
}
.class-intro p:last-child { margin-bottom: 0 }
.class-domestic, .class-overseas { background: var(--white); padding: 70px 0 80px }
.class-overseas { background: var(--beige) }
.class-domestic-inner, .class-overseas-inner { max-width: 1100px; margin: 0 auto; padding: 0 40px }
.event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 30px; margin-top: 50px }
.class-domestic .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-left: auto; margin-right: auto }
.class-domestic .event-grid.single { grid-template-columns: 1fr; max-width: 520px }
.class-overseas .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-left: auto; margin-right: auto }
.event-card { display: block; text-decoration: none; color: inherit; padding: 10px 10px 16px; text-align: center }
.ec-thumb { aspect-ratio: 16/9; background: var(--beige-deep); overflow: hidden; margin-bottom: 14px }
.ec-img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease }
.event-card:hover .ec-img { transform: scale(1.04) }
.ec-meta { font-family: var(--ff-jp); font-weight: 300; font-size: var(--fs-s); letter-spacing: .18em; color: var(--navy-mute); margin-bottom: 8px }
.ec-title { font-size: var(--fs-b) !important; letter-spacing: .1em; line-height: 1.7; color: var(--navy); margin-bottom: 14px; font-family: var(--ff-jp); font-weight: 300 }
.ec-none { text-align: center; font-size: var(--fs-b); color: var(--navy-mute); letter-spacing: .1em; margin-top: 40px }
.class-other-info { background: var(--white); padding: 40px 0 80px }
.class-other-info-inner { max-width: 700px; margin: 0 auto; padding: 0 24px }
.class-other-info .sec-head { text-align: center; margin-bottom: 44px }
.class-other-info p { font-size: var(--fs-b); line-height: 2.1; letter-spacing: .08em; color: var(--navy-soft); margin-bottom: 22px }
.class-other-info p:last-child { margin-bottom: 0 }
.event-card .ec-cta { font-size: var(--fs-s); letter-spacing: .16em; padding-bottom: 3px } /* 2026-06-21 CTA統一 14->16 */
@media (max-width: 768px) {
  .class-intro { padding: 22px 0 36px }
  .class-domestic, .class-overseas { padding: 50px 0 56px }
  .class-domestic-inner, .class-overseas-inner { padding: 0 20px }
  .event-grid,
  .class-domestic .event-grid,
  .class-overseas .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px }
  .class-domestic .event-grid.single { grid-template-columns: 1fr }
  .class-other-info { padding: 56px 0 }
}
