:root{--orange:#ff7a00;--yellow:#ffd63d;--coral:#ff5f4d;--ink:#302319;--cream:#fff9eb;--green:#21b96b;--white:#fff;--shadow:0 22px 60px rgba(99,53,8,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fff;line-height:1.8;overflow-x:hidden}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}img{width:100%;display:block}button{font:inherit}.proposal-bar{height:34px;background:#33241b;color:#fff;text-align:center;font-size:11px;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;gap:12px}.proposal-bar span{color:var(--yellow);font-weight:900}.header{height:78px;display:flex;align-items:center;padding:0 clamp(20px,5vw,72px);gap:36px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:30;box-shadow:0 4px 20px rgba(50,35,25,.07)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{width:44px;height:44px;border-radius:50% 50% 44% 56%;display:grid;place-items:center;background:linear-gradient(145deg,var(--yellow),var(--orange));font:bold 28px "Zen Maru Gothic";transform:rotate(-7deg);color:white}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{font:900 21px "Zen Maru Gothic";letter-spacing:.04em}.brand small{font-size:7px;letter-spacing:.17em;margin-top:5px}.header nav{display:flex;gap:28px;font-size:12px;font-weight:700}.header nav a{position:relative}.header nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:3px;background:var(--orange);transition:.3s}.header nav a:hover:after{width:100%}.mini-cta{background:var(--orange);color:#fff;border-radius:999px;padding:12px 20px;font-size:12px;font-weight:800;box-shadow:0 7px 20px rgba(255,122,0,.25)}.menu{display:none;border:0;background:none;width:42px;padding:8px}.menu span{height:2px;background:var(--ink);display:block;margin:6px}
.hero{min-height:720px;position:relative;display:grid;align-items:center;overflow:hidden;background:#fff6df}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,247,224,.98) 5%,rgba(255,247,224,.82) 40%,rgba(255,247,224,0) 66%),url('hero.png') 62% center/cover no-repeat}.hero:before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,122,0,.25);border-radius:50%;left:-250px;top:-220px}.hero:after{content:"✦  ✧  ✦";position:absolute;right:6%;top:7%;color:#fff;font-size:28px;letter-spacing:15px}.hero-copy{position:relative;z-index:2;width:min(610px,90%);margin-left:clamp(24px,8vw,140px);padding:60px 0}.eyebrow{font-size:14px;font-weight:800;letter-spacing:.08em;color:#d85800;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:36px;height:3px;background:var(--orange)}h1{font:900 clamp(44px,5.2vw,76px)/1.23 "Zen Maru Gothic";letter-spacing:.03em;margin:18px 0}.hero h1 em{font-style:normal;color:var(--orange);position:relative}.hero h1 em:after{content:"";height:10px;background:var(--yellow);position:absolute;left:0;right:0;bottom:3px;z-index:-1;transform:rotate(-2deg)}.lead{font-weight:600;font-size:15px}.hero-badges{display:flex;gap:8px;margin:25px 0 16px}.hero-badges span,.entry-badges span{font-size:12px;font-weight:800;background:#fff;border:2px solid var(--orange);padding:5px 14px;border-radius:99px}.cta{border:0;cursor:pointer;width:min(440px,100%);min-height:80px;color:#fff;background:linear-gradient(135deg,#27c779,var(--green));box-shadow:0 10px 0 #138c4c,0 18px 34px rgba(20,147,79,.27);border-radius:16px;display:grid;grid-template-columns:1fr 34px;grid-template-rows:22px 28px;align-items:center;padding:12px 20px;transition:.25s}.cta:hover{transform:translateY(3px);box-shadow:0 7px 0 #138c4c,0 14px 28px rgba(20,147,79,.27)}.cta small{grid-column:1;text-align:center;font-size:11px}.cta b{grid-column:1;text-align:center;font-size:17px}.cta i{grid-column:2;grid-row:1/3;font-style:normal;font-size:24px}.micro{font-size:10px;margin:14px 0;text-align:center;width:min(440px,100%)}.hero-note{position:absolute;right:3%;bottom:40px;background:var(--orange);color:#fff;width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(8deg);box-shadow:0 10px 30px rgba(127,56,0,.2)}.hero-note b{font-size:24px}.hero-note span{font-size:9px;line-height:1.2}.scroll{position:absolute;bottom:10px;left:50%;font-size:8px;letter-spacing:.2em;display:flex;align-items:center;gap:10px}.scroll i{display:block;width:60px;height:1px;background:var(--ink)}
.trust-strip{position:relative;z-index:4;margin:-16px auto 0;width:min(900px,90%);min-height:100px;background:#fff;border-radius:16px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:var(--shadow);overflow:hidden}.trust-strip div{display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px dashed #e4cfa9}.trust-strip div:last-child{border:0}.trust-strip strong{font:900 38px "Zen Maru Gothic";color:var(--orange)}.trust-strip span{font-size:12px;font-weight:700;line-height:1.6}.section{padding:110px max(24px,calc((100% - 1120px)/2))}.section-head{text-align:center;margin-bottom:55px}.section-head>p{color:var(--orange);font-weight:900;font-size:12px;letter-spacing:.28em;margin:0}.section-head h2{font:900 clamp(30px,3.5vw,48px)/1.4 "Zen Maru Gothic";margin:12px 0}.section-head h2 span{color:var(--orange);position:relative}.section-head h2 span:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--yellow);z-index:-1}.section-head small{color:#816f61}.worries{background:radial-gradient(#f4dba8 1px,transparent 1px);background-size:22px 22px}.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.worry-grid article{background:#fff;border-radius:28px;padding:26px;text-align:center;position:relative;box-shadow:var(--shadow);min-height:220px}.worry-grid article b{position:absolute;top:-16px;left:22px;background:var(--orange);color:#fff;width:45px;height:45px;border-radius:50%;display:grid;place-items:center}.bubble{font:700 16px/1.8 "Zen Maru Gothic";display:block;margin:22px 0}.icon{font-size:50px;color:var(--orange)}.answer{text-align:center;margin:50px 0 0;font-size:19px}.answer strong{font-size:24px;color:var(--orange)}
.features{background:#332319;color:#fff;position:relative}.features:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 49%,rgba(255,255,255,.03) 50%)}.section-head.light h2 span:after{z-index:0;opacity:.25}.section-head.light h2 span{color:var(--yellow)}.feature-list{display:grid;gap:35px}.feature{background:#fff;color:var(--ink);border-radius:28px;min-height:360px;padding:40px;display:grid;grid-template-columns:72px 1fr 42%;gap:28px;align-items:center;overflow:hidden;position:relative}.feature.reverse{grid-template-columns:72px 1fr 42%}.feature-no{font:900 54px "Zen Maru Gothic";color:#ffd9ac;align-self:start}.feature-copy>span{font-size:10px;letter-spacing:.2em;color:var(--orange);font-weight:900}.feature-copy h3{font:900 clamp(23px,2.2vw,34px)/1.5 "Zen Maru Gothic";margin:8px 0 15px}.feature-copy p{font-size:13px}.feature-copy small{font-size:9px;color:#8a7b70}.feature-art{height:260px;border-radius:22px;background:linear-gradient(145deg,#ffca3a,#ff7a00);display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(2deg)}.feature-art i{font-style:normal;color:#fff;border:2px solid #fff;border-radius:50%;width:90px;height:90px;display:grid;place-items:center;font-size:11px;font-weight:900;box-shadow:0 10px 25px rgba(113,44,0,.15)}.feature-art i:nth-child(2){transform:translateY(-25px)}.feature-photo{height:290px;border-radius:22px;overflow:hidden}.feature-photo img{height:100%;object-fit:cover}.stage-art{height:270px;border-radius:22px;background:#201712;display:grid;place-items:center;position:relative;overflow:hidden}.stage-art:before,.stage-art:after{content:"";position:absolute;top:-20%;width:120px;height:150%;background:linear-gradient(rgba(255,215,77,.6),transparent);filter:blur(12px)}.stage-art:before{left:5%;transform:rotate(-18deg)}.stage-art:after{right:5%;transform:rotate(18deg)}.stage-art div{font:900 38px/1.05 "Zen Maru Gothic";color:#fff;text-align:center;z-index:2}.stage-art span{position:absolute;width:170px;height:65px;background:var(--orange);border-radius:50%;bottom:-40px;filter:blur(12px)}
.lesson{background:#fff9eb}.lesson-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lesson-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.lesson-image{height:230px;background-size:cover;background-position:center}.acting .lesson-image{background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05)),url('class-photo.png')}.dance .lesson-image{background-image:url('hero.png');background-position:63% center}.voice .lesson-image{background-image:url('hero.png');background-position:92% center}.lesson-card>div:last-child{padding:25px}.lesson-card span{font-size:10px;letter-spacing:.2em;color:var(--orange);font-weight:900}.lesson-card h3{font:900 30px "Zen Maru Gothic";margin:5px 0}.lesson-card p{font-size:12px}.lesson-card ul{padding:0;display:flex;flex-wrap:wrap;gap:5px;list-style:none}.lesson-card li{font-size:10px;background:#fff3d4;border-radius:99px;padding:5px 9px}.instructor{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.instructor-photo{height:590px;border-radius:30px 120px 30px 30px;overflow:hidden;box-shadow:var(--shadow)}.instructor-photo img{height:100%;object-fit:cover;object-position:55% center}.instructor-copy>p:first-child{color:var(--orange);font-weight:900;font-size:12px;letter-spacing:.25em}.instructor-copy h2{font:900 clamp(30px,3.4vw,48px)/1.4 "Zen Maru Gothic"}.instructor-copy h2 span{color:var(--orange)}.name{padding:20px 0;border-top:1px solid #ddcbb5;border-bottom:1px solid #ddcbb5;margin:25px 0;display:flex;flex-direction:column}.name small{font-size:11px}.name strong{font-size:24px}.name i{font-style:normal;font-size:8px;letter-spacing:.2em;color:#9e8876}.career{display:flex;flex-wrap:wrap;gap:8px}.career span{font-size:10px;background:#fff1cd;padding:7px 12px;border-radius:99px}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.voice-grid article{border:1px solid #f1d9b4;border-radius:24px;padding:30px;background:#fff;box-shadow:0 15px 35px rgba(80,46,12,.08)}.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:22px;float:left;margin-right:16px}.a1{background:#ff8c62}.a2{background:#ffc23e}.a3{background:#6ebf9f}.stars{color:#ffad00;letter-spacing:2px}.voice-grid h3{font:900 17px "Zen Maru Gothic";clear:both;padding-top:20px}.voice-grid p{font-size:12px}.voice-grid small{font-size:10px;color:#9a897b}.demo-note{text-align:center;font-size:9px;color:#9a897b;margin-top:24px}
.flow{background:linear-gradient(135deg,#ff8a00,#ffb000);color:#fff}.flow-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.flow-list li{text-align:center;background:#fff;color:var(--ink);border-radius:22px;padding:28px 16px;position:relative}.flow-list li:not(:last-child):after{content:"→";position:absolute;right:-21px;top:45%;color:#fff;font-size:26px;z-index:2}.flow-list b{position:absolute;top:10px;left:15px;color:#ffc66a;font-size:28px}.flow-icon{font-size:40px;color:var(--orange)}.flow-list h3{font-size:14px}.flow-list p{font-size:10px}.faq-list{max-width:850px;margin:auto}.faq-list details{border-bottom:1px solid #ddcbb5}.faq-list summary{list-style:none;cursor:pointer;padding:24px 10px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list i{font:900 22px "Zen Maru Gothic";color:var(--orange);font-style:normal}.faq-list summary b{margin-left:auto;color:var(--orange);font-size:24px;transition:.25s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{background:#fff7e6;padding:18px 25px;margin:0 0 15px;display:flex;gap:17px;font-size:12px}.entry{background:linear-gradient(rgba(45,28,17,.25),rgba(45,28,17,.5)),url('hero.png') center/cover;color:#fff;text-align:center}.entry-inner{max-width:760px;margin:auto;background:rgba(45,28,17,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);padding:55px;border-radius:30px}.entry-inner>p:first-child{color:var(--yellow);letter-spacing:.25em;font-size:11px;font-weight:900}.entry h2{font:900 clamp(30px,4vw,50px)/1.45 "Zen Maru Gothic"}.entry h2 span{color:var(--yellow)}.entry-badges{display:flex;justify-content:center;gap:8px;margin:25px 0}.entry-badges span{border-color:#fff}.entry .cta{margin:25px auto}.entry-inner>small{font-size:9px}footer{background:#241913;color:#fff;text-align:center;padding:55px 25px 90px}.footer-brand{justify-content:center;margin:0 auto 24px;width:max-content}.footer-brand .brand-mark{width:36px;height:36px;font-size:22px}.footer-brand b{font-size:18px}footer>p{font-size:11px;color:#d7c6b9}footer nav{display:flex;justify-content:center;gap:20px;margin:25px 0;font-size:10px}footer>small{display:block;color:#aa978a;font-size:9px;margin:20px}footer>div{font-size:8px;color:#837369}.floating{display:none}.modal{position:fixed;inset:0;background:rgba(30,20,14,.72);z-index:100;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.25s}.modal.show{opacity:1;visibility:visible}.modal-card{width:min(510px,100%);background:#fff;border-radius:28px;padding:48px 35px 35px;text-align:center;position:relative;transform:translateY(15px);transition:.25s}.modal.show .modal-card{transform:none}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}.modal-icon{width:60px;height:60px;border-radius:50%;background:#e8fff2;color:var(--green);display:grid;place-items:center;font-size:30px;margin:auto}.modal-card h2{font:900 22px/1.5 "Zen Maru Gothic"}.modal-card p{font-size:12px;color:#79695e}.modal-ok{border:0;background:var(--orange);color:#fff;border-radius:99px;padding:12px 45px;font-weight:800;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{padding:0 20px;height:68px}.header nav{position:absolute;top:68px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:25px;box-shadow:0 15px 25px rgba(0,0,0,.1)}.header nav.open{display:flex}.mini-cta{display:none}.menu{display:block}.hero{min-height:850px;align-items:end}.hero-photo{background:linear-gradient(0deg,#fff6df 4%,rgba(255,246,223,.97) 32%,rgba(255,246,223,.05) 72%),url('hero.png') 68% top/auto 56% no-repeat}.hero-copy{margin:0 auto;padding:390px 0 60px}.hero-note{top:30px;right:18px;width:80px;height:80px}.scroll{display:none}.feature,.feature.reverse{grid-template-columns:50px 1fr}.feature-art,.feature-photo,.stage-art{grid-column:1/3;width:100%}.instructor{grid-template-columns:1fr}.instructor-photo{height:480px}.lesson-cards,.voice-grid{grid-template-columns:1fr}.flow-list{grid-template-columns:1fr 1fr}.flow-list li:after{display:none}}
@media(max-width:600px){body{padding-bottom:67px}.proposal-bar{font-size:9px}.brand b{font-size:17px}.brand-mark{width:38px;height:38px;font-size:23px}.brand small{font-size:6px}.hero{min-height:800px}.hero-copy{padding:340px 0 50px}.eyebrow{font-size:11px}h1{font-size:43px}.lead{font-size:12px}.hero-badges span{font-size:9px;padding:4px 9px}.cta{min-height:70px}.cta b{font-size:14px}.trust-strip{width:94%;min-height:82px}.trust-strip div{gap:6px}.trust-strip strong{font-size:27px}.trust-strip span{font-size:8px}.section{padding:78px 20px}.section-head{margin-bottom:38px}.worry-grid{grid-template-columns:1fr;gap:30px}.worry-grid article{min-height:155px}.answer{font-size:14px}.answer strong{font-size:18px}.feature{padding:25px 20px;grid-template-columns:36px 1fr;gap:12px}.feature-no{font-size:35px}.feature-copy h3{font-size:22px}.feature-art{height:210px}.feature-art i{width:73px;height:73px;font-size:9px}.instructor-photo{height:400px}.voice-grid{gap:16px}.flow-list{gap:10px}.flow-list li{padding:22px 10px}.faq-list summary{font-size:12px;padding:19px 5px}.entry{padding-left:15px;padding-right:15px}.entry-inner{padding:40px 18px}.entry-badges{gap:5px}.entry-badges span{font-size:8px;padding:5px 8px}footer{padding-bottom:35px}footer nav{flex-wrap:wrap}.floating{position:fixed;z-index:40;bottom:0;left:0;right:0;height:67px;background:#fff;display:grid;grid-template-columns:85px 1fr;padding:7px;box-shadow:0 -6px 25px rgba(60,35,13,.15)}.floating>span{display:grid;place-items:center;font-weight:900;font-size:11px;color:var(--orange)}.floating a{background:var(--green);border-radius:10px;color:#fff;display:flex;align-items:center;justify-content:center;gap:20px;font-size:13px}.floating i{font-style:normal;font-size:20px}.modal-card{padding:40px 20px 25px}.modal-card h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Expanded visual storytelling and LINE conversion */
.dance .lesson-image{background-image:url('dance-photo.png');background-position:center}
.voice .lesson-image{background-image:url('vocal-photo.png');background-position:center}
.gallery{background:#332319;color:#fff}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:310px 370px;gap:18px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:24px;background:#111}.gallery figure img{height:100%;object-fit:cover;transition:transform .7s}.gallery figure:hover img{transform:scale(1.035)}.gallery .g-stage{grid-column:1/3}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 25px 22px;background:linear-gradient(transparent,rgba(20,12,8,.88));display:flex;flex-direction:column}.gallery figcaption b{font-size:13px;letter-spacing:.18em;color:var(--yellow)}.gallery figcaption span{font:700 15px "Zen Maru Gothic"}.consult{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;background:#fff9eb}.consult-photo{height:500px;border-radius:30px 30px 120px 30px;overflow:hidden;box-shadow:var(--shadow)}.consult-photo img{height:100%;object-fit:cover}.consult-copy>p:first-child{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.25em}.consult-copy h2{font:900 clamp(30px,3.5vw,48px)/1.4 "Zen Maru Gothic"}.consult-copy h2 span{color:var(--orange)}.consult-copy>p{font-size:13px}.consult-copy ul{padding:0;list-style:none;display:grid;gap:8px;margin:25px 0}.consult-copy li{font-size:12px;font-weight:700;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 5px 18px rgba(70,40,12,.06)}.consult-copy li:before{content:"✓";color:var(--green);margin-right:10px}.line-sub{display:flex;align-items:center;justify-content:center;gap:15px;background:var(--green);color:#fff;border-radius:12px;padding:15px 20px;font-size:13px;font-weight:800;box-shadow:0 7px 0 #138c4c}.line-sub i{font-style:normal;font-size:20px}
@media(max-width:900px){.consult{grid-template-columns:1fr}.consult-photo{height:430px}.gallery-grid{grid-template-rows:270px 320px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;grid-template-rows:230px 230px 250px}.gallery .g-stage{grid-column:auto}.gallery figcaption{padding:40px 18px 16px}.consult-photo{height:330px}.consult{gap:35px}}
