@import "tailwindcss";

:root{--pink:#ed0873;--blue:#0755ad;--yellow:#ffd51b;--ink:#111;--paper:#fffdfa;--line:#161616}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Arial","Noto Sans JP",sans-serif}a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,253,250,.94);border-bottom:2px solid #111;backdrop-filter:blur(10px)}.logo{font-weight:900;letter-spacing:.08em}.logo strong{color:var(--pink)}.navLinks{display:flex;gap:28px;font-size:14px;font-weight:800}.miniCta{background:var(--yellow);border:2px solid #111;padding:10px 18px;box-shadow:4px 4px 0 #111;font-weight:900}.hero{min-height:calc(100vh - 72px);position:relative;overflow:hidden;padding:6vw 6vw 3vw;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;background-image:radial-gradient(#f1d9cc 1px,transparent 1px);background-size:18px 18px}.heroCopy{z-index:2}.eyebrow,.kicker{display:inline-block;background:#111;color:#fff;padding:8px 12px;font-size:12px;font-weight:900;letter-spacing:.15em}.hero h1{font-size:clamp(58px,8vw,132px);line-height:.75;margin:30px 0 34px;letter-spacing:-.07em;transform:rotate(-2deg)}.hero h1 span{font-size:.58em;background:#fff;padding:0 12px;box-shadow:8px 8px 0 var(--yellow)}.hero h1 em{font-style:normal;color:var(--pink);text-shadow:5px 5px 0 #fff}.heroLead{font-size:clamp(34px,4.2vw,72px);font-weight:900;line-height:1.16;margin:0}.heroLead b{color:var(--pink)}.heroLead span{color:var(--blue)}.subLead{font-weight:800}.speech{position:absolute;right:39%;top:8%;background:white;border:3px solid #111;padding:18px 24px;border-radius:48%;font-size:20px;font-weight:800;transform:rotate(5deg);z-index:4}.speech b{color:var(--pink)}.heroImages{position:relative;height:72vh}.heroMain{position:absolute;width:min(570px,48vw);height:100%;right:0;object-fit:cover;object-position:50% 24%;border:8px solid #fff;box-shadow:12px 14px 0 #111;transform:rotate(3deg)}.sticker{position:absolute;left:-5%;bottom:5%;width:160px;height:160px;border-radius:50%;background:var(--yellow);border:4px solid #111;display:grid;place-content:center;text-align:center;font-weight:900;transform:rotate(-8deg);box-shadow:7px 7px 0 #111}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;z-index:3}.stat{background:white;border:3px solid #111;padding:16px;text-align:center;box-shadow:6px 6px 0 var(--blue)}.stat:nth-child(2n){box-shadow:6px 6px 0 var(--pink)}.stat strong{display:block;font-size:42px;color:var(--pink)}.stat small{font-size:16px;color:#111}.stat span{font-weight:800}.dot{position:absolute;width:280px;height:280px;border-radius:50%;opacity:.65;background-size:18px 18px}.dotYellow{left:-120px;top:-100px;background-image:radial-gradient(var(--yellow) 5px,transparent 6px)}.dotPink{right:-100px;bottom:-100px;background-image:radial-gradient(var(--pink) 5px,transparent 6px)}.section{padding:110px 7vw}.intro{text-align:center;max-width:1050px;margin:auto}.intro h2,.sectionTitle h2,.contact h2{font-size:clamp(40px,5vw,78px);line-height:1.15;margin:26px 0}.intro h2 span{color:var(--pink)}.intro p{font-size:19px;line-height:2;max-width:720px;margin:auto}.sectionTitle{display:flex;align-items:flex-start;gap:26px;margin-bottom:48px}.number{font-size:60px;font-weight:900;color:var(--pink);border-bottom:10px solid var(--yellow);line-height:.8}.sectionTitle h2{margin:18px 0 0}.sectionTitle h2 em,.contact h2 em{font-style:normal;color:var(--pink)}.kicker.blue{background:var(--blue)}.lesson{background:#f3f8ff;border-block:3px solid #111}.weekGrid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;max-width:1100px;margin:auto}.dayCard{background:white;border:3px solid #111;padding:32px;box-shadow:10px 10px 0 var(--blue)}.pinkCard{box-shadow:10px 10px 0 var(--pink)}.dayCard>span{font-size:28px;font-weight:900;color:var(--blue)}.pinkCard>span{color:var(--pink)}.dayCard h3{font-size:20px}.dayCard ul{padding:0;list-style:none}.dayCard li{padding:14px 0;border-top:1px dashed #aaa;font-weight:700}.plus{font-size:54px;font-weight:900}.roadmap{display:flex;align-items:center;justify-content:center;gap:18px;margin:70px auto 20px;max-width:1100px}.roadmap div{flex:1;min-height:120px;border:3px solid #111;background:#fff;padding:24px;text-align:center}.roadmap b,.roadmap span{display:block}.roadmap b{color:var(--blue);font-size:14px}.roadmap span{font-size:20px;font-weight:900;margin-top:12px}.roadmap .goal{background:var(--yellow);box-shadow:8px 8px 0 #111}.roadmap i{font-size:32px;font-style:normal;font-weight:900}.note{text-align:center;font-weight:800}.benefit{background:#fff}.yellowNum{color:#111}.benefitLayout{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}.benefitLayout>img{width:100%;max-height:750px;object-fit:cover;border:6px solid white;box-shadow:12px 12px 0 #111;transform:rotate(-2deg)}.benefitList{display:grid;gap:15px}.benefitList article{display:flex;gap:20px;align-items:center;border:3px solid #111;padding:20px;background:#fff;box-shadow:6px 6px 0 var(--yellow)}.benefitList article:nth-child(even){box-shadow:6px 6px 0 var(--pink)}.benefitList article>span{font-size:32px;font-weight:900;color:var(--pink)}.benefitList h3,.benefitList p{margin:0}.benefitList h3{font-size:22px}.benefitList p{margin-top:5px}.entry{background:#fff9dd;border-block:3px solid #111}.salary{display:grid;grid-template-columns:1fr 1fr;gap:24px}.salary article{border:3px solid #111;background:#fff;padding:32px;text-align:center;box-shadow:9px 9px 0 var(--pink)}.salary article+article{box-shadow:9px 9px 0 var(--blue)}.salary span{display:block;font-weight:900}.salary strong{font-size:clamp(48px,6vw,84px);color:var(--pink)}.salary article+article strong{color:var(--blue)}.salary small{font-size:20px;color:#111}.conditions{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-left:2px solid #111;border-top:2px solid #111}.conditions article{min-height:150px;background:#fff;padding:24px;border-right:2px solid #111;border-bottom:2px solid #111}.conditions b,.conditions strong,.conditions small{display:block}.conditions b{color:var(--pink);margin-bottom:18px}.conditions strong{font-size:20px}.conditions small{margin-top:8px}.fineprint{text-align:center;font-size:13px}.contact{text-align:center;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--pink) 3px,transparent 4px);background-size:28px 28px;opacity:.12;z-index:-1}.contact p{font-size:18px;line-height:1.9}.mainCta{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:40px auto 18px;padding:24px 32px;background:var(--pink);color:white;border:3px solid #111;box-shadow:10px 10px 0 var(--yellow);font-size:20px;font-weight:900}.mainCta span{font-size:30px}.contact small{display:block}.burst{position:absolute;right:8%;top:16%;background:var(--yellow);border:3px solid #111;border-radius:45%;padding:18px 28px;transform:rotate(6deg);font-weight:900}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:36px 6vw;background:#111;color:#fff}footer p,footer span{font-size:12px;color:#aaa}
@media(max-width:800px){.navLinks{display:none}.nav{height:62px;padding:0 16px}.miniCta{padding:8px 11px}.hero{padding:54px 20px 28px;display:block;min-height:auto}.speech{right:8px;top:18px;font-size:12px;padding:10px}.hero h1{font-size:58px;margin-top:22px}.heroLead{font-size:36px}.subLead{font-size:13px}.heroImages{height:430px;margin-top:35px}.heroMain{width:92%;height:410px}.sticker{width:110px;height:110px;font-size:12px}.stats{position:relative;z-index:5;grid-template-columns:1fr 1fr;gap:10px}.stat{position:relative;z-index:1;padding:10px}.stat strong{font-size:31px}.stat.s3{background:var(--yellow);box-shadow:6px 6px 0 #111}.stat.s3 strong{color:var(--blue)}.stat.s3 span{display:block;font-size:17px}.dotPink{right:-170px;bottom:-170px;z-index:0}.section{padding:72px 20px}.intro{text-align:left}.intro h2,.sectionTitle h2,.contact h2{font-size:38px}.sectionTitle{gap:15px}.number{font-size:40px}.weekGrid,.benefitLayout{grid-template-columns:1fr}.plus{text-align:center}.roadmap{flex-direction:column}.roadmap div{width:100%}.roadmap i{transform:rotate(90deg)}.benefitLayout>img{max-height:520px}.salary{grid-template-columns:1fr}.conditions{grid-template-columns:1fr 1fr}.conditions article{min-height:130px;padding:18px}.conditions strong{font-size:17px}.burst{position:static;display:inline-block;margin-bottom:35px}.contact p br{display:none}footer{flex-direction:column;text-align:center}.nav .logo{font-size:12px}}

/* Narrow phones: keep the entire benefits artwork visible instead of cropping it. */
@media(max-width:800px){.benefitLayout>img{width:calc(100% - 12px);height:auto;max-height:none;object-fit:contain;transform:none;justify-self:center;box-shadow:7px 7px 0 #111}}
@media(max-width:440px){.conditions{grid-template-columns:1fr}.hero h1{font-size:49px}.stats{grid-template-columns:1fr 1fr}.sectionTitle{display:block}.number{display:inline-block;margin-bottom:24px}}

.studioSchedule li{display:grid;grid-template-columns:64px 1fr;column-gap:10px;align-items:baseline}.studioSchedule time{color:var(--pink);font-weight:900}.studioSchedule small{grid-column:2;display:block;margin-top:3px;color:#666;font-weight:500}

.roadmap .roadStep{position:relative;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 22px 24px;overflow:hidden}.roadmap .roadStep:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background-image:radial-gradient(currentColor 3px,transparent 4px);background-size:15px 15px;opacity:.12;right:-30px;top:-30px}.roadIcon{width:104px;height:104px;display:grid!important;place-items:center;border:3px solid #111;border-radius:50%;margin:0 auto 18px!important;background:#eaf4ff;font-size:48px!important;line-height:1;box-shadow:6px 6px 0 var(--blue);transform:rotate(-4deg)}.roadStep.model .roadIcon{background:#fff0f6;box-shadow:6px 6px 0 var(--pink);transform:rotate(4deg)}.roadStep.goal .roadIcon{background:#fff;box-shadow:6px 6px 0 #111}.roadmap .roadStep b{display:inline-block;background:var(--blue);color:#fff;border-radius:999px;padding:6px 14px;font-size:13px}.roadmap .roadStep.model b{background:var(--pink)}.roadmap .roadStep.goal b{background:#111}.roadmap .roadStep>span:not(.roadIcon){font-size:22px;margin-top:14px}.roadmap .roadStep small{display:block;min-height:34px;margin-top:10px;color:#555;font-size:12px;line-height:1.5}.roadArrow{width:52px;height:52px;display:grid;place-items:center;border:3px solid #111;border-radius:50%;background:#fff;color:var(--pink);box-shadow:4px 4px 0 var(--yellow);font-size:28px!important}

@media(max-width:800px){.roadmap .roadStep{min-height:245px}.roadArrow{transform:rotate(90deg)!important}.roadIcon{width:90px;height:90px;font-size:42px!important}}

.contactPrompt{max-width:620px;margin:34px auto 20px;padding:15px 20px;background:#fff;border:2px solid #111;border-radius:18px;box-shadow:5px 5px 0 var(--yellow);transform:rotate(-1deg)}.contactPrompt strong,.contactPrompt span{display:block}.contactPrompt strong{font-size:20px;color:var(--pink)}.contactPrompt span{margin-top:5px;font-size:13px;font-weight:700}.contactLinks{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin:28px auto 0;text-align:left}.contactLink{--accent:#fff;position:relative;display:grid;grid-template-columns:54px 1fr 22px;align-items:center;min-height:82px;padding:12px 18px 12px 12px;background:#fff;border:3px solid #111;border-radius:20px;box-shadow:6px 7px 0 #111;transition:transform .16s ease,box-shadow .16s ease;overflow:hidden}.contactLink:before{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:var(--accent)}.contactLink:hover{transform:translateY(-3px)}.contactLink:active{transform:translate(4px,5px);box-shadow:2px 2px 0 #111}.contactLink:focus-visible{outline:4px solid var(--blue);outline-offset:4px}.contactIcon{width:47px;height:47px;display:grid;place-items:center;border:2px solid #111;border-radius:15px;background:var(--accent);font-size:25px;font-weight:900}.contactLink strong,.contactLink small{display:block}.contactLink strong{font-size:18px}.contactLink small{margin-top:5px;color:#666;font-size:11px;font-weight:700}.contactLink>b{font-size:27px}.instagramLink{--accent:#ff9cb6}.tiktokLink{--accent:#8de2dc}.lineLink{--accent:#8ee3ab}.formLink{--accent:#ffd56b}

@media(max-width:650px){.contactLinks{grid-template-columns:1fr}.contactPrompt strong{font-size:17px}.contactLink{min-height:76px}.contactLink strong{font-size:17px}}

.lesson .note{position:relative;max-width:820px;margin:38px auto 0;padding:25px 72px 22px;background:#fff;border:3px solid #111;border-radius:24px;box-shadow:9px 9px 0 var(--yellow);transform:rotate(-1deg);text-align:center}.lesson .note:before,.lesson .note:after{content:"";position:absolute;width:42px;height:10px;background:var(--pink);top:-7px}.lesson .note:before{left:42px;transform:rotate(-8deg)}.lesson .note:after{right:42px;transform:rotate(8deg)}.noteBadge{position:absolute;left:-20px;top:-22px;padding:8px 15px;background:var(--pink);color:#fff;border:3px solid #111;border-radius:999px;box-shadow:4px 4px 0 #111;font-size:13px;font-weight:900;letter-spacing:.05em;transform:rotate(-5deg)}.noteScissors{position:absolute;right:20px;top:50%;font-size:38px;transform:translateY(-50%) rotate(9deg)}.lesson .note p{margin:0;font-size:20px;font-weight:900;line-height:1.65}.lesson .note strong{display:inline-block;margin:0 3px;padding:0 7px;color:var(--pink);font-size:1.18em;background:linear-gradient(transparent 62%,#ffe66d 62%)}

@media(max-width:650px){.lesson .note{margin-top:42px;padding:30px 20px 22px}.lesson .note p{font-size:17px}.noteScissors{display:none}.noteBadge{left:12px}.noteBreak{display:none}}

.conditions .transportCard{position:relative;padding-bottom:18px}.transportExample{margin-top:14px;padding:10px 12px;background:#fff7c7;border:2px solid #111;border-radius:10px;box-shadow:3px 3px 0 var(--yellow)}.transportExample>span,.transportExample>strong,.transportExample>small{display:block}.transportExample>span{font-size:11px;font-weight:800}.transportExample>strong{margin-top:4px!important;font-size:14px!important}.transportExample em{color:var(--pink);font-style:normal;font-size:1.22em}.transportExample>small{margin-top:2px!important;font-size:11px}
