* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #202720; background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; line-height: 1.7; }
a { color: inherit; }
.selection-page { padding: 48px 20px 64px; }
.selection-page__inner { width: min(100%, 760px); margin: 0 auto; }
.selection-page__brand { margin: 0 0 8px; color: #315d42; font-size: 14px; font-weight: 700; letter-spacing: .06em; }
h1 { margin: 0; color: #123b28; font-size: clamp(30px, 5vw, 44px); line-height: 1.3; }
.selection-page__lead { margin: 18px 0 32px; font-size: 16px; line-height: 1.9; }
.selection-poster { margin: 0 0 32px; text-align: center; }
.selection-poster img { display: block; width: 100%; max-height: 680px; object-fit: contain; }
.selection-section { padding: 28px 0 32px; border-top: 1px solid #d9e0da; }
.selection-section h2 { margin: 0 0 20px; color: #123b28; font-size: 23px; }
.event-details { margin: 0; border-top: 1px solid #e2e7e2; }
.event-details__row { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid #e2e7e2; }
.event-details__row dt { color: #567061; font-weight: 700; }
.event-details__row dd { margin: 0; }
.event-dates { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.event-dates li { display: flex; flex-wrap: wrap; gap: 12px 20px; font-weight: 700; }
.event-details__row--deadline dd { color: #a2401b; font-weight: 700; }
.selection-apply { display: flex; align-items: center; justify-content: center; gap: 10px; width: min(100%, 420px); min-height: 58px; margin: 28px auto 0; padding: 12px 20px; color: #fff; background: #c25021; border-radius: 3px; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none; }
.selection-apply:hover { background: #a9421c; }
.selection-apply span { font-size: 18px; }
.selection-note { margin: 12px 0 0; color: #68756b; font-size: 13px; line-height: 1.8; }
.selection-consent { display: flex; align-items: center; justify-content: center; width: min(100%, 420px); min-height: 48px; margin: 22px auto 0; padding: 10px 18px; border: 1px solid #315d42; border-radius: 3px; color: #315d42; font-size: 15px; font-weight: 700; text-align: center; text-decoration: none; }
.selection-consent:hover, .selection-consent:focus-visible { background: #eff5f0; }
.selection-flow__eyebrow { margin: 0 0 4px; color: #567061; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.selection-flow h2 { margin-bottom: 18px; }
.selection-flow__list { margin: 0; padding-left: 1.5em; }
.selection-flow__list li { padding: 10px 0 12px 4px; border-bottom: 1px solid #edf0ed; }
.selection-flow__list li:last-child { border-bottom: 0; }
.selection-flow__list h3 { margin: 0 0 4px; color: #123b28; font-size: 17px; }
.selection-flow__list p { margin: 0; font-size: 14px; }
.selection-page__back { margin: 28px 0 0; font-size: 14px; }
.selection-page__back a { color: #315d42; text-underline-offset: 3px; }
.mobile-only { display: none; }
@media (max-width: 600px) {
  .selection-page { padding: 32px 18px 48px; }
  .selection-page__lead { font-size: 14px; }
  .event-details__row { grid-template-columns: 1fr; gap: 5px; padding: 14px 0; }
  .event-dates li { gap: 6px 14px; }
  .selection-section h2 { font-size: 21px; }
  .mobile-only { display: initial; }
}
