:root{--sk-text:#5a5344;--sk-body:#4a4437;--sk-note:#7a7470;--sk-muted:#9a9490;--sk-line:#e8e6e2}.sec--what-is,.sec--curriculum,.sec--schedule,.sec--locations,.sec--testimonials,.sec--pricing,.sec--faq{padding:clamp(60px,10vh,100px) 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lhero{align-items:flex-end;min-height:clamp(560px,82vh,860px);display:flex;position:relative;overflow:hidden}.lhero__media{z-index:0;position:absolute;inset:0}.lhero__media.par>img{object-position:50% 70%}.lhero__media:after{content:"";background:linear-gradient(180deg, #fffdf7c7 0%, #fffdf766 14%, #fffdf700 32%), linear-gradient(180deg, #fffdf71a 0%, #fffdf78c 46%, var(--ground) 92%);position:absolute;inset:0}.lhero__inner{z-index:2;text-align:center;padding-top:clamp(150px,20vh,230px);padding-bottom:clamp(130px,23vh,230px);position:relative}.lhero h1{max-width:18ch;margin:0 auto 18px;font-size:clamp(2.5rem,5.6vw,4.6rem);line-height:1.02}.lhero .stand{max-width:52ch;margin:0 auto 18px}.lhero__tagline{font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);margin:0 0 28px;font-size:12.5px;font-weight:600}.lhero__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:26px;margin-top:0;display:flex}.sec--what-is{background:var(--ground)}.what-is__heading{font-family:var(--serif);color:var(--ink);font-size:clamp(2rem,4.6vw,3.5rem);font-weight:700;line-height:1.1}.what-is__heading .serif-i{font-style:italic;font-weight:700}.what-is__content{font-family:var(--sans);color:var(--sk-note);margin-top:16px;font-size:15px;font-style:italic;line-height:1.7}.what-is__content-ja{font-family:var(--sans);color:var(--sk-body);margin-top:18px;font-size:17px;line-height:1.7}.sec--curriculum{background:#fff}.sec--curriculum .scarousel{margin-bottom:clamp(40px,6vh,64px)}.scarousel{padding:4px 0;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.scarousel__track{will-change:transform;gap:clamp(12px,1.6vw,20px);width:max-content;animation:55s linear infinite scarousel-drift;display:flex}.scarousel__img{aspect-ratio:16/9;object-fit:cover;border-radius:14px;flex:none;width:clamp(280px,36vw,480px);max-width:none;height:auto;box-shadow:0 14px 34px -20px #1412106b}@keyframes scarousel-drift{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.scarousel__track{flex-wrap:wrap;justify-content:center;width:auto;padding:0 clamp(20px,5vw,64px);animation:none}.scarousel{mask-image:none}.scarousel__img:nth-child(n+7){display:none}}.sec--curriculum .wrap{flex-direction:column;gap:clamp(40px,8vh,80px);display:flex}.curriculum-main{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,8vw,80px);display:grid}.curriculum-intro{padding-right:clamp(0px,5vw,40px);container-type:inline-size}.curriculum-heading{font-family:var(--serif);white-space:nowrap;color:var(--ink);margin-bottom:24px;font-size:clamp(18px,7cqi,56px);font-weight:700;line-height:1.1}.curriculum-description{font-family:var(--sans);color:var(--sk-note);font-size:14px;font-style:italic;line-height:1.7}.curriculum-description-ja{font-family:var(--sans);color:var(--sk-text);max-width:56ch;margin-bottom:20px;font-size:15px;line-height:1.8}.curriculum-accordion{border-top:2px solid var(--sk-line);border-bottom:2px solid var(--sk-line);flex-direction:column;display:flex}.curriculum-item{border-bottom:1px solid var(--sk-line);padding:0}.curriculum-item:last-child{border-bottom:none}.curriculum-item__summary{cursor:pointer;justify-content:space-between;align-items:center;padding:24px 0;list-style:none;transition:all .3s;display:flex}.curriculum-item__summary:hover{background:#14121005}.curriculum-item__label{flex:1;align-items:baseline;gap:12px;display:flex}.curriculum-item__title{font-family:var(--sans);color:var(--sk-text);margin-bottom:12px;font-size:14px;font-weight:500}.curriculum-item__icon{width:20px;height:20px;color:var(--sk-muted);flex-shrink:0;transition:transform .3s}.curriculum-item[open] .curriculum-item__icon{transform:rotate(180deg)}.curriculum-item__content{padding:0 0 24px;animation:.3s slideDown}.curriculum-item__title-ja{font-family:var(--serif);color:var(--ink);text-align:left;font-size:clamp(18px,2.2vw,24px);font-weight:600;line-height:1.2}.curriculum-item__description{font-family:var(--sans);color:var(--sk-note);max-width:56ch;margin-bottom:16px;font-size:13px;font-style:italic;line-height:1.7}.curriculum-item__description:has(+.curriculum-item__description-ja){margin-bottom:8px}.curriculum-item__description-ja{font-family:var(--sans);color:var(--sk-text);max-width:56ch;margin-bottom:16px;font-size:14px;line-height:1.7}.curriculum-item__objectives{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.curriculum-item__objectives li{font-family:var(--sans);color:var(--sk-text);padding-left:20px;font-size:14px;line-height:1.6;position:relative}.curriculum-item__objectives li:before{content:"•";color:var(--sk-muted);font-weight:600;position:absolute;left:0}@media (width<=1024px){.curriculum-main{grid-template-columns:1fr;gap:32px}.curriculum-intro{padding-right:0}}@media (width<=768px){.curriculum-item__summary{padding:16px 0}}.sec--schedule{background:#fffbf7}.sec--schedule .sec-h{font-family:var(--serif);color:var(--ink);font-size:clamp(36px,6vw,56px);font-weight:700;line-height:1.1}.schedule-label{font-family:var(--serif);color:var(--ink);margin-right:12px;font-size:clamp(36px,6vw,56px);font-weight:700}.schedule-grid{grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,24px);padding-bottom:12px;display:grid;overflow-x:auto}.schedule-card{background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 4px 12px #14121014}.schedule-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #1412101f}.schedule-card__image-wrapper{background:#f5f3f0;width:100%;height:160px;overflow:hidden}.schedule-card__image{object-fit:cover;object-position:center;width:100%;height:100%}.schedule-card__content{flex-direction:column;flex:1;padding:clamp(16px,3vw,24px);display:flex}.schedule-card__title{font-family:var(--serif);color:var(--ink);margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.2}.schedule-card__time{font-family:var(--sans);color:var(--sk-muted);margin-bottom:8px;font-size:13px;font-weight:500}.schedule-card__description{font-family:var(--sans);color:var(--sk-text);margin:0;font-size:13px;line-height:1.5}@media (width<=1024px){.schedule-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.schedule-grid{grid-template-columns:1fr}.schedule-card__image-wrapper{height:140px}}.sec--locations{background:#fff}.sec--locations .sec-h{font-family:var(--serif);color:var(--ink);text-align:center;font-size:clamp(28px,5vw,48px);font-weight:700;line-height:1.2}.locations-names{font-family:var(--serif);font-weight:700}.locations-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),360px));justify-content:center;align-items:stretch;gap:clamp(16px,2vw,28px);margin-top:clamp(40px,6vh,60px);display:grid}.location-card{border:1px solid var(--sk-line);background:#fff;border-radius:12px;flex-direction:column;min-width:0;display:flex;overflow:hidden;container-type:inline-size}.location-card__map{aspect-ratio:1.14;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.location-card__info{text-align:center;background:#fff;flex-direction:column;flex:1;padding:clamp(16px,2vw,24px) clamp(16px,1.5vw,20px);display:flex}.location-card__name-en{font-family:var(--sans);letter-spacing:.04em;color:var(--sk-muted);margin:0 0 4px;font-size:13px;font-weight:500;line-height:1.35}.location-card__name-ja{font-family:var(--serif);color:var(--ink);white-space:nowrap;margin:0 0 10px;font-size:clamp(14px,5.5cqi,24px);font-weight:700;line-height:1.2}.location-card__time{font-family:var(--sans);color:var(--ink);margin:0;font-size:15px;font-weight:600}.location-card__address{font-family:var(--sans);text-align:left;color:var(--sk-text);white-space:pre-line;justify-content:center;align-items:flex-start;gap:8px;margin:auto 0 0;padding-top:14px;font-size:13px;line-height:1.6;display:flex}.location-card__time+.location-card__address,.location-card__name-ja+.location-card__address{border-top:1px solid var(--sk-line);margin-top:14px}.location-card__pin{width:16px;height:16px;color:var(--sk-muted);flex:none;margin-top:3px}@media (width>=901px){.locations-grid{grid-template-columns:none;grid-auto-columns:minmax(0,360px);grid-auto-flow:column}}@media (width<=900px){.sec--locations .sec-h{font-size:24px}}.sec--testimonials{background:linear-gradient(135deg,#2d1b4e 0%,#1a0f2e 100%)}.sec--testimonials .sec-h{font-family:var(--serif);color:#fff;text-align:center;font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.2}.testimonials-carousel{scroll-behavior:smooth;gap:clamp(20px,3vw,32px);padding:clamp(20px,3vw,32px) 0;display:flex;overflow-x:auto}.testimonials-viewport{overflow:hidden}.testimonials-track{will-change:transform;gap:clamp(24px,3vw,32px);width:max-content;animation:60s linear infinite testimonials-drift;display:flex}.testimonials-nav{z-index:2;cursor:pointer;background:var(--ground);width:44px;height:44px;color:var(--ink);font-family:var(--sans);transition:transform .2s var(--ease);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:24px;line-height:1;display:none;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 8px 22px #00000059}.testimonials-nav:hover{transform:translateY(-50%)scale(1.08)}.testimonials-nav:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.testimonials-nav--prev{left:0}.testimonials-nav--next{right:0}.testimonial-card{background:#fff;border-radius:12px;flex-direction:column;flex:0 0 clamp(300px,35vw,420px);min-height:340px;padding:clamp(24px,4vw,32px);display:flex}.testimonial-card__body{flex-direction:column;flex:1;gap:16px;margin-bottom:16px;display:flex}.testimonial-card__photo{object-fit:cover;border-radius:50%;flex-shrink:0;width:60px;height:60px}.testimonial-card__quote{font-family:var(--sans);color:var(--sk-body);margin:0;font-size:15px;font-style:italic;line-height:1.7}.testimonial-card__quote p{margin:0}.testimonial-card__footer{border-top:1px solid var(--sk-line);padding-top:16px}.testimonial-card__footer strong{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:700;display:block}.testimonial-card__school{font-family:var(--sans);color:var(--sk-muted);font-size:13px;display:block}@keyframes testimonials-drift{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.testimonials-track{flex-wrap:wrap;justify-content:center;width:auto;padding:0 clamp(20px,5vw,64px);animation:none}.testimonials-carousel{mask-image:none}.testimonial-card--clone{display:none}.testimonials-nav{transition:none}}@media (width<=768px){.sec--testimonials .sec-h{font-size:28px}.testimonials-carousel{scroll-behavior:smooth;gap:clamp(20px,3vw,32px);padding:clamp(20px,3vw,32px) 0;display:flex;overflow-x:auto}.testimonials-nav{display:flex}.testimonials-carousel--single .testimonials-nav{display:none}.testimonials-viewport{width:100%}.testimonials-track{width:100%;transition:transform .35s var(--ease);gap:0;animation:none}.testimonial-card{box-sizing:border-box;flex:0 0 100%;min-width:0;min-height:auto}.testimonial-card--clone{display:none}}@media (width<=768px) and (prefers-reduced-motion:reduce){.testimonials-track{flex-wrap:nowrap;justify-content:flex-start;padding:0;transition:none}}.sec--pricing{background:#fff}.pricing-grid{grid-template-columns:1fr;align-items:stretch;gap:clamp(32px,5vw,48px);max-width:600px;margin:0 auto;display:grid}.pricing-card{background:#fff;flex-direction:column;display:flex}.pricing-card__header{text-align:center;margin-bottom:clamp(32px,5vh,48px)}.pricing-card__label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--sk-muted);margin-bottom:12px;font-size:14px;font-weight:600;display:block}.pricing-card__title{font-family:var(--serif);color:var(--ink);margin:0;font-size:clamp(28px,4vw,36px);font-weight:700;line-height:1.2}.pricing-card__body{flex-direction:column;gap:clamp(20px,3vh,32px);display:flex}.pricing-card__amount{text-align:center}.pricing-card__fee{font-family:var(--serif);color:var(--ink);font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.1;display:block}.pricing-card__sessions{font-family:var(--sans);color:var(--sk-text);margin-top:8px;font-size:16px;font-weight:500;display:block}.pricing-card__description{font-family:var(--sans);color:var(--sk-text);text-align:center;margin:0;font-size:14px;line-height:1.7}.pricing-card .btn{align-self:center;margin-top:auto}@media (width<=1024px){.pricing-grid{grid-template-columns:1fr}}@media (width<=768px){.pricing-card__fee{font-size:36px}.pricing-card__title{font-size:24px}}.sec--faq{background:#0a0a0a}.sec--faq .sec-h{font-family:var(--serif);color:#fff;text-align:center;margin:0;font-size:clamp(48px,7vw,64px);font-weight:700;line-height:1.2}.faq-heading__ja{color:var(--sk-muted);margin-top:8px;font-size:.25em;font-weight:400;display:block}.faq-grid{grid-template-columns:repeat(2,1fr);gap:clamp(40px,6vw,60px);margin-top:clamp(40px,6vh,60px);display:grid}.faq-item{border-bottom:1px solid #2a2a2a;margin:0;padding:0 0 24px}.faq-item__question{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:16px;padding:0;list-style:none;transition:all .3s;display:flex}.faq-item__question:hover{opacity:.8}.faq-item__question span{font-family:var(--sans);color:#fff;text-align:left;flex:1;font-size:15px;line-height:1.6}.faq-item__icon{color:#ffca29;flex-shrink:0;width:20px;height:20px;margin-top:2px;transition:transform .3s}.faq-item[open] .faq-item__icon{transform:rotate(180deg)}.faq-item__answer{margin-top:0;padding-top:16px;animation:.3s slideDown}.faq-item__answer p{font-family:var(--sans);color:#b0aca8;margin:0;font-size:14px;line-height:1.7}@media (width<=768px){.faq-grid{grid-template-columns:1fr;gap:32px}.sec--faq .sec-h{font-size:28px}.faq-heading__ja{margin-top:6px;font-size:14px}}.sec--cta{background:#ffca29;padding:clamp(80px,12vh,140px) 0}.sec--cta .wrap{text-align:center;flex-direction:column;align-items:center;gap:clamp(48px,8vh,80px);display:flex}.cta-content{max-width:56ch}.cta__heading{font-family:var(--serif);color:#0a0a0a;margin:0 0 20px;font-size:clamp(36px,5.5vw,56px);font-weight:700;line-height:1.15}.cta__description{font-family:var(--sans);color:#1a1a1a;margin:0 0 32px;font-size:16px;line-height:1.7}.cta__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.btn--cta{color:#ffca29;background:#0a0a0a;border:2px solid #0a0a0a}.btn--cta:hover{color:#0a0a0a;background:0 0}.btn--cta svg{stroke:#ffca29}.btn--cta:hover svg{stroke:#0a0a0a}.cta-social{flex-direction:column;align-items:center;gap:16px;display:flex}.cta-social__heading{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#1a1a1a;margin:0;font-size:12px;font-weight:700}.cta-social__links{gap:16px;display:flex}.cta-social__link{color:#0a0a0a;font-family:var(--sans);background:0 0;border:2px solid #0a0a0a;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.cta-social__link:hover{color:#ffca29;background:#0a0a0a}.cta-social__link svg{width:20px;height:20px}@media (width<=768px){.sec--cta .wrap{gap:32px}.cta__heading{font-size:28px}.cta__description{font-size:15px}}
