
#sports{scroll-margin-top:130px}.sports-section{margin:64px 0;padding:40px;background:#effafd;border-radius:28px;color:#454a4e}.sports-heading{margin-bottom:28px}.sports-kicker{color:#009eb1;font-weight:800;letter-spacing:.14em;font-size:14px;margin:0 0 10px}.sports-section h2{font-size:clamp(25px,3vw,36px);line-height:1.6;margin:0 0 20px;color:#454a4e}.sports-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}.sports-photo{margin:0}.sports-photo img{width:100%;height:auto;display:block;border-radius:20px;background:#fff}.sports-photo figcaption{font-size:12px;margin-top:8px;color:#666}.sports-copy p,.sports-feature>p:not(.sports-kicker){font-size:16px;line-height:1.95}.sports-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.sports-facts span{background:#fff;border:1px solid #a3d9df;border-radius:30px;padding:5px 12px;font-size:14px;font-weight:700;color:#087e8a}.sports-activities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin:20px 0}.sports-activities li{padding:10px;text-align:center;border-radius:16px;background:#fff1a8;font-weight:700}.sports-activities li:nth-child(2){background:#fbd5e2}.sports-activities li:nth-child(3){background:#e7dcf5}.sports-activities li:nth-child(4){background:#cceff0}.sports-detail{font-weight:700}.sports-note,.sports-copy .sports-note,.sports-feature>p.sports-note{font-size:14px;line-height:1.8;color:#60696b}.sports-link{display:inline-block;color:#087e8a;font-weight:700;text-decoration:underline;text-underline-offset:5px;padding:8px 0}.sports-home{margin:18px 0;padding:20px;border:1px solid #c9e8eb;border-radius:18px;background:#fff}.sports-home h4{font-size:20px;margin:0 0 8px;color:#454a4e}.sports-home p{margin:6px 0}.sports-home .sports-kicker{font-size:12px}.sports-home .sports-home-facts{font-size:14px;font-weight:700;color:#087e8a}.sports-home .sports-note{font-size:13px}.sports-feature{max-width:none;margin:50px 0}.sports-feature>p{max-width:760px}@media(max-width:700px){#sports{scroll-margin-top:90px}.sports-section{padding:24px 18px;margin:36px 0;border-radius:22px}.sports-grid{grid-template-columns:1fr;gap:22px}.sports-photo{max-width:330px;margin:auto}.sports-section h2{font-size:25px}.sports-facts{gap:6px}.sports-facts span{padding:5px 10px}.sports-home{padding:16px}.sports-home h4{font-size:19px}.sports-feature{margin:36px -6px}}

/* Keep the sports panel padding above generic feature-page section rules. */
.feature-page section.sports-feature{padding:40px;box-sizing:border-box}
.sports-title-line{display:block}.sports-title-phrase{display:inline-block}
@media(max-width:700px){
.feature-page section.sports-feature{padding:28px 22px}
.sports-section h2{font-size:clamp(18px,5.4vw,25px);line-height:1.65;letter-spacing:0}
.sports-title-line{white-space:normal}
.sports-heading .sports-title-phrase{display:inline}
.sports-heading h2{font-size:clamp(16px,5vw,25px)}
.sports-heading .sports-title-line{white-space:nowrap}
.sports-feature .sports-facts{flex-direction:column;align-items:flex-start}
.sports-home h4{font-size:18px;text-wrap:balance}
}

/* Sports alignment: centered desktop panel, mobile heading only. */
.sports-heading{text-align:center}
.feature-page section.sports-feature{background:#f5f0fa;text-align:center}
.sports-feature>p{margin-left:auto;margin-right:auto}
.sports-feature .sports-facts{justify-content:center}
@media(max-width:700px){
.feature-page section.sports-feature{text-align:left}
.sports-feature>.sports-kicker,.sports-feature>h2{text-align:center}
.sports-feature .sports-facts{justify-content:flex-start}
}

/* Course-style title: small English label + Japanese name, matching the fee cards (LONG / ロングコース). */
.sports-kicker{font-size:12px;letter-spacing:.16em;margin:0 0 6px}
.sports-name,.sports-feature>p.sports-name{font-size:clamp(26px,3vw,34px);font-weight:900;line-height:1.35;letter-spacing:.04em;color:#24292c;margin:0 0 14px}
.sports-section h2{font-size:clamp(19px,2.2vw,24px);font-weight:700;color:#4b5356}
.sports-feature>p.sports-name{text-align:center;margin-left:auto;margin-right:auto}
.sports-home .sports-kicker{font-size:11px;margin:0 0 2px}
.sports-home .sports-name{font-size:21px;margin:0 0 6px}
.sports-home h4{font-size:16px}
@media(max-width:700px){
.sports-name,.sports-feature>p.sports-name{font-size:24px;margin:0 0 10px}
.sports-heading h2{font-size:clamp(15px,4.6vw,20px)}
.sports-feature>p.sports-name{text-align:center;margin-left:auto;margin-right:auto}
.sports-home .sports-name{font-size:20px}
.sports-home h4{font-size:15px}
}
