/* Shared navigation keeps the existing header/footer appearance. */
@media(min-width:761px){.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;max-width:850px}.site-nav .header-cta{order:1}.site-nav .jksy-age-link{font-family:"Noto Sans JP",sans-serif;font-size:12px}.brand{flex-shrink:0;margin-right:20px}}
@media(max-width:760px){.site-nav{gap:3px;overflow-y:auto;padding:54px 0 calc(var(--jksy-bar-height) + 14px);justify-content:flex-start}.site-nav a{font-size:18px;padding:8px}.site-nav .jksy-age-link{font-family:"Noto Sans JP",sans-serif;font-size:17px}}
/* The observed bar height already includes safe-area padding. */
.hero{min-height:0;height:calc(100svh - var(--jksy-header-height,88px) - var(--jksy-bar-height));max-height:980px}
.age-page{width:min(1080px,calc(100% - 64px));margin:0 auto;padding:72px 0 100px;overflow-wrap:break-word;line-break:strict}
.age-page h1,.age-page h2,.age-page h3{line-height:1.55;text-wrap:balance}
.age-page h1{font:700 clamp(36px,5vw,64px)/1.4 "Zen Maru Gothic",sans-serif;margin:0 0 28px}
.age-page h2{font:700 clamp(26px,3vw,36px)/1.5 "Zen Maru Gothic",sans-serif;margin:0 0 32px}
.age-page h3{font:700 21px/1.6 "Zen Maru Gothic",sans-serif;margin:0 0 22px}
.age-page p{margin:0 0 20px;line-height:2.05}
.age-intro{max-width:760px;margin:0 auto 56px;text-align:center}
.age-intro>p{font-size:18px}
.age-kids-sticker img{height:100px;width:100px;object-fit:contain}
.age-section{margin:76px 0 0}
.age-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.age-course{border:2px solid var(--jksy-dark);border-radius:26px;background:var(--c-base-2);padding:32px}
.age-course:nth-child(2n){background:var(--c-base-3)}
.age-course p:last-child{margin-bottom:0}
.age-page .wp-block-table{margin:0 0 32px}
.age-page table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:17px}
.age-page th,.age-page td{border:1px solid var(--jksy-dark);text-align:left;padding:20px 24px;vertical-align:top}
.age-page th{background:var(--c-accent1);font-weight:700}
.age-page th:first-child{width:65%}.age-page td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.age-eiken,.age-trial{padding:40px;border:2px solid var(--jksy-dark);border-radius:26px;background:var(--c-base-2)}
.age-trial{text-align:center;background:var(--c-base-3)}
.age-trial-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--c-accent1);border:2px solid var(--jksy-dark);border-radius:999px;padding:18px 28px;color:#183b60;font-weight:700;line-height:1.7}
.age-trial-button:hover{filter:brightness(.96)}
.age-photo{margin:0}.age-photo img{display:block;width:100%;height:520px;object-fit:cover;object-position:center}
/* Adult page body only: fixed navy, ivory and a restrained bronze accent. */
.jksy-age-teens-adults{background:#f8f7f3}
.jksy-age-teens-adults .age-page{color:#183b60;font-family:"Noto Sans JP",sans-serif;font-weight:400}
.jksy-age-teens-adults .age-intro{text-align:left;max-width:none;margin-bottom:48px;border-left:3px solid #9c8059;padding-left:32px}
.jksy-age-teens-adults .age-intro>p{max-width:760px}
.jksy-age-teens-adults .age-page :is(h1,h2,h3){font-family:"Noto Sans JP",sans-serif;font-weight:400;letter-spacing:.04em}
.jksy-age-teens-adults .age-page h1{font-size:clamp(36px,5vw,58px)}
.jksy-age-teens-adults .age-section{margin-top:96px}
.jksy-age-teens-adults .age-courses{gap:0 48px}
.jksy-age-teens-adults .age-course{background:transparent;border:0;border-top:1px solid #b8bdc2;border-radius:0;padding:32px 0}
.jksy-age-teens-adults .age-page th,.jksy-age-teens-adults .age-page td{border:1px solid #b8bdc2;background:#fff}
.jksy-age-teens-adults .age-page th{background:#183b60;color:#fff;font-weight:400}
.jksy-age-teens-adults .age-page :is(.age-eiken,.age-trial){border:0;border-top:1px solid #b8bdc2;background:transparent;border-radius:0;padding:48px 0 0}
.jksy-age-teens-adults .age-eiken p{max-width:760px}
.jksy-age-teens-adults .age-trial-button{border:1px solid #183b60;border-radius:0;background:#183b60;color:#fff;padding:20px 36px}
@media(max-width:760px){
 .age-page{width:calc(100% - 40px);padding:40px 0 64px;font-size:15px}
 .age-intro{margin-bottom:36px}.age-intro>p{font-size:16px}
 .age-page h1{font-size:36px;margin-bottom:22px}.age-page h2{font-size:26px;margin-bottom:24px}.age-page h3{font-size:20px;margin-bottom:16px}
 .age-courses{grid-template-columns:1fr;gap:18px}.age-course{padding:26px 22px}
 .age-page :is(.age-eiken,.age-trial){padding:28px 22px}.age-section{margin-top:52px}
 .age-page table{font-size:14px}.age-page th,.age-page td{padding:16px 12px}.age-page th:first-child{width:61%}
 .age-trial-button{padding:16px 14px;gap:10px;font-size:15px;width:100%}
 .age-photo img{height:280px}.jksy-age-teens-adults .age-section{margin-top:64px}
 .jksy-age-teens-adults .age-intro{padding-left:20px;margin-bottom:32px}
 .jksy-age-teens-adults .age-page h1{font-size:34px}
 .jksy-age-teens-adults .age-trial-button{padding:18px 12px}
}
/* Fit the original four-character row above the original bottom-anchored copy. */
@media(min-width:761px){
 .hero{--jksy-art-height:max(100px,calc(100svh - var(--jksy-header-height,88px) - var(--jksy-bar-height) - var(--jksy-hero-copy-height,196px) - 100px))}
 .hero .letter-stage{position:absolute;top:24px;left:50%;transform:translateX(-50%);margin:0;width:min(1120px,calc(var(--jksy-art-height) * 3.2));height:var(--jksy-art-height);min-height:0}
 .hero .hero-letter{height:100%;min-height:0}
}
@media(max-width:760px){
 .hero .letter-stage{position:absolute;top:max(20px,min(calc((100% - 28vw)/2 + 25px),calc(100% - var(--jksy-hero-copy-height,165px) - 78px - 28vw - 32px)));left:50%;transform:translateX(-50%);margin:0}
}
.jksy-age-kids .age-photo img{border-radius:28px}
.age-page{word-break:auto-phrase}
.age-unit{white-space:nowrap}.age-kids-sticker{margin:0 0 20px}
