.header a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:7px}.training-masthead{padding:32px var(--space) 38px;background:var(--green);color:white}.training-kicker{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.08em}.training-kicker a{text-decoration:underline;text-underline-offset:5px}.training-masthead h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(76px,12vw,200px);line-height:.98;letter-spacing:-.02em;margin-top:40px}.training-masthead h1>span{color:var(--accent)}.training-subtitle{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:30px}.training-subtitle>p{font-size:20px;font-weight:600}.training-subtitle>span{font-size:12px;letter-spacing:.12em}.training-jumps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:0 var(--space);gap:30px;background:white}.training-jumps>a{display:flex;align-items:center;gap:16px;padding:26px 0;font-size:14px;font-weight:600}.training-jumps .link-icon{margin-left:auto;transform:rotate(90deg)}.training-jumps a:hover{color:var(--green)}.training-section{padding:70px var(--space) 80px}.training-section-label{display:flex;justify-content:space-between;gap:24px;font-size:12px;padding-top:20px;border-top:1px solid var(--line);margin-bottom:48px;letter-spacing:.05em}.training-schedule-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center}.training-schedule-layout h2{font-size:clamp(30px,3.8vw,62px);line-height:1.5;letter-spacing:-.045em}.training-motto{margin-top:24px;font-size:16px;color:var(--green);line-height:1.8}.schedule-information{padding-left:32px;border-left:3px solid var(--green)}.schedule-label{font-size:18px;font-weight:700;margin-bottom:20px}.schedule-information>p:not(.schedule-label){font-size:16px;line-height:2}.schedule-information .schedule-secondary{font-size:14px!important;margin-top:20px;color:#536157}.schedule-information .text-link{margin-top:12px}.ground-section{padding:60px var(--space) 70px;background:var(--ink);color:white}.ground-section .training-section-label{border-color:#505951}.ground-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.ground-heading>p{font-size:14px;letter-spacing:.1em;margin-bottom:20px}.ground-heading h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(70px,9.5vw,156px);line-height:.98;letter-spacing:-.02em}.ground-heading h2>span{color:var(--accent)}.ground-address>.eyebrow{color:var(--accent);font-size:14px}.ground-address h3{font-size:clamp(24px,2.8vw,42px);margin:24px 0;line-height:1.5}.ground-address address{font-style:normal;font-size:18px;line-height:1.9}.ground-map-button{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--accent);color:var(--ink);padding:24px;margin-top:32px;font-size:16px;font-weight:600}.ground-map-button:hover{background:white}.ground-source{font-size:12px;color:#c2ccc4;margin-top:18px;line-height:2}.ground-source a{text-decoration:underline;text-underline-offset:4px}.access-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.access-heading h2{font-size:clamp(28px,3.4vw,54px);line-height:1.5}.access-heading p{font-size:14px;line-height:1.8}.access-routes{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--green);border-bottom:1px solid var(--line)}.access-routes article{padding:30px 28px;border-right:1px solid var(--line)}.access-routes article:first-child{padding-left:0}.access-routes article:last-child{border-right:0;padding-right:0}.route-type{font-size:12px;letter-spacing:.08em;color:#536157}.access-routes h3{font-size:18px;line-height:1.6;margin:24px 0}.route-time{display:flex;align-items:baseline;gap:12px;color:var(--green)}.route-time strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:100px;line-height:1;font-weight:400}.route-time>span{font-size:18px}.access-routes article>p:last-child{font-size:14px;line-height:2;margin-top:20px}.bus-stop{font-size:clamp(22px,2.4vw,36px);font-weight:700;line-height:1.7;color:var(--green);margin-top:24px}.arrival-info{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;padding:45px 0;border-bottom:1px solid var(--line)}.arrival-info h3{font-size:22px;line-height:1.7}.arrival-info p{font-size:16px;line-height:2}.school-phone{display:block;font-size:28px;letter-spacing:.02em;margin-top:26px}.school-phone small{display:block;font-size:12px;letter-spacing:0;margin-bottom:10px}.access-source{font-size:12px;color:#536157;margin-top:22px;line-height:1.8}.training-bottom{padding:35px var(--space);background:var(--accent);display:flex;justify-content:space-between;align-items:center;gap:30px}.training-bottom>span{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(36px,6vw,90px);line-height:1.1}.training-bottom>a{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600}
@media(max-width:1280px){.training-page .header{flex-wrap:wrap}.training-page .menu-toggle{display:flex;align-items:center;gap:15px;background:transparent;border:1px solid var(--line);padding:12px;font-size:12px;cursor:pointer}.training-page .header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.training-page .header nav.open{display:flex}.training-page .header nav a{padding:16px 0;border-bottom:1px solid var(--line)}.training-page .nav-social{border-left:0;padding-left:0!important}}
@media(max-width:850px){.training-jumps{gap:20px}.training-jumps>a{font-size:12px;gap:10px}.training-schedule-layout{grid-template-columns:1fr;gap:35px}.training-schedule-layout h2{font-size:42px}.ground-layout{gap:35px}.ground-address address{font-size:16px}.access-heading{align-items:start;flex-direction:column;gap:15px}.access-routes article{padding:25px 20px}.access-routes h3{font-size:16px}.arrival-info{gap:35px}.training-subtitle>span{display:none}}
@media(max-width:600px){.training-masthead{padding:25px 24px 30px}.training-kicker{font-size:12px;letter-spacing:0}.training-kicker>span{font-size:12px}.training-masthead h1{font-size:19vw;margin-top:32px}.training-subtitle{margin-top:25px}.training-subtitle>p{font-size:16px;line-height:1.8}.training-jumps{grid-template-columns:1fr;gap:0;padding:0 24px}.training-jumps>a{font-size:14px;padding:18px 0;border-bottom:1px solid var(--line)}.training-jumps>a:last-child{border-bottom:0}.training-section{padding:45px 24px 50px}.training-section-label{font-size:12px;margin-bottom:32px;gap:16px;letter-spacing:0}.training-schedule-layout h2{font-size:clamp(25px,7.4vw,38px)}.training-motto{font-size:14px;margin-top:18px}.schedule-information{padding-left:20px}.schedule-label{font-size:16px}.schedule-information>p:not(.schedule-label){font-size:14px}.schedule-information br{display:none}.ground-section{padding:40px 24px 45px}.ground-layout{grid-template-columns:1fr;gap:40px}.ground-heading h2{font-size:24vw}.ground-address h3{font-size:25px}.ground-address address{font-size:16px}.ground-map-button{font-size:14px;padding:20px;gap:14px}.access-heading h2{font-size:28px}.access-routes{grid-template-columns:1fr}.access-routes article{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.access-routes article:last-child{border-bottom:0}.access-routes h3{font-size:20px;margin:18px 0}.route-time strong{font-size:88px}.bus-stop{font-size:28px}.arrival-info{grid-template-columns:1fr;gap:20px;padding:30px 0}.arrival-info h3{font-size:20px}.arrival-info p{font-size:14px}.school-phone{font-size:27px}.training-bottom{flex-direction:column;align-items:start;padding:30px 24px;gap:24px}.training-bottom>span{font-size:12vw}}

/* Weekly training and second venue */
.training-schedule-layout{align-items:start}.weekly-schedule .schedule-label{display:flex;justify-content:space-between;gap:16px;font-size:14px;align-items:center}.schedule-label small{font-size:12px;font-weight:400}.weekly-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:18px 0}.weekly-row:last-child{border-bottom:1px solid var(--line)}.weekly-row dt{font-size:14px}.weekly-row dt span{display:block;font-size:11px;letter-spacing:.07em;color:var(--green);margin-bottom:7px}.weekly-row dd{margin:0;color:var(--green)}.weekly-row .time,.weekly-row .off{font-size:42px;font-family:Impact,"Arial Narrow",sans-serif;line-height:1}.weekly-row .off{color:#627067}.weekly-row .weekend{font-size:16px;font-weight:700}.tokinosumika-note{margin-top:56px;background:var(--green);color:white;padding:40px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.tokinosumika-note .eyebrow,.susono-ground .eyebrow{color:var(--accent)}.tokinosumika-note h3{font-size:26px;line-height:1.6;margin:14px 0}.tokinosumika-note p,.susono-ground p{font-size:15px;line-height:1.9}.session-times{display:flex;flex-direction:column;align-items:start;gap:10px}.session-times>span,.session-times small{font-size:12px}.session-times strong{font-size:clamp(28px,3.3vw,48px);font-family:Impact,"Arial Narrow",sans-serif;font-weight:400;letter-spacing:.025em}.session-times a{font-size:13px;text-decoration:underline;text-underline-offset:5px;margin-top:12px}.susono-ground{border-top:1px solid #505951;margin-top:55px;padding-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;scroll-margin-top:120px}.susono-ground h3{font-size:clamp(24px,2.8vw,42px);line-height:1.5;margin:20px 0}.susono-ground .ground-map-button{margin-top:0}
@media(max-width:850px){.tokinosumika-note{gap:30px;padding:30px}.tokinosumika-note h3{font-size:22px}.susono-ground{gap:35px}}
@media(max-width:600px){.weekly-row{gap:12px}.weekly-row .time,.weekly-row .off{font-size:38px}.weekly-row .weekend{font-size:14px}.tokinosumika-note{grid-template-columns:1fr;padding:24px;margin-top:36px}.session-times strong{font-size:36px}.susono-ground{grid-template-columns:1fr;gap:24px}.susono-ground h3{font-size:25px}}
/* Editorial refinement: original photography, weekly grid, numbered venues. */
.training-masthead{padding-bottom:0;background:var(--deep)}
.training-kicker{padding-bottom:24px;border-bottom:1px solid #ffffff40}
.training-cover{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6vw;align-items:center}
.cover-copy{padding:36px 0 46px;min-width:0}
.cover-label{font-size:16px;letter-spacing:.08em;line-height:1.8}
.training-masthead h1{font-size:clamp(64px,8.2vw,144px);line-height:1.04;letter-spacing:-.025em;margin:30px 0}
.cover-japanese{font-size:clamp(22px,2.2vw,34px);font-weight:700;line-height:1.65}
.cover-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #ffffff70;padding:22px 0 16px;margin-top:12px;font-size:14px}
.cover-link>span{font-size:22px;color:var(--accent)}
.cover-photo{max-width:400px;justify-self:end;width:100%;background:var(--green)}
.cover-photo img{width:100%;height:auto}
.cover-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding:16px;font-size:12px;letter-spacing:.08em}
.training-jumps{background:var(--accent);border:0}
.training-jumps>a{padding:25px 0;font-size:14px}

.training-section{padding-top:80px;padding-bottom:90px}
.training-schedule-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:5vw}
.section-display{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(64px,8vw,124px);line-height:.95;letter-spacing:-.02em;color:var(--green);margin-bottom:26px}
.training-schedule-layout h2{font-size:clamp(22px,2.2vw,32px);line-height:1.65;letter-spacing:0}
.training-motto{font-size:14px}
.weekly-schedule .schedule-label{border-top:2px solid var(--green);padding-top:16px;margin-bottom:22px;letter-spacing:.035em}
.weekly-schedule dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.weekly-row{display:flex;flex-direction:column;align-items:start;justify-content:space-between;gap:28px;min-height:170px;padding:24px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white}
.weekly-row dt{display:flex;align-items:baseline;gap:12px;font-size:14px;flex-wrap:wrap}
.weekly-row dt span{font-size:16px;letter-spacing:.025em;margin:0;font-weight:700}
.weekly-row .time,.weekly-row .off{font-size:clamp(44px,5vw,76px);font-weight:400}
.weekly-row.rest-day{background:#e9ede7}.weekly-row.weekend-day{background:var(--green);color:white}
.weekend-day dt span,.weekend-day dd{color:white}.weekly-row .weekend{font-size:clamp(16px,1.7vw,24px);line-height:1.5}
.tokinosumika-note{background:var(--ink);padding:48px;gap:6vw;grid-template-columns:1fr 1fr;margin-top:64px}
.training-frequency{display:flex;gap:24px;align-items:center;margin:20px 0}
.training-frequency>strong{font-family:Impact,"Arial Narrow",sans-serif;font-weight:400;font-size:100px;line-height:1;color:var(--accent)}
.training-frequency>span{font-size:16px;line-height:1.9}
.tokinosumika-note h3{font-size:24px}.tokinosumika-note p{font-size:16px}
.session-times{justify-content:center;gap:14px}
.session-times>span{color:var(--accent);letter-spacing:.06em}
.session-time{display:flex;gap:18px;align-items:baseline;width:100%;border-bottom:1px solid #ffffff40;padding:15px 0}
.session-time>span{font-size:12px;color:var(--accent)}
.session-time strong{font-size:clamp(30px,3.6vw,54px);letter-spacing:0;white-space:nowrap}
.session-times>small{align-self:center;color:#c2ccc4}.session-times a{font-size:14px}
.ground-section{background:var(--deep);padding-top:65px;padding-bottom:80px}
.ground-address,.susono-ground>div{position:relative}
.venue-number{font-family:Impact,"Arial Narrow",sans-serif;font-size:60px;line-height:1;color:var(--accent);margin-bottom:22px}
.ground-layout{align-items:start}.ground-heading{padding-top:30px}.ground-heading h2{font-size:clamp(70px,10vw,160px)}
.ground-address h3{margin:20px 0}.ground-map-button{border:1px solid var(--accent);transition:background .2s,color .2s}
.ground-map-button .link-icon{transition:transform .2s}.ground-map-button:hover .link-icon{transform:translateX(4px)}
.susono-ground{border-color:#ffffff40;margin-top:64px;padding-top:44px}
.susono-ground .ground-map-button{background:transparent;color:white;border-color:#ffffff80}.susono-ground .ground-map-button:hover{background:var(--accent);color:var(--ink)}
.access-routes article{background:white;padding:32px!important}.route-time strong{font-size:112px}.access-routes article:last-child{background:var(--green);color:white}.access-routes article:last-child .route-type,.access-routes article:last-child .bus-stop{color:var(--accent)}
@media(max-width:1000px){.training-cover{gap:4vw}.cover-photo figcaption{font-size:12px;letter-spacing:0}.training-schedule-layout{grid-template-columns:1fr}.schedule-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:center}.section-display{grid-row:1/3;margin:0;font-size:88px}.training-motto{margin-top:10px}.weekly-row{min-height:170px}.weekly-row .time,.weekly-row .off{font-size:64px}.tokinosumika-note{padding:32px;gap:30px}.session-time strong{font-size:32px}.session-time{gap:12px}.access-routes article{padding:24px 18px!important}}
@media(max-width:600px){.training-masthead{padding:22px 24px 0}.training-kicker{font-size:12px;gap:16px;padding-bottom:18px}.training-kicker>span{max-width:145px;text-align:right;line-height:1.5}.training-cover{grid-template-columns:1fr;gap:0}.cover-copy{padding:30px 0}.cover-label{font-size:14px;letter-spacing:0}.training-masthead h1{font-size:18vw;line-height:1.03;margin:25px 0}.cover-japanese{font-size:22px}.cover-japanese br{display:none}.cover-link{margin-top:0;width:100%;font-size:14px}.cover-photo{max-width:none;display:grid;grid-template-columns:1fr 1fr;align-items:end;justify-self:stretch;background:transparent}.cover-photo img{grid-column:2;grid-row:1}.cover-photo figcaption{grid-column:1;grid-row:1;display:flex;flex-direction:column;padding:20px 12px 20px 0;gap:6px;font-size:12px;line-height:1.6;color:var(--accent)}.training-jumps>a{padding:16px 0;border-color:#14181630}.training-section{padding:45px 24px 50px}.schedule-intro{display:block}.section-display{font-size:20vw;margin-bottom:24px}.section-display br{display:none}.training-schedule-layout h2{font-size:25px}.training-motto{margin-top:16px}.weekly-schedule .schedule-label{font-size:12px;gap:8px}.weekly-row{padding:18px 14px;gap:25px;min-height:156px}.weekly-row dt{display:block;font-size:14px;line-height:1.5}.weekly-row dt span{display:block;font-size:14px;margin-bottom:4px}.weekly-row .time,.weekly-row .off{font-size:clamp(37px,11vw,54px)}.weekly-row .weekend{font-size:16px}.tokinosumika-note{grid-template-columns:1fr;padding:28px 22px;margin-top:36px;gap:32px}.training-frequency>strong{font-size:90px}.tokinosumika-note h3{font-size:22px}.session-time strong{font-size:clamp(28px,8.7vw,44px)}.session-times>span{font-size:12px;letter-spacing:0}.ground-section{padding:40px 24px 48px}.ground-heading{padding:0}.ground-heading h2{font-size:24vw}.venue-number{font-size:52px}.susono-ground{margin-top:42px;padding-top:32px}.access-routes article{padding:28px 20px!important}.route-time strong{font-size:96px}}
@media(prefers-reduced-motion:reduce){.ground-map-button,.ground-map-button .link-icon{transition:none}}
.susono-ground .venue-number{font-size:60px;line-height:1}
@media(max-width:600px){.susono-ground h3{font-size:clamp(20px,5.7vw,25px)}.susono-ground .venue-number{font-size:52px}.access-heading h2{font-size:clamp(23px,6.2vw,28px)}}
