:root{--navy:#293f4c;--sky:#5ec0e2;--yellow:#ffe263;--ink:#30383b;--cream:#f8f7f0;--line:#dce9ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2;background:#fff}.wrap{width:min(1100px,calc(100% - 48px));margin-inline:auto}.site-header{height:80px;display:flex;align-items:center;background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #1231}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font:700 17px Montserrat,sans-serif;text-decoration:none}.brand img{width:48px;height:48px;border-radius:4px;object-fit:cover}.site-header>.brand{margin-left:3vw}.site-header nav{display:flex;align-items:center;gap:24px;margin-left:auto}.site-header nav a{color:var(--ink);font-size:14px;text-decoration:none;white-space:nowrap}.site-header nav a:hover{color:#199fc9}.header-contact{height:80px;margin-left:24px;padding:0 3vw;display:flex;align-items:center;gap:8px;background:var(--yellow);color:#514928;font-weight:700;text-decoration:none}.hero{min-height:650px;position:relative;overflow:hidden;background:#56b9da}.hero-image{position:absolute;inset:0;background:url("assets/hero.webp") center/cover no-repeat}.hero-copy{position:relative;padding-top:115px;color:#fff}.eyebrow,.section-kicker{letter-spacing:.12em;font-family:Montserrat,sans-serif;font-size:15px;font-weight:700}.hero h1{margin:30px 0 28px;font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-size:clamp(38px,5vw,64px);line-height:1.42;letter-spacing:.07em;text-shadow:0 2px 3px #2347}.hero-lead{max-width:670px;margin:0;padding:22px 28px;background:#fffffff0;color:#35424a;font-size:18px;font-weight:500;line-height:2}.lesson-gallery{padding:82px 0 88px;background:#f2fbfd}.lesson-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}.lesson-gallery h2{margin:5px 0 0;color:var(--navy);font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;font-size:clamp(28px,4vw,42px);line-height:1.45}.lesson-gallery-heading>p{max-width:450px;margin:0;color:#58727d}.carousel{position:relative;outline:none}.carousel:focus-visible{outline:3px solid var(--sky);outline-offset:7px}.carousel-viewport{overflow:hidden;border-radius:8px;box-shadow:0 12px 28px #48656b2b}.carousel-track{display:flex;transition:transform .55s ease}.carousel-slide{min-width:100%;margin:0;background:var(--navy)}.carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:500/257;object-fit:cover}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:24px}.carousel-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid #b9d8e2;border-radius:50%;background:#fff;color:var(--navy);font-size:21px;line-height:1;cursor:pointer}.carousel-button:hover{background:var(--navy);color:#fff}.carousel-button:focus-visible,.carousel-dots button:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.carousel-dots{display:flex;align-items:center;gap:10px}.carousel-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#a9c6cf;cursor:pointer}.carousel-dots button[aria-selected="true"]{width:27px;border-radius:99px;background:#299fc8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.intro,.features,.voices{padding-block:110px}.section-kicker{margin:0;color:#29a8d0}.intro h2,.problems h2,.features h2,.results h2,.voices h2,.teacher h2,.contact h2,.feature-grid h3,.result-grid h3,.teacher h3{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif}.intro h2,.problems h2,.features h2,.results h2,.voices h2,.teacher h2,.contact h2{margin:8px 0 42px;color:var(--navy);font-size:clamp(28px,4vw,45px);line-height:1.45}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;font-size:16px}.problems{padding-block:95px;background:var(--cream)}.problem-list{display:grid;grid-template-columns:1fr 1fr;gap:13px 36px;margin:0;padding:0;list-style:none}.problem-list li{padding:13px 0;border-bottom:1px solid #ccdce0}.problem-list li::before{content:"✓";margin-right:10px;color:#29a8d0;font-weight:900}.features h2 span,.results h2 span{margin-right:5px;font:700 64px Montserrat,sans-serif;color:#ffe061}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.feature-grid article{min-height:230px;padding:32px;background:#fff}.feature-grid b,.result-grid b{font:700 38px Montserrat,sans-serif;color:#8ed6eb}.feature-grid h3,.result-grid h3{margin:7px 0 12px;color:var(--navy);font-size:21px}.feature-grid p,.result-grid p{margin:0;line-height:1.85}.results{padding-block:105px;background:#eaf8fc}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.result-grid article{padding:28px;background:#fff;border-radius:5px}.note{margin:34px 0 22px;font-size:14px}.cta{display:inline-flex;align-items:center;gap:34px;margin-top:14px;padding:16px 22px;background:var(--yellow);color:#3e4b48;font-weight:700;text-decoration:none;box-shadow:0 4px 0 #d8bd36}.cta span{font-size:24px}.subhead{margin-top:-30px;margin-bottom:34px}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.voice-grid blockquote{margin:0;padding:30px;background:#fff8d9;border-radius:6px}.voice-grid p{margin:0;line-height:1.9}.voice-grid footer{margin-top:21px;color:#59717b;font-size:13px;line-height:1.6}.teacher{padding-block:95px;background:linear-gradient(90deg,#e9f8fc 0 50%,#fff 50%)}.teacher-inner{display:grid;grid-template-columns:1fr 1fr;gap:62px}.teacher h3{margin:0;color:var(--navy);font-size:21px;line-height:1.75}.teacher p{margin:42px 0 0}.contact{padding-block:100px;text-align:center;background:var(--navy);color:#fff}.contact .section-kicker,.contact h2{color:#fff}.contact h2{margin-bottom:14px}.form-note{font-size:12px;opacity:.8}footer{padding:36px 0;background:#fff}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:25px}.footer-inner>div{display:flex;gap:18px}.footer-inner a{color:#48545a;text-decoration:none;font-size:13px}.footer-inner small{grid-column:1/-1;color:#8d999d}@media (max-width:780px){.site-header{height:66px}.site-header>.brand{margin-left:16px}.brand img{width:38px;height:38px}.site-header nav{display:none}.header-contact{height:66px;margin-left:auto;padding:0 17px}.header-contact span{display:none}.hero{min-height:580px}.hero-image{background-position:62% center}.hero-copy{padding-top:73px}.hero h1{font-size:37px}.hero-lead{padding:18px;font-size:15px}.lesson-gallery{padding-block:58px}.lesson-gallery-heading{display:block;margin-bottom:23px}.lesson-gallery-heading>p{margin-top:12px;font-size:14px;line-height:1.8}.carousel-controls{margin-top:18px}.intro,.features,.voices{padding-block:70px}.intro-grid,.teacher-inner{grid-template-columns:1fr;gap:0}.problem-list,.feature-grid,.voice-grid,.result-grid{grid-template-columns:1fr}.problem-list{gap:0}.feature-grid article{min-height:0}.teacher{background:#e9f8fc}.teacher p{margin-top:24px}.footer-inner{grid-template-columns:1fr}.footer-inner>div{flex-wrap:wrap}.wrap{width:min(100% - 32px,1100px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-track{transition:none}}
.intro h2,.problems h2,.features h2,.results h2,.voices h2,.teacher h2,.contact h2{text-align:center;white-space:nowrap}.intro>.section-kicker,.problems .section-kicker,.features>.section-kicker,.results .section-kicker,.voices>.section-kicker,.teacher .section-kicker,.contact .section-kicker{text-align:center}@media (max-width:780px){.intro h2,.problems h2,.features h2,.results h2,.voices h2,.teacher h2,.contact h2{white-space:normal}}

/* Studio版と同じく、メインビジュアル直下に低いレッスン写真の帯を置く */
.lesson-gallery{padding:0;background:#fff}.lesson-strip{width:min(1100px,calc(100% - 48px));margin:0 auto;padding:18px 0;overflow:hidden}.lesson-track{display:flex;gap:10px;width:max-content;animation:lesson-marquee 44s linear infinite;will-change:transform}.lesson-track figure{flex:0 0 clamp(260px,25vw,360px);margin:0;overflow:hidden;border-radius:3px;background:var(--navy)}.lesson-track img{display:block;width:100%;height:auto;aspect-ratio:500/257;object-fit:cover}@keyframes lesson-marquee{to{transform:translateX(-50%)}}.lesson-strip:hover .lesson-track,.lesson-strip:focus-within .lesson-track{animation-play-state:paused}@media (max-width:780px){.lesson-strip{width:100%;padding:10px 16px}.lesson-track{gap:8px;animation-duration:34s}.lesson-track figure{flex-basis:calc((100vw - 48px)/2)}}@media (prefers-reduced-motion:reduce){.lesson-track{animation-play-state:paused}}

.intro{position:relative;isolation:isolate;overflow:hidden;background:#fff}.intro::before,.intro::after{position:absolute;inset:0;content:"";pointer-events:none}.intro::before{z-index:0;background:url("assets/intro-background.webp") center/cover no-repeat;opacity:.2}.intro::after{z-index:1;background:rgb(255 255 255/.41)}.intro>.wrap{position:relative;z-index:2}

.intro-grid{display:block;max-width:794px;margin-inline:auto}.intro-grid p{margin:0;text-align:justify;line-height:2.5}@media (max-width:780px){.intro-grid{max-width:335px}.intro-grid p{line-height:2.25}}

.problems-illustration{display:flex;align-items:flex-end;justify-content:center;gap:80px;width:500px;max-width:100%;margin:80px auto 0}.problems-illustration img{display:block;width:auto}.problems-illustration img:nth-child(1),.problems-illustration img:nth-child(2){height:120px}.problems-illustration img:nth-child(3){height:126px}@media (max-width:780px){.problems-illustration{gap:24px;width:280px;margin-top:54px}.problems-illustration img:nth-child(1),.problems-illustration img:nth-child(2){height:72px}.problems-illustration img:nth-child(3){height:76px}}

.problems{padding-bottom:0}.problems::after{display:block;height:130px;content:"";background:#f0faff}@media (max-width:780px){.problems::after{height:90px}}
