@import "https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&family=Noto+Serif+JP:wght@600;700&display=swap";:root{--wine:#7a2e35;--wine-dark:#552029;--green:#24483d;--green-light:#dbe5dc;--cream:#f6f0e4;--paper:#fbf8f1;--ink:#2f302b;--muted:#746f65;--line:#ddd3c2;--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:"M PLUS Rounded 1c",sans-serif;line-height:1.8}a{color:inherit}button{font:inherit}.siteHeader{z-index:20;align-items:center;gap:42px;height:88px;padding:0 clamp(22px,5vw,76px);display:flex;position:absolute;inset:0 0 auto}.logo{align-items:center;gap:11px;text-decoration:none;display:flex}.logoMark{background:var(--wine);color:#fff;border-radius:50% 50% 46% 54%;place-items:center;width:40px;height:40px;font-family:Noto Serif JP,serif;font-size:21px;display:grid}.logo>span:last-child{flex-direction:column;display:flex}.logo b{letter-spacing:.12em;font-family:Noto Serif JP,serif;font-size:21px}.logo small{letter-spacing:.22em;color:var(--muted);font-size:7px}.desktopNav{gap:clamp(16px,1.8vw,30px);margin-left:auto;display:flex}.desktopNav a{font-size:12px;font-weight:700;text-decoration:none;position:relative}.desktopNav a:after{content:"";background:var(--wine);height:1px;transition:all .25s;position:absolute;bottom:-7px;left:0;right:100%}.desktopNav a:hover:after{right:0}.headerCta{background:var(--green);color:#fff;border-radius:99px;padding:13px 18px;font-size:12px;font-weight:700;text-decoration:none}.menuButton{background:0 0;border:0;width:42px;height:42px;display:none}.menuButton i{background:var(--ink);width:24px;height:1px;margin:7px;display:block}.mobileMenu{display:none}.homeHero{grid-template-columns:1fr .9fr;align-items:center;gap:7vw;min-height:100svh;padding:140px clamp(22px,7vw,110px) 72px;display:grid;position:relative;overflow:hidden}.homeHero:before,.homeHero:after{content:"";z-index:-1;border-radius:50%;position:absolute}.homeHero:before{background:#eadfcb;width:380px;height:380px;top:-180px;left:30%}.homeHero:after{border:1px solid #ded3bf;width:460px;height:460px;bottom:-300px;left:-80px}.heroKicker{color:var(--green);letter-spacing:.08em;align-items:center;gap:10px;margin:0 0 26px;font-size:12px;font-weight:700;display:inline-flex}.heroKicker:before{content:"";background:currentColor;width:24px;height:1px}.heroCopy h1,.pageIntro h1,.sectionWrap h2,.messageSection h2,.conceptCopy h2,.aboutHouseCopy h2,.storySection h2,.centerMessage h2,.courseLead h2,.cycle h2{font-family:Noto Serif JP,serif}.heroCopy h1{letter-spacing:.02em;color:var(--wine-dark);margin:0;font-size:clamp(41px,5.3vw,78px);line-height:1.33}.heroCopy h1 span{display:block}.heroPromise{margin:28px 0 16px;font-family:Noto Serif JP,serif;font-size:clamp(21px,2.2vw,31px);line-height:1.7}.heroConcept{color:var(--green);letter-spacing:.12em;margin:0 0 32px;font-size:14px;font-weight:700}.roundButton{background:var(--wine);color:#fff;border-radius:99px;justify-content:space-between;align-items:center;width:min(100%,250px);padding:16px 18px 16px 23px;font-size:13px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 9px 22px #7a2e3525}.roundButton span{color:var(--wine);background:#fff;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.heroHome{filter:drop-shadow(0 24px 22px #503e2820);padding-top:74px;position:relative}.roof{background:var(--wine);clip-path:polygon(50% 0,100% 100%,0 100%);color:#fff;text-align:center;width:110%;height:95px;position:absolute;top:0;left:-5%}.roof span{letter-spacing:.18em;padding-top:54px;font-family:Noto Serif JP,serif;font-size:14px;display:block}.floor{background:var(--white);border:1px solid #ddcfba;align-items:flex-start;gap:18px;min-height:150px;padding:28px 100px 24px 30px;display:flex;position:relative}.floor2{border-bottom:0}.floor small{color:var(--wine);font-weight:800}.floor b{color:var(--green);font-family:Noto Serif JP,serif;font-size:25px}.floor p{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.7}.window{border:8px solid var(--green);background:#cbdcce;width:55px;height:62px;position:absolute;top:30px;right:28px;box-shadow:inset 0 0 0 2px #f7f0e4}.window:before,.window:after{content:"";background:var(--green);position:absolute}.window:before{width:4px;height:100%;left:18px}.window:after{width:100%;height:4px;top:21px}.door{background:var(--wine);border-radius:26px 26px 0 0;width:53px;height:84px;position:absolute;bottom:0;right:31px}.door:after{content:"";background:#f5dca9;border-radius:50%;width:5px;height:5px;position:absolute;top:47px;left:12px}.groundText{text-align:center;color:var(--green);letter-spacing:.08em;margin:18px 0 0;font-size:12px;font-weight:700}.sectionWrap{width:min(1120px,88vw);margin-inline:auto;padding:110px 0}.sectionLabel{letter-spacing:.25em;color:var(--wine);align-items:center;gap:12px;margin:0 0 30px;font-size:10px;font-weight:800;display:flex}.sectionLabel:before{content:"";background:currentColor;width:30px;height:1px}.sectionLabel.light{color:#e9c5b8}.messageSection{text-align:center;background:var(--paper);padding:130px 8vw;position:relative}.handText{color:var(--wine);font-family:Noto Serif JP,serif;font-size:20px}.messageSection h2{margin:25px 0 50px;font-size:clamp(35px,4.5vw,62px);line-height:1.5}.twoColText{text-align:left;grid-template-columns:1fr 1fr;gap:7vw;max-width:900px;margin:auto;display:grid}.twoColText p{font-size:14px;line-height:2.2}.conceptSection{background:var(--green);color:#fff;grid-template-columns:.85fr 1fr;align-items:center;gap:12vw;padding:120px max(7vw,30px);display:grid}.conceptCopy h2{margin:0 0 28px;font-size:clamp(42px,5vw,70px);line-height:1.4}.conceptCopy>p:not(.sectionLabel){color:#dce5df;max-width:480px;line-height:2.2}.textArrow{border-bottom:1px solid #fff5;justify-content:space-between;margin-top:35px;padding:18px 0;font-size:13px;text-decoration:none;display:flex}.heroHome.compact{filter:none;width:min(100%,520px)}.sectionHeading{justify-content:space-between;align-items:flex-end;margin-bottom:58px;display:flex}.sectionHeading h2{margin:0;font-size:clamp(35px,4vw,54px);line-height:1.5}.sectionHeading>p{color:var(--muted);font-size:13px}.courseGrid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.courseCard{border-radius:30px;flex-direction:column;align-items:flex-start;min-height:430px;padding:48px;text-decoration:none;display:flex;position:relative;overflow:hidden}.courseCard:after{content:"";border:35px solid #ffffff28;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-50px;right:-50px}.courseCard small{letter-spacing:.18em}.courseCard h3{margin:40px 0 8px;font-family:Noto Serif JP,serif;font-size:36px}.courseCard b{font-size:17px}.courseCard p{max-width:380px;margin:25px 0;font-size:13px;line-height:2}.courseCard span{border-bottom:1px solid;margin-top:auto;padding-bottom:5px;font-size:12px}.elementary{color:var(--green);background:#dce5dc}.junior{background:var(--wine);color:#fff}.reasons{border-top:1px solid var(--line)}.reasons h2{font-size:clamp(35px,4vw,56px);line-height:1.5}.reasons h2 em{color:var(--wine);font-style:normal}.reasonGrid{grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;display:grid}.reasonGrid article{border-left:1px solid var(--line);padding:10px 38px 20px}.reasonGrid small{color:var(--wine);font-weight:800}.reasonGrid h3{margin:25px 0 15px;font-family:Noto Serif JP,serif;font-size:23px}.reasonGrid p{color:var(--muted);font-size:13px}.teachers{background:var(--paper);width:100%;padding-inline:max(6vw,24px)}.teacherGrid{grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;display:grid}.teacherGrid article{background:var(--cream);border-radius:24px;padding:22px}.teacherPhoto{aspect-ratio:4/3;color:#948b7d;letter-spacing:.2em;background:#ded6c8;border-radius:15px;place-items:center;margin-bottom:23px;font-size:11px;display:grid}.teacherGrid h3{margin:4px 0;font-family:Noto Serif JP,serif;font-size:25px}.teacherGrid article>small,.career{color:var(--muted);font-size:11px}.teacherGrid article>p:last-child{border-top:1px solid var(--line);padding-top:18px;font-size:13px}.newsList article{border-top:1px solid var(--line);grid-template-columns:120px 90px 1fr;align-items:center;padding:20px 4px;display:grid}.newsList article:last-child{border-bottom:1px solid var(--line)}.newsList time{color:var(--muted);font-size:11px}.newsList span{color:var(--wine);border:1px solid var(--wine);text-align:center;border-radius:99px;padding:2px;font-size:10px}.newsList p{font-size:13px}.faqPreview{padding-top:50px}.textArrow.dark{color:var(--green);border-color:var(--green)}.faqList{border-top:1px solid var(--line)}.faqItem{border-bottom:1px solid var(--line)}.faqItem button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:45px 1fr 25px;align-items:center;width:100%;padding:26px 8px;display:grid}.faqItem button span,.faqAnswer>span{color:var(--wine);font-family:Noto Serif JP,serif;font-size:22px}.faqItem button b{font-size:14px}.faqItem button i{font-size:20px;font-style:normal;transition:all .2s}.faqItem.active button i{transform:rotate(45deg)}.faqAnswer{grid-template-columns:45px 1fr;max-height:0;transition:all .35s;display:grid;overflow:hidden}.faqAnswer p{margin:0 0 25px;font-size:13px;line-height:2}.faqItem.active .faqAnswer{max-height:280px}.contact{background:var(--wine);color:#fff;text-align:center;padding:100px max(6vw,25px)}.contact h2{margin:0;font-family:Noto Serif JP,serif;font-size:clamp(35px,5vw,62px);line-height:1.45}.contact>div>p:last-child{color:#efdede;margin:28px 0;font-size:13px}.contact .sectionLabel{justify-content:center}.lineButton{max-width:520px;color:var(--ink);background:#fff;border-radius:15px;grid-template-columns:62px 1fr 30px;align-items:center;margin:35px auto 18px;padding:18px;text-decoration:none;display:grid}.lineIcon{color:#fff;background:#06c755;border-radius:14px;place-items:center;width:48px;height:48px;font-size:10px;font-weight:800;display:grid}.lineButton b{font-size:14px}.lineButton i{color:var(--wine);font-style:normal}.instagramLink{color:#ecd7d9;font-size:12px}footer{color:#fff;background:#1d352e;grid-template-columns:1.2fr 1fr 1fr;gap:60px;padding:70px max(6vw,25px);display:grid}.footerLogo .logoMark{background:var(--cream);color:var(--wine)}.footerLogo small{color:#bdc8c2}footer>div>p,footer nav a,.footerInfo{color:#bdc8c2;font-size:11px}footer nav{grid-template-columns:1fr 1fr;gap:12px;display:grid}footer nav a{text-decoration:none}.footerInfo small{margin-top:30px;display:block}.pageIntro{background:var(--paper);grid-template-columns:1.1fr 1fr;align-items:end;gap:8vw;min-height:520px;padding:160px max(7vw,30px) 80px;display:grid;position:relative;overflow:hidden}.pageIntro:after{content:"";background:#ebe1d1;border-radius:50%;width:420px;height:420px;position:absolute;top:-180px;right:-150px}.pageIntro h1{color:var(--wine-dark);margin:0;font-size:clamp(48px,7vw,92px);line-height:1.2}.pageIntro .sectionLabel{position:absolute;top:155px;left:max(7vw,30px)}.introText{color:var(--green);z-index:1;font-family:Noto Serif JP,serif;font-size:clamp(18px,2vw,25px);line-height:2;position:relative}.beforeCourses{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:110px 1fr 35px;align-items:center;padding:18px 24px;text-decoration:none;display:grid}.beforeCourses>span{color:var(--wine);font-size:10px}.beforeCourses div{flex-direction:column;display:flex}.beforeCourses b{font-size:14px}.beforeCourses small{color:var(--muted)}.aboutHouse{grid-template-columns:1fr 1fr;align-items:center;gap:10vw;display:grid}.houseStack{filter:drop-shadow(0 20px 20px #4e3e2920);padding-top:80px;position:relative}.houseStack:before{content:"";background:var(--wine);clip-path:polygon(50% 0,100% 100%,0 100%);width:110%;height:100px;position:absolute;top:0;left:-5%}.houseStack article{background:var(--paper);border:1px solid var(--line);min-height:150px;padding:32px;position:relative}.houseStack h2{color:var(--green);margin:5px 0;font-family:Noto Serif JP,serif;font-size:30px}.houseStack p{font-size:12px}.aboutHouseCopy h2{font-size:clamp(35px,4vw,55px);line-height:1.5}.aboutHouseCopy>p:not(.handText){color:var(--muted);font-size:14px}.storySection{background:var(--green);color:#fff;padding:100px max(8vw,30px)}.storySection article{border-top:1px solid #ffffff40;grid-template-columns:25% 1fr;max-width:1000px;margin:auto;padding:50px 0;display:grid}.storySection article>span{color:#ffffff25;font-size:70px}.storySection small{color:#dec2b8}.storySection h2{font-size:36px}.storySection p{color:#d6e0dc;max-width:650px}.centerMessage{text-align:center;background:var(--paper);padding:120px 25px}.centerMessage h2{color:var(--wine);margin:25px 0;font-size:clamp(36px,5vw,65px);line-height:1.45}.courseLead,.cycle{grid-template-columns:1fr 1fr;gap:9vw;display:grid}.courseLead h2,.cycle h2{margin:0;font-size:clamp(34px,4vw,55px);line-height:1.5}.courseLead em,.cycle em{color:var(--wine);font-style:normal}.courseLead>div:last-child{color:var(--muted);font-size:14px}.choiceSection{background:var(--green);color:#fff}.choiceGrid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.choiceGrid article{aspect-ratio:1;text-align:center;background:#ffffff0c;border:1px solid #ffffff35;border-radius:50%;place-content:center;display:grid}.choiceGrid small{color:#dbbdb0}.choiceGrid b{font-family:Noto Serif JP,serif}.choiceNote{text-align:center;margin-top:35px}.steps h2,.classSection>h2{font-size:clamp(34px,4vw,55px)}.stepGrid{grid-template-columns:repeat(4,1fr);margin-top:55px;display:grid}.stepGrid article{border-left:1px solid var(--line);padding:20px 25px}.stepGrid small{color:var(--wine)}.stepGrid h3{font-family:Noto Serif JP,serif;font-size:22px}.stepGrid p{color:var(--muted);font-size:12px}.cycleVisual{grid-template-columns:1fr 30px 1fr;align-items:center;display:grid;position:relative}.cycleVisual article{aspect-ratio:1;background:var(--paper);text-align:center;border-radius:50%;place-content:center;padding:25px;display:grid}.cycleVisual article:last-of-type{background:var(--wine);color:#fff}.cycleVisual article h3{margin:10px 0;font-family:Noto Serif JP,serif;font-size:22px}.cycleVisual article p{font-size:11px}.cycleVisual>span{text-align:center}.cycleVisual>i{color:var(--green);font-size:11px;font-style:normal;position:absolute;bottom:-35px;left:50%;transform:translate(-50%)}.supportBand{background:var(--green);color:#fff}.supportBand .sectionWrap{justify-content:center;align-items:center;gap:28px;padding-block:45px;display:flex}.supportBand div div{gap:10px;display:flex}.supportBand span{border:1px solid #ffffff60;border-radius:99px;padding:10px 23px;font-weight:700}.classGrid,.pricingGrid{grid-template-columns:1fr 1fr;gap:22px;margin-top:55px;display:grid}.classGrid article{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:48px}.classGrid .advance{background:var(--wine);color:#fff}.classGrid h3{letter-spacing:.07em;margin:15px 0 0;font-size:42px}.classGrid article>b{font-family:Noto Serif JP,serif;font-size:20px}.classGrid article>p{margin:28px 0;font-size:13px}.classGrid dl{font-size:12px}.classGrid dl div{border-top:1px solid;grid-template-columns:120px 1fr;padding:10px 0;display:grid}.classGrid dd{margin:0}.classNote{text-align:center;color:var(--muted);font-size:11px}.pricingGrid article{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:50px}.pricingGrid article:last-child{background:var(--green);color:#fff}.pricingGrid h2{font-size:34px}.price{border-block:1px solid;margin:25px 0;padding:25px 0;font-family:Noto Serif JP,serif;font-size:31px}.pricingGrid p{font-size:13px}.pricingGrid a{font-size:12px}.pricingSection aside{background:#eee5d6;border-radius:14px;margin-top:35px;padding:25px 30px;font-size:12px}.faqPage{max-width:900px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(16px)}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transition:none;transform:none}}@media (max-width:900px){.desktopNav{display:none}.menuButton{display:block}.headerCta{margin-left:auto}.mobileMenu{z-index:15;background:var(--cream);flex-direction:column;padding:110px 28px 30px;transition:all .3s;display:flex;position:fixed;inset:0;transform:translateY(-105%)}.mobileMenu.open{transform:none}.mobileMenu>a{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px;text-decoration:none;display:flex}.mobileMenu .mobileLine{background:var(--green);color:#fff;border:0;border-radius:99px;justify-content:center;margin-top:25px}.homeHero{grid-template-columns:1fr;padding-top:120px}.heroCopy h1{font-size:clamp(42px,10vw,66px)}.heroHome{width:min(100%,580px);margin:20px auto 0}.conceptSection,.aboutHouse,.courseLead,.cycle{grid-template-columns:1fr}.conceptSection .heroHome{margin-top:40px}.reasonGrid{grid-template-columns:1fr}.reasonGrid article{padding-block:28px}.choiceGrid{grid-template-columns:repeat(3,1fr)}.stepGrid{grid-template-columns:1fr 1fr}.pageIntro{grid-template-columns:1fr;padding-top:180px}.sectionHeading{align-items:flex-start;gap:25px}.supportBand .sectionWrap{flex-direction:column}.courseGrid,.classGrid,.pricingGrid{grid-template-columns:1fr}}@media (max-width:600px){.siteHeader{height:76px;padding:0 18px}.logo b{font-size:18px}.headerCta{display:none}.menuButton{margin-left:auto}.homeHero{gap:28px;padding:112px 20px 55px}.heroKicker{margin-bottom:18px}.heroCopy h1{font-size:10.5vw}.heroPromise{margin-top:20px}.heroConcept{margin-bottom:25px}.heroHome{padding-top:57px}.roof{height:76px}.roof span{padding-top:42px}.floor{gap:12px;min-height:126px;padding:22px 75px 18px 20px}.floor b{font-size:22px}.floor p{font-size:11px}.window{border-width:7px;width:46px;height:53px;top:25px;right:18px}.door{width:45px;height:70px;right:20px}.sectionWrap{width:88vw;padding:75px 0}.messageSection,.conceptSection,.contact{padding-block:80px}.twoColText,.courseGrid,.teacherGrid{grid-template-columns:1fr}.sectionHeading{display:block}.sectionHeading>p{margin-top:18px}.courseCard{min-height:390px;padding:35px 28px}.reasonGrid article{padding-left:22px}.newsList article{grid-template-columns:95px 1fr}.newsList p{grid-column:1/-1;margin-bottom:0}.pageIntro{min-height:470px;padding:165px 22px 60px}.pageIntro .sectionLabel{top:120px;left:22px}.beforeCourses{grid-template-columns:1fr 25px;padding:18px}.beforeCourses>span{grid-column:1/-1}.beforeCourses small{display:none}.choiceGrid{grid-template-columns:1fr 1fr}.choiceGrid article{aspect-ratio:1.15}.stepGrid,.cycleVisual{grid-template-columns:1fr}.cycleVisual>span{transform:rotate(90deg)}.cycleVisual>i{text-align:center;margin-top:15px;position:static;transform:none}.classGrid article,.pricingGrid article{padding:35px 25px}.classGrid dl div{grid-template-columns:1fr}.supportBand div div{flex-wrap:wrap;justify-content:center}.contact h2{font-size:9.5vw}.lineButton{text-align:left;grid-template-columns:52px 1fr 20px}.lineButton b{font-size:12px}footer{grid-template-columns:1fr;gap:35px}footer nav{grid-template-columns:1fr 1fr}.storySection article{grid-template-columns:1fr}.storySection article>span{font-size:40px}.aboutHouse{gap:55px}}.officialLogo{background:var(--cream);border:1px solid #7a2e351c;border-radius:14px;flex:none;padding:2px 7px;overflow:hidden;box-shadow:0 7px 20px #4b392418}.officialLogo img{object-fit:contain;mix-blend-mode:multiply;filter:brightness(1.045)contrast(1.015);width:154px;height:62px;display:block}.footerLogo{background:var(--cream);width:max-content;box-shadow:none}.footerLogo img{width:180px;height:82px}.hoursNote{max-width:300px;font-size:10px;line-height:1.7}@media (max-width:600px){.officialLogo img{width:128px;height:52px}.footerLogo img{width:168px;height:76px}}.siteHeader .officialLogo{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.siteHeader .officialLogo img{width:164px;height:68px}.instagramLink{justify-content:center;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.instagramLink b{font-size:12px}.instagramMark{border:2px solid;border-radius:8px;width:27px;height:27px;display:inline-block;position:relative}.instagramMark:before{content:"";border:2px solid;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.instagramMark:after{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:4px;right:4px}.footerInstagram{border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;color:#fff!important;display:flex!important}.footerInstagram .instagramMark{border-radius:7px;width:23px;height:23px}.footerInstagram .instagramMark:before{width:7px;height:7px}.footerInstagram .instagramMark:after{top:3px;right:3px}@media (max-width:600px){.siteHeader .officialLogo img{width:138px;height:56px}}.conceptSection{grid-template-columns:.62fr 1.38fr;gap:5vw}.houseConceptVisual{background:#fffdf8;border-radius:24px;margin:0;padding:8px;overflow:hidden;box-shadow:0 22px 45px #10271f55}.houseConceptVisual img{border-radius:18px;width:100%;height:auto;display:block}.aboutConceptVisual{box-shadow:0 20px 42px #503e2820}.aboutHouse{grid-template-columns:1.35fr .65fr;gap:6vw}@media (max-width:900px){.conceptSection,.aboutHouse{grid-template-columns:1fr}.houseConceptVisual{width:min(100%,760px);margin-inline:auto}.conceptSection .houseConceptVisual{margin-top:35px}}@media (max-width:600px){.houseConceptVisual{border-radius:16px;padding:4px}.houseConceptVisual img{border-radius:12px}.aboutHouse{gap:45px}}.homeHero{text-align:center;grid-template-columns:minmax(0,820px);justify-content:center}.homeHero .heroCopy{flex-direction:column;align-items:center;display:flex}.homeHero .heroKicker{justify-content:center}.homeHero .roundButton{margin-inline:auto}.homeHero:before{left:50%;transform:translate(-50%)}.houseConceptVisual figcaption{color:#665f55;background:var(--paper);border-top:1px solid var(--line);text-align:left;padding:13px 16px 10px;font-size:11px;line-height:1.8}.aboutConceptVisual figcaption{background:var(--cream)}@media (max-width:600px){.houseConceptVisual figcaption{padding:11px 10px 8px;font-size:10px}}.accessSection{background:var(--paper);grid-template-columns:.72fr 1.28fr;align-items:stretch;gap:6vw;padding:90px max(6vw,25px);display:grid}.accessCopy h2{margin:0 0 28px;font-family:Noto Serif JP,serif;font-size:clamp(30px,3.5vw,48px);line-height:1.4}.accessCopy>p:not(.sectionLabel){margin:7px 0;font-size:13px}.accessCopy>small{color:var(--muted);margin:18px 0;font-size:10px;line-height:1.7;display:block}.accessCopy>a{color:var(--green);border-bottom:1px solid;padding-bottom:4px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.mapFrame{border-radius:24px;min-height:380px;overflow:hidden;box-shadow:0 18px 40px #503e2820}.mapFrame iframe{border:0;width:100%;height:100%;min-height:380px;display:block}@media (max-width:800px){.accessSection{grid-template-columns:1fr;padding-block:70px}.mapFrame,.mapFrame iframe{min-height:340px}}@media (max-width:600px){.mapFrame,.mapFrame iframe{border-radius:16px;min-height:300px}}@media (hover:hover){.headerCta,.roundButton,.lineButton,.courseCard,.beforeCourses,.textArrow,.instagramLink,.footerInstagram,.accessCopy>a,.desktopNav a,footer nav a{transition:color .22s,background-color .22s,border-color .22s,box-shadow .22s,transform .22s,opacity .22s}.headerCta:hover{background:#356454;transform:translateY(-2px);box-shadow:0 8px 18px #24483d35}.roundButton:hover{background:#963b44;transform:translateY(-3px);box-shadow:0 13px 25px #7a2e3540}.lineButton:hover{background:#f1f8f2;transform:translateY(-3px);box-shadow:0 14px 28px #44151d45}.courseCard:hover{transform:translateY(-6px);box-shadow:0 20px 40px #503e2828}.beforeCourses:hover{border-color:var(--wine);background:#efe5d5;transform:translateY(-2px)}.textArrow:hover,.accessCopy>a:hover{color:#d8ad9f;border-color:currentColor}.textArrow.dark:hover,.accessCopy>a:hover{color:var(--wine)}.instagramLink:hover{color:#fff;opacity:.72;transform:translateY(-2px)}.footerInstagram:hover{background:var(--wine);border-color:var(--wine);transform:translateY(-2px)}footer nav a:hover{color:#fff}.desktopNav a:hover{color:var(--wine)}}:is(a:focus-visible,button:focus-visible){outline-offset:4px;border-radius:6px;outline:3px solid #d9aa3a}.photoMosaic{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:102px;gap:16px;display:grid}.schoolPhoto{background:#ded5c7;border-radius:22px;margin:0;position:relative;overflow:hidden;box-shadow:0 16px 35px #503e2820}.schoolPhoto:after{content:"";pointer-events:none;background:linear-gradient(#0000,#172b2499);position:absolute;inset:45% 0 0}.schoolPhoto figcaption{z-index:1;color:#fff;letter-spacing:.04em;text-shadow:0 2px 8px #0008;font-size:13px;font-weight:700;position:absolute;bottom:16px;left:18px;right:18px}.schoolPhoto figcaption span{letter-spacing:.16em;background:#172b247d;border:1px solid #ffffff8c;border-radius:999px;margin-right:8px;padding:4px 8px;font-size:9px;display:inline-block}.photo1{grid-area:1/1/4/6}.photo2{grid-area:1/6/4/13}.photo3{grid-area:4/1/8/8}.photo4{grid-area:4/8/6/13}.photo5{grid-area:6/8/8/13}.photo6{grid-area:8/1/11/7}.photo7{grid-area:8/7/11/13}.photo6 img,.photo7 img{object-position:center 42%}@media (hover:hover){.schoolPhoto:hover img{transform:scale(1.035)}}@media (max-width:800px){.photoMosaic{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.schoolPhoto{grid-area:auto}.photo3{grid-column:1/3;height:360px}.photo7{grid-column:1/3;height:300px}}@media (max-width:600px){.photoSection{width:min(100% - 32px,560px)}.photoMosaic{flex-direction:column;gap:12px;display:flex}.schoolPhoto,.photo3,.photo7{width:100%;height:235px}.photo3{height:280px}.photo6,.photo7{height:255px}.schoolPhoto{border-radius:16px}.schoolPhoto figcaption{font-size:12px;bottom:13px;left:14px;right:14px}}.photoSection{width:min(1280px,92vw)}.photoMosaic{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.schoolPhoto{aspect-ratio:4/3;background:#ded5c7;border-radius:22px;margin:0;position:relative;overflow:hidden;box-shadow:0 16px 35px #503e2820}.schoolPhoto img{object-fit:cover;width:100%;height:100%;transition:transform .55s;display:block}.schoolPhoto:nth-child(5) img,.schoolPhoto:nth-child(6) img{object-position:center 42%}@media (hover:hover){.schoolPhoto:hover img{transform:scale(1.035)}}@media (max-width:800px){.photoMosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.photoSection{width:min(100% - 32px,560px)}.photoMosaic{grid-template-columns:1fr;gap:12px}.schoolPhoto{aspect-ratio:4/3;border-radius:16px;width:100%}}.pricingLead{margin:28px 0;line-height:2}.pricingLineButton{border:1px solid;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding:17px 20px;font-weight:700;text-decoration:none;display:flex}.pricingLineButton span{font-size:18px}.juniorPriceTable{border:1px solid #fff5;border-radius:14px;margin:28px 0;overflow:hidden}.juniorPriceTable table{border-collapse:collapse;width:100%}.juniorPriceTable th,.juniorPriceTable td{text-align:left;padding:18px 20px}.juniorPriceTable thead{letter-spacing:.14em;background:#ffffff18;font-size:11px}.juniorPriceTable tbody tr+tr{border-top:1px solid #ffffff42}.juniorPriceTable tbody th{font-size:14px}.juniorPriceTable td strong{font-family:Noto Serif JP,serif;font-size:26px;line-height:1.3;display:block}.juniorPriceTable td small{opacity:.72;margin-top:4px;font-size:9px;display:block}@media (hover:hover){.pricingLineButton{transition:background-color .22s,color .22s,transform .22s}.pricingGrid article:first-child .pricingLineButton:hover{background:var(--wine);color:#fff;transform:translateY(-2px)}.pricingGrid article:last-child .pricingLineButton:hover{color:var(--green);background:#fff;transform:translateY(-2px)}}@media (max-width:600px){.juniorPriceTable th,.juniorPriceTable td{padding:15px 12px}.juniorPriceTable td strong{font-size:22px}.pricingLineButton{padding:16px 15px;font-size:11px}}.explainLearning{grid-template-columns:.8fr 1.2fr;align-items:start;gap:8vw;display:grid}.explainLearning h2,.unlimitedVisits h2{margin:0;font-family:Noto Serif JP,serif;font-size:clamp(32px,4vw,54px);line-height:1.45}.explainLearning p{margin-top:0}.explainLearning ul{margin:24px 0;padding:0;list-style:none}.explainLearning li{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:12px 16px 12px 42px;position:relative}.explainLearning li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;left:16px}.explainLearning small{color:var(--muted);font-size:10px;line-height:1.8;display:block}.unlimitedVisits{background:var(--green);color:#fff;padding:90px 0}.unlimitedVisits>.sectionWrap{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;display:grid}.unlimitedVisits h2{margin-bottom:22px}.unlimitedVisits p:not(.sectionLabel){opacity:.85;font-size:13px}.unlimitedVisits ul{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.unlimitedVisits li{background:#ffffff0d;border:1px solid #ffffff35;border-radius:14px;align-items:center;min-height:110px;padding:20px;font-size:12px;font-weight:700;display:flex}@media (max-width:800px){.explainLearning,.unlimitedVisits>.sectionWrap{grid-template-columns:1fr}.unlimitedVisits ul{margin-top:10px}}@media (max-width:600px){.unlimitedVisits{padding:70px 0}.unlimitedVisits ul{grid-template-columns:1fr}.unlimitedVisits li{min-height:auto}.explainLearning{gap:35px}}.faqCategory>h2{margin:0 0 30px;font-family:Noto Serif JP,serif;font-size:clamp(30px,4vw,48px)}.faqCategory+.faqCategory{border-top:1px solid var(--line);margin-top:100px;padding-top:80px}.juniorFaq .sectionLabel{color:var(--green)}.faqLineLink{color:var(--wine);border-bottom:1px solid;margin-left:8px;font-weight:700;text-decoration:none;display:inline-block}@media (hover:hover){.faqLineLink:hover{color:var(--green)}}@media (max-width:600px){.faqCategory+.faqCategory{margin-top:70px;padding-top:55px}.faqCategory>h2{margin-bottom:22px}.faqLineLink{width:max-content;margin:10px 0 0;display:block}}.pageIntro{isolation:isolate}.pageIntro:after{z-index:-1;pointer-events:none}.pageIntro h1,.pageIntro .introText{z-index:1;position:relative}.pageIntro .sectionLabel{z-index:1;position:absolute}@media (max-width:600px){.pageIntro:after{width:260px;height:260px;top:-105px;right:-120px}}.faqItem button{color:var(--ink)}
