/* Top-page art direction: calm, editorial and trustworthy */
h1,h2,h3{word-break:auto-phrase;text-wrap:pretty}
section[id]{scroll-margin-top:82px}
@media(max-width:850px){section[id]{scroll-margin-top:72px}}
.home .site-header{position:fixed;inset:0 0 auto;z-index:50;background:#fffdf8;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(24,59,69,.3);transition:border-color .25s}
.home .site-header.is-scrolled{background:#fffdf8;border-bottom-color:rgba(34,124,120,.2);box-shadow:none}



.concerns{position:relative;overflow:hidden;background:#f2f7f6}.concerns::before{content:"";position:absolute;width:520px;aspect-ratio:1;border:1px solid rgba(34,124,120,.1);border-radius:50%;left:-250px;top:-270px}.concern-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(45px,7vw,90px);align-items:start}.concern-intro{position:sticky;top:120px}.concern-intro h2{margin:.35em 0;font-family:"Yu Mincho",serif;color:var(--deep);font-size:clamp(2rem,3.6vw,3rem);line-height:1.4}.concern-intro h2 span{display:block}.concern-intro>p:last-child{color:var(--muted)}.concern-list{border-top:1px solid rgba(34,124,120,.25)}.concern-item{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:30px 6px;border-bottom:1px solid rgba(34,124,120,.25)}.concern-item>span{color:var(--orange);font-family:Arial,sans-serif;font-size:1.42rem;font-weight:900;line-height:1.35}.concern-item h3{margin:0 0 7px;color:var(--deep);font-size:1.18rem}.concern-item p{margin:0;color:var(--muted);font-size:.93rem}
#features .feature-card>div{padding-top:24px}#features .feature-card h3{position:relative;margin:0 0 18px;padding-bottom:16px;font-size:1.15rem}#features .feature-card h3::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--orange),rgba(34,124,120,.24))}
.courses-section{background:linear-gradient(180deg,var(--cream),#f0f6f4)}.class-tabs{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;max-width:1040px;margin:auto}.class-tab-list{display:grid;align-content:start;border-top:1px solid rgba(34,124,120,.22)}.class-tab{display:grid;grid-template-columns:40px 118px 1fr 24px;align-items:center;gap:12px;width:100%;padding:24px 8px;border:0;border-bottom:1px solid rgba(34,124,120,.22);background:transparent;color:var(--deep);text-align:left;cursor:pointer;transition:background-color .25s,padding-left .25s}.class-tab:hover,.class-tab.is-active{padding-left:18px;background:rgba(255,255,255,.7)}.class-tab span{color:var(--muted);font-size:.78rem}.class-tab strong{font-family:"Yu Mincho",serif;font-size:1.18rem}.class-tab small{color:var(--muted)}.class-tab.is-active span,.class-tab.is-active strong{color:var(--teal)}.class-panel{min-height:465px;overflow:hidden;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.class-pane{height:100%}.class-pane[hidden]{display:none}.class-pane img{width:100%;height:330px;object-fit:cover}.class-pane>div{padding:24px 28px}.class-pane h3{margin:0 0 7px;color:var(--deep);font-size:1.35rem}.class-pane p{margin:0;color:var(--muted)}
.support-section .section-head{max-width:980px}.support-section .section-head h2 span{display:inline}.support-list{display:grid;gap:70px}.support-row{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(34px,7vw,90px);align-items:center}.support-row.reverse img{order:2}.support-row img{width:100%;height:360px;border-radius:2px 80px 2px 2px;object-fit:cover}.support-row.reverse img{border-radius:80px 2px 2px 2px}.support-row>div{padding:28px 0;border-block:1px solid rgba(34,124,120,.2)}.support-row span{color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.12em}.support-row h3{font-family:"Yu Mincho",serif;color:var(--deep);font-size:clamp(1.65rem,3vw,2.35rem);margin:.35em 0}.support-row p{color:var(--muted)}
.flow-section{overflow:hidden;background:#fffdf8}
.zs-faq09{position:relative;overflow:hidden;padding:112px 0 120px!important;background:#f7f3ee!important;color:var(--ink)}.zs-faq09::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,124,120,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(34,124,120,.055) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(#000,transparent 72%);mask-image:linear-gradient(#000,transparent 72%);pointer-events:none}.zs-faq09::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 14%,rgba(231,243,241,.72),transparent 34%);pointer-events:none}.zs-faq09 .faq09-in{position:relative;z-index:1;width:min(880px,calc(100% - 48px));margin:0 auto}.zs-faq09 .faq09-head{max-width:640px}.zs-faq09 .eyebrow{display:block;margin:0;color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:.22em}.zs-faq09 h2{margin:12px 0 0;color:var(--deep);font-family:"Yu Mincho",serif;font-size:clamp(2rem,4.2vw,3rem);line-height:1.45}.zs-faq09 .faq09-lead{max-width:42em;margin:17px 0 0;color:#667779;font-size:.95rem}.zs-faq09 .faq09-list{margin-top:50px;border-top:1px solid rgba(24,59,69,.24)}.zs-faq09 .faq09-item{padding:31px 0 28px;border-bottom:1px solid rgba(24,59,69,.24)}.zs-faq09 .faq09-qrow{display:flex;align-items:baseline;gap:16px}.zs-faq09 .faq09-qmark{flex:none;color:var(--orange);font-family:"Yu Mincho",serif;font-size:1.45rem;font-weight:700;line-height:1}.zs-faq09 .faq09-question{margin:0;color:var(--deep);font-family:"Yu Mincho",serif;font-size:clamp(1.08rem,2vw,1.32rem);font-weight:700;line-height:1.65}.zs-faq09 .faq09-leader{flex:1 1 auto;min-width:28px;border-bottom:1px dotted rgba(24,59,69,.4);transform:translateY(-6px)}.zs-faq09 .faq09-no{flex:none;color:#879496;font-size:.75rem;letter-spacing:.18em}.zs-faq09 .faq09-answer{display:flex;gap:16px;margin:15px 0 0}.zs-faq09 .faq09-amark{flex:none;color:var(--teal);font-size:.82rem;font-weight:800;line-height:2.2;letter-spacing:.1em}.zs-faq09 .faq09-answer p{max-width:46em;margin:0;color:#526669;font-size:.92rem}.zs-faq09 .faq09-note{margin:38px 0 0;color:#667779;font-size:.86rem;text-align:center}.zs-faq09 .faq09-note a{display:inline-block;margin-left:.35em;border-bottom:1px solid currentColor;color:var(--teal);font-weight:800}
@media(max-width:850px){.concern-layout{grid-template-columns:1fr;gap:34px}.concern-intro{position:static}.concern-intro h2{font-size:2.15rem}.concern-item{grid-template-columns:42px 1fr;padding:24px 0}.class-tabs{grid-template-columns:1fr;gap:24px}.class-tab{grid-template-columns:32px 104px 1fr 20px;padding:20px 4px}.class-tab:hover,.class-tab.is-active{padding-left:10px}.class-tab small{font-size:.75rem}.class-panel{min-height:400px}.class-pane img{height:260px}.class-pane>div{padding:20px}.support-section .section-head h2 span{display:block}.support-list{gap:48px}.support-row{grid-template-columns:1fr;gap:20px}.support-row.reverse img{order:0}.support-row img,.support-row.reverse img{height:260px;border-radius:2px 52px 2px 2px}.support-row>div{padding:20px 0}}
@media(max-width:370px){.concern-intro h2{font-size:1.9rem}.class-tab{grid-template-columns:28px 88px 1fr 18px}.class-tab strong{font-size:.92rem}}

/* 2026-09-12: one-page integration, wider class tabs and mobile refinements */
.class-tabs{grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:30px;max-width:1180px}
.class-tab{min-height:116px}
.class-panel{min-height:348px}
.class-pane{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(250px,.68fr);height:348px}
.class-pane[hidden]{display:none}
.class-pane img{height:348px}
.class-pane>div{display:flex;flex-direction:column;justify-content:center;padding:34px}
.director-section{background:linear-gradient(180deg,#fffdf8,#f7f4ea)}
.director-wide{width:min(1180px,calc(100% - 80px));margin:auto}
.director-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"stage" "proof";gap:28px}
.director-portrait{grid-area:stage;position:relative;z-index:0;width:100%;aspect-ratio:3/2;margin:0;overflow:hidden;border-radius:3px 76px 3px 3px;background:#dce9e5}
.director-portrait::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#f8f6ef 0%,rgba(248,246,239,.96) 35%,rgba(211,231,226,.68) 52%,rgba(211,231,226,.18) 70%,transparent 84%)}
.director-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;transform:translateX(3cm)}
.director-portrait figcaption{position:absolute;z-index:2;inset:auto 0 0 auto;padding:58px 30px 26px;background:linear-gradient(180deg,transparent,rgba(11,43,50,.88));color:#fff;text-align:right}
.director-portrait figcaption span{display:block;color:#b9e4df;font-size:.7rem;font-weight:900;letter-spacing:.16em}
.director-portrait figcaption b{display:block;margin-top:3px;font-family:"Yu Mincho",serif;font-size:1.05rem;letter-spacing:.04em}
.director-message{grid-area:stage;position:relative;z-index:2;align-self:center;justify-self:start;display:flex;flex-direction:column;justify-content:center;width:min(550px,49%);padding:54px 0 54px 48px}
.director-section h2{margin:.22em 0 .58em;font-family:"Yu Mincho",serif;color:var(--deep);font-size:clamp(2.45rem,3.4vw,3.35rem);line-height:1.36;letter-spacing:.02em}
.director-section h2 span{display:block}
.director-message>p:not(.eyebrow){margin:0 0 1.15em;color:#425b5f;font-size:1rem;line-height:1.98}
.director-proof{grid-area:proof;display:grid;grid-template-columns:270px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:34px;margin:0;padding:36px 34px;border:0;border-left:4px solid var(--teal);border-radius:3px 36px 3px 3px;background:linear-gradient(110deg,rgba(218,235,230,.88),rgba(255,255,255,.78) 48%,rgba(246,241,228,.76))}
.director-proof-label{margin:0;color:var(--teal);font-size:.68rem;font-weight:900;letter-spacing:.18em}
.director-proof h3{grid-column:1;grid-row:2;margin:9px 0 0;color:var(--deep);font-family:"Yu Mincho",serif;font-size:1.7rem;line-height:1.55}
.director-proof dl{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}.director-proof dl>div{padding:3px 0 3px 20px;border-left:1px solid var(--line)}
.director-proof dt{margin-bottom:5px;color:var(--teal);font-size:.76rem;font-weight:900;letter-spacing:.06em}.director-proof dd{margin:0;color:var(--muted);font-size:.84rem;line-height:1.82}

@media(max-width:850px){
  
  
  
  
  
  .class-tabs{grid-template-columns:1fr;gap:22px}
  .class-tab{min-height:auto}
  .class-pane{display:block;height:auto}
  .class-pane[hidden]{display:none}
  .class-pane img{height:255px}
  .director-wide{width:min(100% - 28px,680px)}
  .director-grid{grid-template-columns:1fr;grid-template-areas:"portrait" "message" "proof";gap:24px}
  .director-portrait{grid-area:portrait;aspect-ratio:3/2;border-radius:2px 48px 2px 2px}
  .director-portrait::after{background:linear-gradient(180deg,transparent 66%,rgba(11,43,50,.72))}
  .director-portrait img{transform:none}
  .director-portrait figcaption{padding:38px 18px 16px}
  .director-portrait figcaption b{font-size:.92rem}
  .director-message{grid-area:message;width:auto;padding:10px 2px}
  .director-section h2{font-size:clamp(2rem,9vw,2.65rem);line-height:1.5}
  .director-proof{grid-area:proof;display:block;padding:25px 22px;border:1px solid rgba(34,124,120,.22);border-radius:30px 3px 30px 3px;background:rgba(255,255,255,.76)}
  .director-proof h3{margin:8px 0 20px}
  .director-proof dl{display:block}.director-proof dl>div{padding:17px 0;border-top:1px solid var(--line);border-left:0}
  #features .section-head h2 .sp-line,#courses .section-head p .sp-line{display:block}
  #courses .section-head p .sp-line:last-child{font-size:.82rem;letter-spacing:-.04em;white-space:nowrap}
}

@media(max-width:370px){}
@media(prefers-reduced-motion:reduce){.reveal{transition:none}}

/* 2026-09-15 — phone-only homepage.
   Header/footer: parts header-01, footer-03.
   Enrollment: sec-process-06, adapted as a quiet editorial timeline.
   Final CTA: sec-cta-10, adapted as a phone-only consultation panel. */
.home .header-inner{width:calc(100% - 48px);max-width:none;height:82px;margin-inline:auto;justify-content:space-between;gap:18px}
.site-name{display:grid;line-height:1.5;color:var(--deep)}
.site-name>span{font-size:.7rem;letter-spacing:.08em}
.site-name>strong{font-family:"Yu Mincho",serif;font-size:1.35rem}
.header-call{display:flex;align-items:center;gap:12px;text-align:center;white-space:nowrap;border:1px solid var(--teal);border-radius:999px;padding:11px 18px;background:var(--deep);color:#fff;transition:opacity .2s;box-shadow:none}
.header-call span{font-size:.85rem;font-weight:700}
.header-call span::after{content:" ▶";font-size:.72em}
.header-call b{font-size:1.12rem;letter-spacing:.03em;line-height:1}
.header-call:hover{opacity:.7}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.home .hero{min-height:680px;min-height:100svh;aspect-ratio:auto;display:flex;align-items:center;padding:110px 0 30px;background:var(--cream);isolation:isolate}
.home .hero .container{width:min(1272px,calc(100% - 80px));transform:translateY(calc((min(100svh,880px) - 100svh)/2))}
.hero-visual{position:absolute;inset:0;z-index:-2}
.hero-visual picture{display:block;width:100%;height:100%}
.home .hero-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:67% center;filter:none}
.home .hero::after{z-index:-1;background:linear-gradient(90deg,#f7f4ea 0%,rgba(247,244,234,.97) 28%,rgba(247,244,234,.86) 43%,rgba(247,244,234,.12) 66%,transparent 100%)}
.home .hero-copy{position:relative;z-index:1;width:min(55%,640px);max-width:none;padding:0;margin:0}
.hero-heading{transform:none}
.home .hero .eyebrow{display:inline-block;margin:0 0 26px;padding:7px 15px;border:1px solid rgba(34,124,120,.25);border-radius:999px;background:rgba(255,255,255,.72);font-size:.8rem;animation:none;opacity:1}
.home .hero h1{font-size:clamp(2.7rem,4.4vw,4.25rem);line-height:1.35;margin:0 0 28px;letter-spacing:0;text-shadow:none}
.home .hero h1 span{display:block;white-space:nowrap;animation:none;transform:none;opacity:1}
.home .hero .lead{font-size:clamp(.92rem,1.2vw,1.06rem);line-height:2;margin:0;max-width:none;font-weight:700;animation:none;opacity:1;transform:none}
.home .hero .lead span{display:inline-block;white-space:nowrap}
.home .hero .lead span:last-child{display:block}




.class-tabs{grid-template-columns:310px minmax(0,1fr);gap:28px}
.class-tab{grid-template-columns:minmax(0,1fr) 20px;gap:4px 10px;padding:20px 12px;min-height:116px}
.class-tab>strong{grid-column:1;white-space:nowrap}
.class-tab>small{grid-column:1;grid-row:2}
.class-pane{grid-template-columns:1.1fr 1fr}
.class-pane>div{padding:28px}
.course-schedule{margin-top:30px;padding:28px 30px 20px;background:#fff;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:180px 1fr;gap:20px 25px;align-items:center}
.schedule-label>span{color:var(--teal);letter-spacing:.13em;font-size:.65rem;font-weight:800}
.schedule-label h3{font-family:"Yu Mincho",serif;font-size:1.4rem;color:var(--deep);margin:4px 0 0}
.course-schedule dl{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;margin:0}
.course-schedule dl>div{padding-left:22px;border-left:1px solid var(--line)}
.course-schedule dt{font-size:.78rem;color:var(--muted);margin-bottom:6px}
.course-schedule dd{margin:0;font-size:1.35rem;color:var(--deep);font-weight:800;white-space:nowrap;line-height:1.6}
.course-schedule dd>span:not(.time-separator){display:block}
.course-schedule dl>div:nth-child(2) dd{font-size:.78rem;font-weight:500}
.course-schedule dl>div:nth-child(2) dd>span{font-size:1.35rem;font-weight:800;display:inline;margin-left:.4em}
.time-separator{padding:0 3px}
.schedule-note{grid-column:1/-1;text-align:right;border-top:1px solid var(--line);padding-top:13px;margin:0;font-size:.83rem;color:var(--muted)}
.flow-section{background:var(--paper)}
.enrollment-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.enrollment-intro{position:sticky;top:120px}
.enrollment-intro h2{font-family:"Yu Mincho",serif;font-size:clamp(2rem,3.4vw,3rem);line-height:1.4;margin:12px 0 24px;color:var(--deep)}
.enrollment-intro>p:not(.eyebrow){color:var(--muted);line-height:2}
.enrollment-caption{display:block;margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:.78rem;letter-spacing:.05em;color:var(--teal)}
.enrollment-mini-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:min(100%,320px);min-height:72px;margin-top:20px;padding:12px 16px 12px 18px;border:1px solid #c7d9d5;border-radius:6px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(24,59,69,.08);color:var(--deep);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease,color .2s ease,border-color .2s ease}
.enrollment-mini-cta small,.enrollment-mini-cta b{display:block}
.enrollment-mini-cta small{color:var(--teal);font-size:.68rem;font-weight:800;letter-spacing:.06em;transition:color .2s ease}
.enrollment-mini-cta b{margin-top:1px;font-size:.98rem;letter-spacing:.02em}
.enrollment-mini-cta i{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-style:normal;transition:transform .2s ease}
.enrollment-mini-cta:hover,.enrollment-mini-cta:focus-visible{border-color:var(--deep);background:var(--deep);color:#fff}
.enrollment-mini-cta:hover small,.enrollment-mini-cta:focus-visible small{color:#cfe9e4}
.enrollment-mini-cta:hover i,.enrollment-mini-cta:focus-visible i{transform:translate(2px,-2px)}
.enrollment-steps{margin:0;padding:0;list-style:none;counter-reset:enrollment}
.enrollment-steps li{--step-gradient:linear-gradient(155deg,#d96d3d 8%,#bd7957 92%);display:grid;grid-template-columns:96px 1fr;gap:28px;padding:38px 0 40px;border-top:1px solid #c3d8d3}
.enrollment-steps li:nth-child(2){--step-gradient:linear-gradient(155deg,#bd7957 5%,#879080 52%,#57958f 96%)}
.enrollment-steps li:nth-child(3){--step-gradient:linear-gradient(155deg,#57958f 5%,#227c78 95%)}
.enrollment-steps li:last-child{border-bottom:1px solid #c3d8d3}
.enrollment-number{align-self:start;display:block;padding-bottom:.08em;font-family:Georgia,serif;font-size:4.35rem;line-height:1.08;font-weight:400;letter-spacing:-.035em;color:transparent;background:var(--step-gradient);-webkit-background-clip:text;background-clip:text}
.enrollment-steps small{font-size:.65rem;letter-spacing:.16em;color:var(--teal);font-weight:700}
.enrollment-steps h3{font-size:1.42rem;color:var(--deep);margin:7px 0 11px;word-break:auto-phrase;text-wrap:pretty}
.enrollment-steps p{max-width:38em;margin:0;color:var(--muted);font-size:.93rem;line-height:1.95;word-break:auto-phrase;text-wrap:pretty}
.access-box{align-items:center;gap:48px}
#access h2{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","MS PMincho",serif!important;font-size:clamp(1.7rem,2.8vw,2.4rem)!important;font-weight:500;line-height:1.5;letter-spacing:normal!important}
.access-map{height:380px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--pale)}
.access-map iframe{display:block;width:100%;height:100%;border:0}
.home .site-footer{background:#15383f;padding:0;color:#edf5f2}
.footer-admission{position:relative;display:flex;align-items:center;min-height:650px;overflow:hidden;background:#15383f;border-bottom:1px solid rgba(255,255,255,.18);padding:96px 0}
.footer-admission-bg,.footer-admission-overlay{position:absolute;inset:0;width:100%;height:100%}
.footer-admission-bg{object-fit:cover;object-position:center;transform:translateX(3cm) scale(1.18);transform-origin:center}
.footer-admission-overlay{background:linear-gradient(92deg,rgba(15,48,56,.97) 0%,rgba(18,58,65,.9) 43%,rgba(18,58,65,.3) 75%,rgba(18,58,65,.06) 100%)}
.footer-admission-inner{position:relative;z-index:77}
.footer-admission-copy{max-width:610px}
.footer-admission .eyebrow{display:flex;align-items:center;gap:12px;width:max-content;color:#d8efeb;letter-spacing:.24em;font-size:.82rem}
.footer-admission .eyebrow::after{content:"";width:120px;height:1px;background:linear-gradient(90deg,#f3a076,rgba(243,160,118,0))}
.footer-admission h2{font-family:"Yu Mincho",serif;font-size:clamp(2.15rem,4.3vw,3.7rem);line-height:1.42;margin:14px 0 22px;word-break:auto-phrase;text-wrap:pretty}
.footer-admission h2 span{display:block}
.footer-admission-copy>p{max-width:43em;margin:0;color:#edf5f2;font-size:.96rem;line-height:2}
.footer-admission .footer-admission-status{position:relative;max-width:41em;margin-top:24px;padding:16px 20px 16px 48px;border:1px solid rgba(243,160,118,.5);border-radius:14px;background:linear-gradient(110deg,rgba(255,253,248,.12),rgba(255,253,248,.035));color:#fff;font-size:1rem;font-weight:600;line-height:1.85;box-shadow:0 12px 32px rgba(5,31,37,.12)}
.footer-admission .footer-admission-status::before{content:"";position:absolute;left:22px;top:26px;width:9px;height:9px;border:2px solid #f3a076;border-radius:50%;box-shadow:0 0 0 5px rgba(243,160,118,.12)}
.footer-admission .footer-admission-status strong{display:block;margin-bottom:2px;color:#fff;font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","MS PMincho",serif;font-size:1.28rem;font-weight:700;letter-spacing:.035em}
.footer-information{display:block;padding:24px 0 26px}
.footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#d5e3df;font-size:.75rem;font-weight:400;line-height:1.65;letter-spacing:.01em;text-align:center}
.footer-bottom>p{margin:0;padding:0;border:0;color:inherit;font:inherit;letter-spacing:inherit}
.footer-bottom .footer-legal-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55em}
.footer-bottom .ai-note{text-align:center}
.site-footer .ai-note{margin:0;max-width:none;color:inherit;font:inherit}
.site-footer .copyright{margin:0;padding:0;border:0;color:inherit;font:inherit;white-space:nowrap}
.to-top{position:fixed;right:22px;bottom:24px;z-index:75;width:54px;height:54px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;background:rgba(24,59,69,.92);color:#fff;box-shadow:0 10px 28px rgba(24,59,69,.24);font-size:.63rem;font-weight:900;letter-spacing:.08em;opacity:0;transform:translateY(14px);pointer-events:none;transition:.3s;cursor:pointer}.to-top.show{opacity:1;transform:none;pointer-events:auto}.to-top::before{content:"↑";display:block;font-size:1rem;line-height:.8}.to-top span{display:block;margin-top:-9px}
@media(min-width:851px) and (max-width:1080px){
 .home .hero{padding:96px 0 30px}
 .home .hero .eyebrow{margin-bottom:14px}
 .home .hero h1{font-size:clamp(2.35rem,5vw,3rem);line-height:1.25;margin-bottom:16px}
 .home .hero .lead{font-size:.9rem;line-height:1.65}
 .home .hero-copy{width:60%}
 .director-wide{width:calc(100% - 48px)}
 .director-message{width:min(500px,52%);padding-left:36px}
 .director-section h2{font-size:clamp(2.42rem,4.45vw,2.9rem)}
 .director-proof{grid-template-columns:230px minmax(0,1fr);column-gap:24px;padding-inline:28px}
 .director-proof dl{gap:18px}.director-proof dl>div{padding-left:16px}
 .class-tabs{grid-template-columns:270px minmax(0,1fr);gap:20px}
 .class-pane{grid-template-columns:1fr 1fr}
 .class-pane>div{padding:20px}
 .course-schedule{grid-template-columns:140px 1fr;padding:24px}
 .course-schedule dl{gap:12px}
 .course-schedule dl>div{padding-left:14px}
 .course-schedule dd{font-size:1.1rem}
 .enrollment-layout{gap:40px}
}
@media(max-width:850px){
 .home .header-inner{width:calc(100% - 28px);height:72px;gap:12px}
 .site-name{display:grid;line-height:1.5}
 .site-name>span{display:block;font-size:.58rem;letter-spacing:0}
 .site-name>strong{display:block;font-size:1rem;white-space:nowrap}
 .header-call{display:grid;gap:0;padding:8px 14px;text-align:center}
 .header-call span{font-size:.66rem}
 .header-call b{font-size:.88rem;letter-spacing:0}
 .home .hero{display:block;min-height:0;aspect-ratio:auto;padding:72px 0 22px;overflow:visible}
 .home .hero::after{display:none}
 .hero-visual{position:relative;inset:auto;width:100%;height:clamp(200px,29svh,330px);z-index:0;overflow:hidden}
 .home .hero-bg{position:absolute;inset:0;height:100%;object-position:center center;transform:none}
 .hero-visual::after{content:"";position:absolute;inset:auto 0 0;height:44px;background:linear-gradient(transparent,var(--cream))}
 .home .hero .container{width:min(680px,calc(100% - 36px));transform:none}
 .home .hero-copy{width:100%;padding:16px 0 0}
 .home .hero .eyebrow{font-size:.7rem;margin:0 0 14px;padding:5px 10px}
 .home .hero h1{font-size:clamp(2.05rem,7.8vw,3.4rem);line-height:1.35;margin:0 0 16px}
 .home .hero .lead{font-size:.93rem;line-height:1.9}
 
 
 .class-tabs{grid-template-columns:1fr;gap:22px}
 .class-tab{grid-template-columns:minmax(0,1fr) 20px;min-height:90px}
 .class-pane{display:block;height:auto}
 .class-pane img{height:280px}
 .class-pane>div{padding:24px}
 .course-schedule{grid-template-columns:1fr;gap:20px;padding:24px 20px}
 .course-schedule dl{grid-template-columns:1fr 1fr;gap:20px}
 .course-schedule dl>div{padding-left:14px}
 .course-schedule dl>div:last-child{grid-column:1/-1;display:flex;align-items:center;gap:24px}
 .course-schedule dl>div:last-child dt{margin:0}
 .course-schedule dd{font-size:1.2rem}
 .schedule-note{text-align:left;font-size:.8rem}
 .enrollment-layout{grid-template-columns:1fr;gap:30px}
 .enrollment-intro{position:static}
 .enrollment-intro>p:not(.eyebrow) br{display:none}
.enrollment-caption{margin-top:20px;padding-top:18px}
.enrollment-mini-cta{width:min(100%,340px);margin-top:16px}
 .enrollment-steps li{grid-template-columns:58px 1fr;gap:18px;padding:28px 0 30px}
 .enrollment-number{font-size:3rem}
 .enrollment-steps h3{font-size:1.16rem}
 .enrollment-steps p{font-size:.87rem}
 .access-box{gap:24px}
 .access-map{height:340px;border-radius:18px}
 .zs-faq09{padding:72px 0 80px!important}
 .zs-faq09 .faq09-in{width:min(100% - 28px,680px)}
 .zs-faq09 .faq09-item{padding:26px 0 24px}
 .zs-faq09 .faq09-qrow,.zs-faq09 .faq09-answer{gap:12px}
 .footer-admission{--admission-photo-height:clamp(265px,82vw,340px);display:block;min-height:0;padding:calc(var(--admission-photo-height) + 38px) 0 58px}
 .footer-admission-bg{inset:0 0 auto;height:var(--admission-photo-height);object-position:89% center;transform-origin:82% 38%;animation:admissionPhotoDrift 12s ease-in-out infinite alternate}
 .footer-admission-overlay{background:linear-gradient(180deg,rgba(15,48,56,.015) 0,rgba(15,48,56,.04) calc(var(--admission-photo-height) - 122px),rgba(15,48,56,.58) calc(var(--admission-photo-height) - 48px),rgba(21,56,63,.98) calc(var(--admission-photo-height) + 2px),#15383f 100%)}
 .footer-admission-copy{max-width:560px}
 .footer-admission h2{font-size:clamp(1.9rem,8.4vw,2.75rem)}
 .footer-admission-copy>p{font-size:.9rem;line-height:1.9}
 .footer-information{padding:22px 0 25px}
 .site-footer .ai-note{line-height:1.7}
 .home .fixed-cta{display:block;padding:8px 14px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,248,.96)}
 .home .fixed-cta a{display:flex;justify-content:center;align-items:center;gap:16px;min-height:52px;background:var(--deep);color:#fff;border:1px solid var(--deep);border-radius:999px;transition:background .2s,color .2s}
 .home .fixed-cta a:hover{background:#fff;color:var(--deep)}
 .home .fixed-cta span{font-size:.85rem}
 .home .fixed-cta span::after{content:" ▶";font-size:.72em}
 .home .fixed-cta b{font-size:1rem}
 body.home{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){.footer-admission h2{font-size:1.82rem}}
@media(max-width:600px){
 .footer-bottom{gap:7px}
}
body.footer-cta-visible .fixed-cta{opacity:0!important;transform:translateY(120%)!important;pointer-events:none!important}body.footer-cta-visible .to-top{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:600px){
 .hero-visual{height:auto;aspect-ratio:16/9}
 .home .hero-bg{transform:scale(1.2);transform-origin:center center}
 .home .hero{min-height:min(100svh,620px);padding-bottom:20px}
 .home .hero-copy{padding-top:12px}
 .home .hero .eyebrow{margin-bottom:10px}
 .home .hero h1{line-height:1.26;margin-bottom:12px}
 .home .hero .lead{margin:0;line-height:1.7}
 .home .hero-message{margin-top:14px;min-height:0}
 .home .hero-promise{padding:16px 12px}
 .home .hero-message .hero-promise-intro{margin-bottom:5px;line-height:1.4}
 .home .hero-message strong{line-height:1.4}
 .home .hero-promise ul{margin-top:10px;padding-top:10px}
}
@media(max-width:850px){.to-top{right:14px;bottom:86px;width:48px;height:48px}}
@media(max-width:360px){
 .home .hero-copy{padding-top:10px}
 .home .hero h1{margin-bottom:10px}
 
 .site-name>strong{font-size:.9rem}
 .header-call{padding:8px 10px}
 .header-call b{font-size:.78rem}
 .home .hero h1{font-size:1.95rem}
 .home .hero .lead{font-size:.86rem}
 .home .fixed-cta a{gap:10px}
 .home .fixed-cta span{font-size:.78rem}
 .course-schedule{padding:22px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}.header-call{transition:none}}
.skip:focus:not(:focus-visible){left:-9999px;top:auto;padding:0}
/* Header-01 and spmenu-01: transparent rule, solid on scroll, scoped drawer. */
.section-nav{display:flex;align-items:center;gap:18px;margin-left:auto}
.site-header .header-call{display:none!important}
.section-nav a{position:relative;display:flex;align-items:center;min-height:44px;font-size:1rem;font-weight:700;white-space:nowrap;color:var(--deep)}
.section-nav a::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.section-nav a:hover::after,.section-nav a:focus-visible::after{transform:scaleX(1)}
.section-menu-toggle{display:none}
.section-menu{position:fixed;inset:0 0 0 auto;width:min(88vw,390px);max-width:none;max-height:none;height:100%;height:100dvh;margin:0;padding:24px 26px;border:0;background:var(--paper);color:var(--deep);overscroll-behavior:contain}
.section-menu::backdrop{background:rgba(16,46,53,.45)}
.section-menu-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}
.section-menu-top p{font-size:.8rem;letter-spacing:.2em}
.section-menu-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--deep);font-size:1.6rem;cursor:pointer}
.section-menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:54px;border-bottom:1px solid var(--line);font-size:1rem}
.section-menu nav a::after{content:"↗";font-size:.9rem;color:var(--teal)}
body.section-menu-open{overflow:hidden}
.hero-message{margin-top:30px;max-width:520px;min-height:calc(143.272px + clamp(34.8px,3.335vw,46.4px));display:flex;flex-direction:column;justify-content:center}
.hero-promise{width:100%;padding:22px 24px;border:1px solid #bdcfca;border-radius:24px;background:rgba(255,253,248,.82);text-align:center}
.hero-message .hero-promise-intro{margin:0 0 7px;font-size:.85rem;line-height:1.5;color:#435e62}
.hero-message strong{display:block;font-family:"Yu Mincho",serif;font-weight:700;font-size:1.65rem;line-height:1.5;color:var(--teal);white-space:nowrap}
.hero-promise ul{display:flex;justify-content:center;list-style:none;margin:16px 0 0;padding:13px 0 0;border-top:1px solid #cddbd6}
.hero-promise li{padding:0 14px;font-size:.78rem;line-height:1.5;color:var(--deep);white-space:nowrap}
.hero-promise li+li{border-left:1px solid #b8cdca}
@media(min-width:851px){
 .hero-message{overflow:visible}
 .hero-promise{width:calc(100% + 48px);max-width:580px;padding:24px 26px 22px;background:rgba(255,253,248,.78);box-shadow:0 18px 46px rgba(24,59,69,.11);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .hero-message .hero-promise-intro{margin-bottom:6px;font-size:1rem;line-height:1.4}
 .hero-message strong{font-size:2.08rem;line-height:1.36}
 .hero-promise ul{margin-top:16px;padding-top:13px}
 .hero-promise li{font-size:.92rem;line-height:1.4}
}
@media(min-width:851px) and (max-width:1080px){
 .hero-message{margin-top:18px}
 .hero-promise{width:calc(100% + 32px);max-width:540px;padding-inline:24px}
 .hero-message strong{font-size:1.96rem}
}
.access-map-group{min-width:0;width:100%}
.access-map iframe{min-width:0}
.map-help{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:12px 0 0;font-size:.72rem;color:var(--muted)}
.map-help button,.map-help a{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--teal);cursor:pointer}
.map-help a{margin-left:auto}
@media(max-width:1149px){
 .section-nav{display:none}
 .home .header-inner>.header-call{margin-left:auto}
 .section-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0;width:46px;height:48px;padding:4px;border:0;background:transparent;color:var(--deep);cursor:pointer}
 .section-menu-toggle>span{display:block;width:24px;height:1px;background:currentColor}
 .section-menu-toggle>small{font-size:.55rem;line-height:1;letter-spacing:.09em}
}
@media(max-width:850px){
 .home .header-inner>.header-call{display:none}
 .section-menu-toggle{margin-left:auto}
 .hero-message{margin-top:18px;min-height:148px}
 .hero-message strong{font-size:1.35rem}
 .hero-promise{padding:18px 14px;border-radius:20px}
 .hero-message .hero-promise-intro{font-size:.75rem}
 .hero-promise ul{margin-top:12px;padding-top:12px}
 .hero-promise li{padding:0 9px;font-size:.7rem}
 .map-help{gap:4px 8px}
 .map-help a{margin-left:0}
}
@media(max-width:360px){
 .hero-message{margin-top:14px;min-height:146px}
 .hero-message strong{font-size:1.25rem}
 .hero-promise{padding:17px 12px}
 .hero-promise li{font-size:.65rem;padding-inline:7px}
}
@media(max-width:850px){
 .director-section{padding-bottom:24px}
 .support-section{padding-top:36px}
}

@media(max-width:850px){
 .home .fixed-cta{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(88px,.65fr);gap:8px}
 .home .fixed-cta a{min-width:0}
 .home .fixed-cta .fixed-cta-phone{gap:10px}
 .home .fixed-cta .fixed-cta-form{background:#fff;color:var(--deep);border-color:var(--deep);font-size:.82rem}
 .home .fixed-cta .fixed-cta-form:hover{background:var(--deep);color:#fff}
}
@media(max-width:370px){
 .home .fixed-cta .fixed-cta-phone span{display:none}
 .home .fixed-cta .fixed-cta-phone b{font-size:.95rem}
}

.footer-privacy-link{display:inline-flex;min-height:36px;align-items:center;color:inherit;font:inherit;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media(max-width:850px){
 .footer-admission .footer-admission-status{padding:17px 18px 17px 45px;font-size:.94rem;line-height:1.8}
 .footer-admission .footer-admission-status::before{left:20px;top:27px}
 .footer-admission .footer-admission-status strong{font-size:1.2rem}
}

/* FAQ photo atmosphere and the final glass-gradient admission banner. */
.zs-faq09::after{
 background-image:linear-gradient(90deg,rgba(247,243,238,.97) 0%,rgba(247,243,238,.91) 50%,rgba(247,243,238,.46) 100%),url("../images/faq-parent-son.png");
 background-repeat:no-repeat;
 background-position:center,right center;
 background-size:100% 100%,cover;
 filter:saturate(.82)
}
@keyframes faqPhotoDrift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(-1.2%,.6%,0)}}
@keyframes faqCopyIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes admissionPhotoDrift{from{transform:scale(1.07) translate3d(0,0,0)}to{transform:scale(1.105) translate3d(-.8%,.35%,0)}}

/* Final usability pass: seamless FAQ image, clearly separate contact routes and explicit class switching. */
.admission-contact-area{width:min(100%,980px);margin-top:32px}
.admission-contact-area .admission-contact-status{
 display:flex;flex-direction:column;align-items:center;width:100%;min-height:0;padding:0 24px 23px;border:0;border-radius:0;background:none;box-shadow:none;text-align:center
}
.admission-contact-area .admission-contact-status>span:last-child{min-width:0}
.admission-contact-area .admission-contact-status strong{display:block;color:#fff;font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","MS PMincho",serif;font-size:clamp(1.52rem,2.35vw,1.9rem);font-weight:700;line-height:1.35;letter-spacing:.055em;word-break:auto-phrase;text-wrap:balance}
.admission-contact-area .admission-contact-status small{display:block;margin-top:8px;color:#d4e6e4;font-size:.88rem;line-height:1.6;letter-spacing:.035em}
.admission-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:0}
.admission-choice{
 display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;gap:3px 16px;
 min-height:112px;padding:20px 24px;border:1px solid rgba(255,255,255,.44);border-radius:12px;
 color:#fff;text-decoration:none;box-shadow:0 18px 44px rgba(5,31,37,.24),inset 0 1px 0 rgba(255,255,255,.22);
 backdrop-filter:blur(18px) saturate(1.16);-webkit-backdrop-filter:blur(18px) saturate(1.16);
 transition:transform .22s ease,box-shadow .22s ease,background .22s ease
}
.admission-choice-phone{background:linear-gradient(135deg,rgba(13,48,57,.96),rgba(25,104,101,.88))}
.admission-choice-form{background:linear-gradient(135deg,rgba(255,253,248,.95),rgba(220,240,236,.84));color:var(--deep)}
.admission-choice span{grid-column:1;color:#d5e8e5;font-size:.76rem;font-weight:800;letter-spacing:.08em}
.admission-choice-form span{color:#536c70}
.admission-choice b{grid-column:1;font-size:clamp(1.3rem,2.2vw,1.72rem);line-height:1.35;letter-spacing:.025em}
.admission-choice i{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;font-family:Arial,sans-serif;font-style:normal;transition:transform .22s ease}
.admission-choice:hover,.admission-choice:focus-visible{transform:translateY(-3px);box-shadow:0 22px 52px rgba(5,31,37,.32),inset 0 1px 0 rgba(255,255,255,.28)}
.admission-choice:hover i,.admission-choice:focus-visible i{transform:translate(2px,-2px)}

.class-switch-guide{display:flex;align-items:center;justify-content:center;gap:8px;margin:-26px auto 24px;color:#506b6e;font-size:.84rem;font-weight:700;letter-spacing:.025em}
.class-switch-guide span{color:var(--orange);font-size:.72rem}
.courses-section .class-tab-list{gap:10px;border-top:0}
.courses-section .class-tab{
 grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto;gap:3px 14px;
 min-height:96px!important;padding:17px 18px!important;border:1px solid #c5d8d4!important;border-radius:10px;
 background:rgba(255,255,255,.7)!important;box-shadow:0 8px 24px rgba(17,53,62,.045);
 transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease
}
.courses-section .class-tab:hover,.courses-section .class-tab:focus-visible{transform:translateX(3px);border-color:var(--teal)!important;box-shadow:0 12px 28px rgba(17,53,62,.1)}
.courses-section .class-tab>strong{grid-column:1;grid-row:1;color:var(--deep);font-size:1.16rem}
.courses-section .class-tab>small{grid-column:1;grid-row:2;color:var(--muted);font-size:.78rem;line-height:1.55}
.courses-section .class-tab>.class-tab-action{grid-column:2;grid-row:1/3;align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:74px;min-height:32px;padding:5px 9px;border:1px solid rgba(34,124,120,.38);border-radius:999px;color:var(--teal);font-size:.69rem;font-weight:800;letter-spacing:.03em}
.class-tab-action::before{content:"内容を見る"}
.courses-section .class-tab.is-active{background:linear-gradient(135deg,rgba(24,59,69,.1),rgba(34,124,120,.19))!important;border-color:rgba(34,124,120,.34)!important;box-shadow:0 10px 26px rgba(17,53,62,.09),inset 0 1px 0 rgba(255,255,255,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.courses-section .class-tab.is-active>strong{color:var(--deep)!important}
.courses-section .class-tab.is-active>small{color:#506b6e!important}
.courses-section .class-tab.is-active>.class-tab-action{border-color:rgba(34,124,120,.4);background:rgba(255,255,255,.48);color:var(--teal)}
.courses-section .class-tab.is-active>.class-tab-action::before{content:"表示中"}
.class-pane-current{display:inline-block;margin-bottom:6px;color:var(--teal);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.courses-section .class-panel{
 border:1px solid rgba(255,255,255,.42);
 background:linear-gradient(135deg,rgba(17,53,62,.96),rgba(27,111,106,.88));
 box-shadow:0 16px 42px rgba(17,53,62,.18),inset 0 1px 0 rgba(255,255,255,.2);
 backdrop-filter:blur(10px);
 -webkit-backdrop-filter:blur(10px)
}
.courses-section .class-pane-current{color:#bfe4df}
.courses-section .class-pane h3{color:#fff}
.courses-section .class-pane p{color:#d7e8e5}

@media(max-width:850px){
 .zs-faq09{--faq-photo-height:clamp(265px,82vw,340px);padding:calc(var(--faq-photo-height) + 38px) 0 80px!important;background:linear-gradient(180deg,#15383f 0,#15383f calc(var(--faq-photo-height) + 250px),#f7f3ee calc(var(--faq-photo-height) + 350px),#f7f3ee 100%)!important}
 .zs-faq09::before{background-image:radial-gradient(circle at 8% 36%,rgba(255,255,255,.05),transparent 32%);background-size:100% 100%;mask-image:linear-gradient(#000,transparent 62%);-webkit-mask-image:linear-gradient(#000,transparent 62%)}
 .zs-faq09::after{inset:0 0 auto;height:calc(var(--faq-photo-height) + 100px);background-image:linear-gradient(180deg,rgba(15,48,56,.02) 0,rgba(15,48,56,.08) calc(var(--faq-photo-height) - 92px),rgba(21,56,63,.98) var(--faq-photo-height),#15383f 100%),url("../images/faq-parent-son.png");background-position:center,84% center;background-size:100% 100%,cover;filter:saturate(.86);transform-origin:82% 18%;animation:faqPhotoDrift 12s ease-in-out infinite alternate}
 .zs-faq09 .faq09-head{position:relative;isolation:auto;overflow:visible;padding:0 8px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .zs-faq09 .faq09-head::before,.zs-faq09 .faq09-head::after{display:none}
 .zs-faq09 .faq09-head .eyebrow{display:block}
 .zs-faq09 .faq09-head .eyebrow{color:#d8efeb;letter-spacing:.24em}
 .zs-faq09 .faq09-head h2{position:relative;width:max-content;max-width:100%;margin-top:12px;padding-bottom:0;color:#fff;font-size:clamp(2.15rem,10vw,2.75rem);line-height:1.38}
 .zs-faq09 .faq09-lead{position:relative;max-width:34em;margin-top:17px;padding:0;border-top:0;color:#d7e8e5;font-size:.9rem;line-height:1.95}
 .zs-faq09 .faq09-head.visible .eyebrow,.zs-faq09 .faq09-head.visible h2,.zs-faq09 .faq09-head.visible .faq09-lead{animation:faqCopyIn .62s cubic-bezier(.22,1,.36,1) both}
 .zs-faq09 .faq09-head.visible h2{animation-delay:.08s}
 .zs-faq09 .faq09-head.visible .faq09-lead{animation-delay:.16s}
 .zs-faq09 .faq09-list{margin-top:34px;padding:0 18px;border:1px solid rgba(34,124,120,.18);border-radius:30px 3px 30px 3px;background:rgba(255,253,248,.96);box-shadow:0 18px 48px rgba(24,59,69,.13);backdrop-filter:none;-webkit-backdrop-filter:none}
 .zs-faq09 .faq09-note{padding:0 14px}
 .admission-contact-area{margin-top:26px}
 .admission-contact-area .admission-contact-status{width:100%;padding:0 10px 19px}
 .admission-contact-area .admission-contact-status strong{font-size:1.3rem}
 .admission-contact-area .admission-contact-status small{max-width:25em;margin-top:6px;font-size:.82rem}
 .admission-choice-grid{grid-template-columns:1fr;gap:11px;margin-top:0}
 .admission-choice{min-height:94px;padding:17px 20px;border-radius:10px}
 .admission-choice b{font-size:clamp(1.35rem,6vw,1.62rem)}
 .admission-choice i{width:43px;height:43px}
 .class-switch-guide{justify-content:center;margin:-18px auto 20px;font-size:.78rem;text-align:center}
 .courses-section .class-tab{min-height:88px!important;padding:14px 15px!important}
 .courses-section .class-tab>.class-tab-action{min-width:66px;font-size:.65rem}
 .courses-section .class-tabs{gap:14px}
 .courses-section .class-panel{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.admission-choice,.admission-choice i,.courses-section .class-tab{transition:none}.footer-admission-bg,.zs-faq09::after,.zs-faq09 .faq09-head.visible .eyebrow,.zs-faq09 .faq09-head.visible h2,.zs-faq09 .faq09-head.visible .faq09-lead{animation:none}.footer-admission-bg{transform:scale(1.08)}.zs-faq09 .faq09-head h2::after{transform:scaleX(1);transition:none}}

/* Matching gradient CTA family with clear copy and restored colour reversal. */
.admission-choice{grid-template-rows:auto auto auto;background:linear-gradient(135deg,rgba(17,53,62,.94),rgba(27,111,106,.84));color:#fff}
.admission-choice-form{background:linear-gradient(135deg,rgba(17,53,62,.94),rgba(27,111,106,.84));color:#fff}
.admission-choice span,.admission-choice-form span{color:#d5e8e5}
.admission-choice small{grid-column:1;display:block;margin-top:2px;color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.06em}
.admission-choice i{grid-row:1/4}
.admission-choice:hover,.admission-choice:focus-visible{border-color:#fff;background:#fffdf8;color:var(--deep)}
.admission-choice:hover span,.admission-choice:focus-visible span,.admission-choice:hover small,.admission-choice:focus-visible small{color:#456266}

.enrollment-mini-actions{display:grid;gap:9px;width:min(100%,330px);margin-top:20px}
.enrollment-mini-actions .enrollment-mini-cta{
 width:100%;min-height:76px;margin:0;border-color:rgba(255,255,255,.52);border-radius:9px;
 background:linear-gradient(135deg,#183b45,#276b69);color:#fff;box-shadow:0 12px 30px rgba(24,59,69,.14)
}
.enrollment-mini-actions .enrollment-mini-cta small{color:#d5e8e5}
.enrollment-mini-actions .enrollment-mini-cta em{display:block;margin-top:2px;color:#fff;font-size:.74rem;font-style:normal;font-weight:700;letter-spacing:.06em;transition:color .2s ease}
.enrollment-mini-actions .enrollment-mini-cta:hover,.enrollment-mini-actions .enrollment-mini-cta:focus-visible{border-color:var(--deep);background:#fff;color:var(--deep)}
.enrollment-mini-actions .enrollment-mini-cta:hover small,.enrollment-mini-actions .enrollment-mini-cta:focus-visible small,.enrollment-mini-actions .enrollment-mini-cta:hover em,.enrollment-mini-actions .enrollment-mini-cta:focus-visible em{color:#506b6e}
@media(max-width:850px){
 .admission-choice{min-height:104px}
 .enrollment-mini-actions{width:100%;max-width:360px;margin-top:18px}
}

/* Capsule CTA finish and cleaner class-copy wrapping. */
.admission-choice,.enrollment-mini-actions .enrollment-mini-cta{border-radius:999px}
@media(min-width:1081px){
 .courses-section .class-tabs{grid-template-columns:370px minmax(0,1fr)}
 .courses-section .class-tab{height:110px}
}
@media(min-width:851px) and (max-width:1080px){
 .courses-section .class-tabs{grid-template-columns:340px minmax(0,1fr)}
 .courses-section .class-tab{height:110px}
 .courses-section .class-tab>small{font-size:.74rem}
}
.courses-section .class-tab>small>span{display:block;color:inherit;font:inherit}
@media(max-width:850px){
 .home .fixed-cta{display:none!important}
 body.home{padding-bottom:0!important}
 .home .to-top{bottom:14px}
}

/* 2026-09-24: compact capsule CTA reset.
   Keep the rounded direction BU selected without letting the buttons dominate the section. */
.admission-contact-area{
 width:min(100%,980px);
 margin:32px auto 0;
 padding:22px;
 border:1px solid rgba(255,255,255,.42);
 border-radius:28px;
 background:linear-gradient(120deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
 backdrop-filter:blur(4px);
 -webkit-backdrop-filter:blur(4px)
}
.admission-choice-grid{
 gap:16px;
 margin-top:0
}
.admission-phone-device-note{
 margin:14px 0 0;
 color:#d9e7e4;
 font-size:.72rem;
 line-height:1.65;
 text-align:center;
 white-space:nowrap
}
.admission-phone-device-note span{display:inline-block}
.admission-choice{
 min-height:86px;
 padding:12px 16px 12px 21px;
 gap:1px 14px;
 box-shadow:0 12px 30px rgba(5,31,37,.18),inset 0 1px 0 rgba(255,255,255,.18)
}
.admission-choice span{
 font-size:.68rem;
 line-height:1.3;
 letter-spacing:.065em
}
.admission-choice b{
 margin-top:1px;
 font-size:clamp(1.12rem,1.7vw,1.38rem);
 line-height:1.22
}
.admission-choice small{
 margin-top:1px;
 font-size:.72rem;
 line-height:1.25
}
.admission-choice i{
 width:38px;
 height:38px;
 font-size:.88rem
}

.enrollment-mini-actions{
 gap:8px;
 width:min(100%,300px);
 margin-top:16px
}
.enrollment-mini-actions .enrollment-mini-cta{
 min-height:70px;
 padding:9px 12px 9px 18px;
 gap:10px;
 box-shadow:0 9px 24px rgba(24,59,69,.12)
}
.enrollment-mini-actions .enrollment-mini-cta small{
 font-size:.61rem;
 line-height:1.25
}
.enrollment-mini-actions .enrollment-mini-cta b{
 margin-top:1px;
 font-size:.91rem;
 line-height:1.25
}
.enrollment-mini-actions .enrollment-mini-cta em{
 margin-top:1px;
 font-size:.67rem;
 line-height:1.2
}
.enrollment-mini-actions .enrollment-mini-cta i{
 width:32px;
 height:32px;
 font-size:.78rem
}

@media(max-width:850px){
 .admission-contact-area{margin:24px auto 0;padding:17px 13px 14px;border-radius:22px}
 .admission-contact-area .admission-contact-status strong{font-size:1.22rem}
 .admission-contact-area .admission-contact-status small{font-size:.78rem;line-height:1.55}
 .admission-choice-grid{gap:9px;margin-top:0}
 .admission-phone-device-note{margin-top:11px;font-size:.68rem;white-space:normal}
 .admission-choice{
  min-height:78px;
  padding:10px 13px 10px 18px;
  gap:1px 11px
 }
 .admission-choice span{font-size:.64rem}
 .admission-choice b{font-size:clamp(1.08rem,5.1vw,1.26rem)}
 .admission-choice small{font-size:.69rem}
 .admission-choice i{width:36px;height:36px;font-size:.82rem}
 .enrollment-mini-actions{max-width:320px;margin-top:15px}
 .enrollment-mini-actions .enrollment-mini-cta{min-height:68px;padding-block:8px}
}

@media(max-width:360px){
 .admission-choice{min-height:76px;padding-left:16px}
 .admission-choice b{font-size:1.06rem}
 .admission-choice i{width:34px;height:34px}
}

/* Two-line CTA copy with optically centred text and a balanced circular arrow. */
.admission-choice{
 --cta-icon-size:38px;
 grid-template-columns:var(--cta-icon-size) minmax(0,1fr) var(--cta-icon-size);
 grid-template-rows:auto auto;
 align-content:center;
 align-items:center;
 gap:2px 8px;
 text-align:center
}
.admission-choice::before{
 content:"";
 grid-column:1;
 grid-row:1/3;
 width:var(--cta-icon-size);
 height:var(--cta-icon-size)
}
.admission-choice span,
.admission-choice b{
 grid-column:2;
 white-space:nowrap
}
.admission-choice span{
 font-size:.82rem;
 letter-spacing:.055em
}
.admission-choice b{
 margin:0;
 font-size:clamp(1.18rem,1.75vw,1.4rem)
}
.admission-choice i{
 grid-column:3;
 grid-row:1/3;
 justify-self:center;
 width:var(--cta-icon-size);
 height:var(--cta-icon-size)
}

.enrollment-mini-actions .enrollment-mini-cta{
 --cta-icon-size:32px;
 grid-template-columns:var(--cta-icon-size) minmax(0,1fr) var(--cta-icon-size);
 grid-template-rows:auto auto;
 align-items:center;
 min-height:64px;
 padding:8px 13px;
 gap:1px 7px;
 text-align:center
}
.enrollment-mini-actions .enrollment-mini-cta::before{
 content:"";
 grid-column:1;
 grid-row:1/3;
 width:var(--cta-icon-size);
 height:var(--cta-icon-size)
}
.enrollment-mini-actions .enrollment-mini-cta>span{
 grid-column:2;
 grid-row:1/3;
 min-width:0;
 text-align:center
}
.enrollment-mini-actions .enrollment-mini-cta small,
.enrollment-mini-actions .enrollment-mini-cta b{
 display:block;
 white-space:nowrap
}
.enrollment-mini-actions .enrollment-mini-cta small{
 color:#d5e8e5;
 font-size:.75rem;
 letter-spacing:.055em
}
.enrollment-mini-actions .enrollment-mini-cta b{
 margin-top:1px;
 font-size:1rem
}
.enrollment-mini-actions .enrollment-mini-cta i{
 grid-column:3;
 grid-row:1/3;
 justify-self:center;
 width:var(--cta-icon-size);
 height:var(--cta-icon-size)
}

@media(max-width:850px){
 .admission-choice{--cta-icon-size:36px;min-height:76px;padding:9px 12px;gap-inline:6px}
 .admission-choice span{font-size:.68rem;letter-spacing:.005em}
 .admission-choice b{font-size:1.12rem}
 .enrollment-mini-actions .enrollment-mini-cta{min-height:66px;padding:8px 11px}
}

@media(max-width:360px){
 .admission-choice{--cta-icon-size:34px;min-height:74px;padding-inline:10px}
 .admission-choice span{font-size:.62rem}
 .admission-choice b{font-size:1.03rem}
 .enrollment-mini-actions .enrollment-mini-cta small{font-size:.7rem}
 .enrollment-mini-actions .enrollment-mini-cta b{font-size:.94rem}
 .zs-faq09 .faq09-note a{font-size:.8rem;letter-spacing:-.01em;white-space:nowrap}
}
@media(max-width:340px){
 .admission-choice{--cta-icon-size:30px;padding-inline:8px;gap-inline:4px}
 .admission-choice span{font-size:.58rem}
 .admission-choice b{font-size:.9rem}
}

/* Mobile flow: finish the three steps first, then show both CTAs centred. */
@media(max-width:850px){
 .enrollment-layout{display:flex;flex-direction:column;gap:0}
 .enrollment-intro{display:contents}
 .enrollment-intro>.eyebrow{order:1}
 .enrollment-intro>h2{order:2}
 .enrollment-intro>p:not(.eyebrow){order:3}
 .enrollment-steps{order:4;margin-top:30px}
 .enrollment-steps li:last-child{border-bottom:0}
 .enrollment-caption{order:5;align-self:center;width:min(100%,340px);margin:18px auto 0;padding-top:16px;text-align:center}
.enrollment-mini-actions{order:6;align-self:center;width:min(100%,340px);margin:12px auto 0}
}

.concern-intro>p:last-child{word-break:auto-phrase;text-wrap:pretty}
@media(max-width:850px){.concern-copy-sentence{display:block}}
@media(max-width:850px){.home #concerns{padding-top:40px}}



