:root{--green:#254a3c;--ink:#263e33;--muted:#64736a;--paper:#f7f7f0;--line:#d9dfd4}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ab8234;outline-offset:6px}a:hover{opacity:.78}h1,h2,h3,p{margin:0}h1,h2,.brand strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}.draft{background:var(--green);color:#fff;text-align:center;padding:7px 16px;font-size:11px;letter-spacing:.08em}header{max-width:1440px;margin:auto;padding:25px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;flex-direction:column;line-height:1.5}.brand span{font-size:10px;letter-spacing:.16em}.brand strong{font-size:30px;letter-spacing:.18em}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-cta{border:1px solid var(--green);padding:10px 20px}.nav-cta span{margin-left:20px}.hero{display:grid;grid-template-columns:1fr 1.04fr;max-width:1440px;margin:auto;min-height:540px;padding-left:9%;padding-top:25px}.hero-copy{padding:35px 20px 35px 0}.eyebrow{font-family:Georgia,serif;color:#788361;font-size:11px;letter-spacing:.2em;margin-bottom:25px}h1{font-size:clamp(33px,3.65vw,54px);line-height:1.65;letter-spacing:.09em}.intro{margin-top:26px;line-height:2.3;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--green);color:#fff;padding:15px 25px;margin-top:30px;font-size:13px}.hero-area{font-size:10px;letter-spacing:.08em;margin-top:22px;color:var(--muted)}.hero-image{position:relative;min-height:510px;overflow:hidden;border-radius:180px 0 0 0;background:#26332c}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:47% center;filter:brightness(.8)}.image-label{position:absolute;bottom:25px;left:30px;color:#fff;font-family:Georgia,serif;letter-spacing:.2em;font-size:10px}.facts{max-width:1120px;margin:0 auto;padding:37px 0;display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}.facts>div{text-align:center;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts small{font:10px Georgia,serif;letter-spacing:.17em;color:#7c856c}.facts p{font-size:15px;margin-top:8px}.facts strong{font-family:Georgia,serif;font-size:32px;font-weight:400}.facts span{font-size:11px;color:var(--muted)}.section{max-width:1120px;margin:auto;padding:95px 0}.about,.area{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}h2{font-size:32px;line-height:1.8;letter-spacing:.07em}.feature-list article{display:flex;gap:23px;padding:25px 0;border-bottom:1px solid var(--line)}.feature-list article:first-child{padding-top:0}.number{font-family:Georgia,serif;color:#909a78;font-size:23px}h3{font-size:17px;font-weight:500;letter-spacing:.025em}.feature-list p,.area-content>p{color:var(--muted);margin-top:12px;line-height:2}.price-section{padding:80px max(6%,calc((100% - 1120px)/2));display:grid;grid-template-columns:1fr 1.3fr;gap:70px;background:#e9eee3}.section-heading>p:last-child:not(.eyebrow){margin-top:25px;color:var(--muted);line-height:2.2}.price-card{background:#fffefa;padding:40px}.pill{color:#697751;font-size:12px}.price{margin-top:12px;font-size:18px}.price strong{font-family:Georgia,serif;font-size:55px;font-weight:400;letter-spacing:-.03em}.price-sub{font-size:12px;color:var(--muted)}dl{margin:25px 0 18px}dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}dd{margin:0}dt{color:var(--muted)}.note{font-size:11px;color:var(--muted);line-height:1.9}.stations{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.stations>div{border-top:1px solid var(--green);padding-top:20px}.stations span,.steps span{font-family:Georgia,serif;letter-spacing:.15em;font-size:10px;color:#7e886b}.stations h3{font-family:"Yu Mincho",serif;font-size:26px;margin:8px 0}.stations p{font-size:11px;color:var(--muted)}.flow{border-top:1px solid var(--line);padding-top:75px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.steps h3{margin:14px 0}.steps p{color:var(--muted);font-size:13px;line-height:2}.notice{margin-top:50px;border:1px solid var(--line);padding:25px 30px}.notice h3{font-size:14px}.notice p{font-size:12px;color:var(--muted);margin-top:5px}footer{padding:50px max(6%,calc((100% - 1120px)/2)) 25px;background:var(--green);color:#eff1e9}footer>p{margin-top:20px;font-size:12px;color:#ccd5c9}.footer-bottom{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #64776b;margin-top:35px;padding-top:20px;font-size:10px;color:#ccd5c9}
@media(min-width:1441px){.hero{padding-left:129px}}
@media(max-width:1200px){.section,.facts{margin-left:6%;margin-right:6%}.about,.area,.price-section{gap:40px}nav{gap:18px}}
@media(max-width:760px){.draft{font-size:9px}header{padding:20px 6%;align-items:flex-start;flex-direction:column;gap:18px}.brand strong{font-size:25px}nav{width:100%;gap:0;justify-content:space-between;font-size:10px}.nav-cta{border:0;padding:0}.nav-cta span{display:none}.hero{padding:0;display:flex;flex-direction:column;min-height:0}.hero-copy{padding:26px 8% 36px}.eyebrow{margin-bottom:17px;font-size:10px}h1{font-size:36px}.intro{font-size:13px;margin-top:20px}.hero-image{min-height:280px;margin-left:8%;border-radius:100px 0 0 0}.hero-area{font-size:9px}.facts{padding:28px 0;margin:0 4%}.facts strong{font-size:23px}.facts p{font-size:11px}.facts small{font-size:8px}.facts span{font-size:9px;display:block;max-width:115px;margin:auto}.section{padding:60px 0}.about,.area,.price-section{grid-template-columns:1fr;gap:30px}h2{font-size:27px}.feature-list article{padding:22px 0}h3{font-size:16px}.feature-list p{font-size:13px}.price-section{padding:55px 6%}.price-card{padding:28px}.price strong{font-size:48px}.steps{grid-template-columns:1fr;gap:25px;margin-top:27px}.steps article{border-bottom:1px solid var(--line);padding-bottom:23px}.steps h3{margin:8px 0}.notice{margin-top:30px;padding:20px}.footer-bottom{font-size:9px}html{scroll-padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.trial{border-left:2px solid #8a9975;padding:3px 0 3px 16px;margin:22px 0}.trial h3{font-size:14px}.trial p{font-size:12px;color:var(--muted);margin-top:8px;line-height:2}

header nav{flex-wrap:wrap;justify-content:flex-end;gap:16px;font-size:11px}.brand{flex-shrink:0}
.contact-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.contact-actions .button{margin-top:18px}
.text-link{display:inline-block;border-bottom:1px solid var(--green);font-size:12px;margin-top:15px}
.footer-contact{display:flex;gap:30px;flex-wrap:wrap;margin-top:25px;font-size:12px}
.sister-schools{margin-top:30px;padding-top:22px;border-top:1px solid #64776b}.sister-schools>p{font-size:11px;letter-spacing:.14em;color:#ccd5c9}.sister-schools>div{display:flex;gap:25px;flex-wrap:wrap;margin-top:10px;font-size:12px}.sister-schools a{text-decoration:underline;text-underline-offset:4px}
.inner-page{max-width:940px;margin:0 auto;padding:15px 35px 80px}.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}
.breadcrumb a{text-decoration:underline}.inner-heading{padding:55px 0 40px}.inner-heading h1{font-size:36px}.inner-heading>p:last-child{margin-top:23px;color:var(--muted);line-height:2.2}
.inner-panel{padding:36px 40px;background:#fffefa;border:1px solid var(--line)}.inner-panel h2,.inner-section h2{font-size:24px}
.inner-panel small{font-size:11px;color:var(--muted)}.inner-panel dd{text-align:right}.inner-panel>p{margin-top:14px;color:var(--muted)}
.inner-section{padding:45px 0}.inner-section>p:not(.eyebrow){margin-top:18px;color:var(--muted)}.application-steps{padding-left:24px;margin:25px 0 0}.application-steps li{padding:10px 0 20px 10px}.application-steps p{margin-top:7px;color:var(--muted)}
.centered{text-align:center}.destination .note{margin-top:18px}.destination-pending{display:inline-block;background:#e5e9df;color:#59634f;padding:16px 28px;margin-top:25px;font-size:14px}
.cross-link{text-align:center;padding-top:35px;font-size:13px}.cross-link a{text-decoration:underline;text-underline-offset:5px}.mobile-break{display:none}
@media(max-width:760px){header nav{justify-content:flex-start;gap:12px 20px;font-size:10px}.inner-page{padding:10px 6% 55px}.inner-heading{padding:35px 0 28px}.inner-heading h1{font-size:29px}.inner-panel{padding:25px 20px}.inner-panel h2,.inner-section h2{font-size:21px}.inner-panel dl>div{font-size:12px}.inner-panel dt{flex-shrink:0}.mobile-break{display:block}.contact-actions{gap:5px 25px}.footer-contact{gap:14px}.cross-link a{display:inline-block}}

.stations .studio-name{font-size:15px;color:var(--ink);margin-top:12px}.stations .studio-schedule{font-size:12px;color:var(--green);margin:8px 0 3px;font-weight:600}

.booking-deadline{margin-top:22px;padding:16px 20px;background:#e9eee3;color:var(--green);font-size:14px}.access-link{text-decoration:underline;text-underline-offset:4px}

.detailed-steps li{padding-top:20px;padding-bottom:35px;border-bottom:1px solid var(--line)}.detailed-steps li+li{margin-top:20px}.detailed-steps li::marker{font-family:Georgia,serif;font-size:24px;color:#788361}.flow-details{background:#e9eee3;padding:20px 25px;margin:20px 0}.flow-details h4{margin:0;font-size:13px;font-weight:500}.flow-details ul{padding-left:20px;margin:10px 0 0;list-style:disc}.flow-details li{border:0;padding:0;font-size:13px}.flow-details li+li{margin-top:3px}.flow-details li::marker{font-family:inherit;font-size:13px}.centered .contact-actions{justify-content:center}

.vertical-flow{list-style:none;padding:0;margin:35px 0 0;display:flex;flex-direction:column;gap:75px}
.vertical-flow>.flow-step{position:relative;background:#fffefa;border:1px solid var(--line);padding:30px 35px}
.flow-number{display:block;text-align:center;color:var(--green);font-size:40px;line-height:1.25;margin-bottom:18px}
.vertical-flow h3{text-align:center;font-size:21px;line-height:1.7;margin-bottom:22px}
.vertical-flow p{margin-top:14px;color:var(--muted)}.vertical-flow .flow-arrow{position:absolute;top:calc(100% + 17px);left:50%;transform:translateX(-50%);font-size:32px;color:#788361;line-height:1.3}
.vertical-flow .flow-details ul{padding-left:20px}.vertical-flow .flow-details li{margin-top:5px}
@media(max-width:760px){.vertical-flow>.flow-step{padding:25px 20px}.vertical-flow h3{font-size:18px}.flow-number{font-size:35px}.vertical-flow dl>div{font-size:12px}.vertical-flow dd{text-align:right}}

.cancellation-notice{border-left:3px solid #8a9975;background:#e9eee3;padding:24px 28px;margin:0 0 40px}.cancellation-notice h2{font-family:inherit;font-size:17px;letter-spacing:0}.cancellation-notice p{margin-top:10px;color:var(--muted);line-height:2}.cancellation-inline{margin-top:28px;font-size:12px;color:var(--muted);line-height:2}

/* Shared header navigation: clear rounded links on every page. */
.site-header .site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:12px}
.site-header .site-nav>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;background:#e2e9dc;border:1px solid #9cad94;border-radius:12px;color:#254a3c;font-weight:500;line-height:1.5;text-align:center;white-space:nowrap;transition:background-color .15s,border-color .15s}
.site-header .site-nav>a:hover{opacity:1;background:#d0ddc7;border-color:#718968}
.site-header .site-nav>a:focus-visible{outline:3px solid #9b6d22;outline-offset:3px}
.site-header .site-nav>a.nav-cta{background:#254a3c;color:#fff;border-color:#254a3c}
.site-header .site-nav>a.nav-cta:hover{background:#18382b;border-color:#18382b}
.site-header .site-nav .nav-cta span{margin-left:0}
@media(max-width:1000px){.site-header{flex-direction:column;align-items:flex-start;gap:18px}.site-header .site-nav{width:100%;justify-content:flex-start}}
@media(max-width:760px){.site-header .site-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.site-header .site-nav>a{padding:10px 8px;font-size:11px;white-space:normal}.site-header .site-nav .nav-cta span{display:none}}
@media(max-width:540px){.site-header .site-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav>a{transition:none}}

.back-to-top{display:flex;justify-content:center;padding:25px 6% 40px}
.back-to-top>a{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:44px;padding:12px 28px;background:#e2e9dc;border:1px solid #9cad94;border-radius:12px;color:var(--green);font-size:14px}
.back-to-top>a:hover{opacity:1;background:#d0ddc7;border-color:#718968}

.profile-intro{padding:34px 40px;background:#e9eee3;border-left:3px solid #8a9975}
.profile-role{font-size:11px;letter-spacing:.14em;color:#697751}.profile-intro h2{margin-top:8px;font-size:34px}
.profile-section{border-bottom:1px solid var(--line)}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.profile-list article{padding:25px 28px;background:#fffefa;border-top:1px solid var(--green)}.profile-list h3{margin-bottom:9px}.profile-list p{color:var(--muted);line-height:2}.profile-list p+p{margin-top:12px}
.profile-reference{margin:45px 0 10px;padding:38px 42px;background:#e9eee3}.profile-reference h2{font-size:24px}.profile-reference>p:not(.eyebrow){margin-top:16px;color:var(--muted);line-height:2}
@media(max-width:760px){.profile-intro{padding:28px 24px}.profile-intro h2{font-size:28px}.profile-list{grid-template-columns:1fr}.profile-reference{padding:28px 24px}.profile-reference .button{gap:18px;text-align:left}}

.form-panel,.form-complete{margin-top:35px}.application-form{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label,.form-legend{font-size:13px;font-weight:600}.required{color:#8a3e35;font-size:11px;margin-left:7px}.optional{color:var(--muted);font-size:11px;margin-left:7px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b9c3b5;border-radius:8px;background:#fff;padding:12px 14px;color:var(--ink);font:inherit}.form-field textarea{min-height:120px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #c4d0bd;outline-offset:1px;border-color:var(--green)}.radio-group{display:flex;gap:10px;flex-wrap:wrap}.radio-choice{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.radio-choice input{width:auto}.form-help{font-size:11px;color:var(--muted)}.form-errors{margin:25px 0;padding:18px 22px;border-left:3px solid #9c4137;background:#f4e7e4}.form-errors h2{font-family:inherit;font-size:15px}.form-errors ul{margin:8px 0 0;padding-left:20px}.form-errors a{text-decoration:underline}.consent-box{margin-top:25px;padding:18px 20px;background:#e9eee3}.consent-box label{display:flex;gap:10px;align-items:flex-start}.consent-box input{margin-top:7px}.form-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}.form-actions .button{margin-top:0;border:0;cursor:pointer}.button.secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.confirm-list{margin-top:25px}.confirm-list>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.confirm-list dt{color:var(--muted)}.confirm-list dd{margin:0;white-space:pre-wrap}.form-complete{text-align:center;padding:45px 35px;background:#e9eee3}.form-complete h2{font-size:25px}.form-complete p{margin-top:16px;color:var(--muted)}.privacy-note{margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}.privacy-note h2{font-family:inherit;font-size:16px}.privacy-note p{margin-top:10px;color:var(--muted);font-size:12px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.confirm-list>div{grid-template-columns:1fr;gap:4px}.form-actions{flex-direction:column}.form-actions .button{width:100%}}
