@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}:root{--bg:#fff7fb;--ink:#222;--ink-2:#444;--muted:#666;--brand-pink:#ff7ab6;--brand-blue:#7aa7ff;--brand-yellow:#ffd86b;--card:#ffffff;--shadow:0 10px 30px rgba(0, 0, 0, 0.08);--shadow-sm:0 4px 12px rgba(0, 0, 0, 0.06);--radius:20px;--radius-sm:12px;--max-width:1140px;--gradient-hero:linear-gradient(135deg, #e8568c 0%, #5b8fff 50%, #ffc43d 100%);--gradient-card:linear-gradient(135deg, rgba(255, 122, 182, 0.1) 0%, rgba(122, 167, 255, 0.1) 100%)}*,body{margin:0;padding:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.6;font-size:16px}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}h1,h2,h3,h4{line-height:1.2;font-weight:700}h1,h2{font-size:3rem;margin-bottom:1rem}h2{font-size:2.5rem;text-align:center}h3{font-size:1.5rem;margin-bottom:.5rem}a{color:inherit;text-decoration:none}#header{position:sticky;top:0;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);z-index:1000;padding:1rem 0}.nav-wrapper{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.25rem;font-weight:700;color:var(--brand-pink)}.logo-link,nav{display:flex;align-items:center}.logo-link{gap:.75rem;transition:opacity .2s}.logo-link:hover{opacity:.8}.logo-image{height:50px;width:auto;max-width:60px}.logo-text{font-size:1.25rem;font-weight:700;color:var(--brand-pink)}@media (max-width:640px){.logo-text{display:none}}nav{gap:2rem}nav a{font-weight:500;transition:color .2s}nav a:hover{color:var(--brand-pink)}.btn,.nav-cta{font-weight:600}.nav-cta{background:var(--brand-pink);color:#fff;padding:.5rem 1.5rem;border-radius:25px}.nav-cta:hover{background:var(--brand-blue);color:#fff}.btn{display:inline-block;padding:.875rem 2rem;border-radius:30px;font-size:1rem;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent;text-decoration:none}.btn-primary{background:var(--brand-pink);color:#fff}.btn-primary:hover{background:var(--brand-blue);transform:translateY(-2px);box-shadow:0 8px 20px rgba(122,167,255,.3)}.btn-outline,.btn-secondary{border:2px solid var(--brand-pink);color:var(--brand-pink)}.btn-secondary{background:#fff}.btn-outline:hover,.btn-secondary:hover{background:var(--brand-pink);color:#fff}.btn-outline{background:0 0}.btn-app{padding:.5rem 1rem;font-size:.9rem;background:var(--brand-blue);color:#fff}.btn-app:hover{background:var(--brand-pink)}.hero{min-height:100vh;display:flex;align-items:center;background:var(--gradient-hero);padding:80px 0 60px;position:relative;overflow:hidden}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero h1,.hero-text{color:#fff}.badge{display:inline-block;background:rgba(255,255,255,.25);backdrop-filter:blur(10px);padding:.5rem 1.25rem;border-radius:25px;font-size:.95rem;font-weight:600;margin-bottom:1.5rem}.hero h1{font-size:3.5rem;text-shadow:0 3px 15px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,.2)}.hero-subtitle{font-size:1.25rem;margin:1.5rem 0;line-height:1.7;text-shadow:0 2px 8px rgba(0,0,0,.2)}.location-badge{font-size:1rem;margin:1rem 0;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.15)}.hero-cta{display:flex;gap:1rem;margin:2rem 0}.trust-badges{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;font-size:.95rem}.trust-badges span{text-shadow:0 1px 4px rgba(0,0,0,.15)}.hero-image{position:relative}.hero-illustration{width:100%;height:400px;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;position:relative}.kana-float{position:absolute;font-size:4rem;font-weight:700;color:#fff;opacity:.4;animation:float 3s ease-in-out infinite}.kana-float:nth-child(1){top:10%;left:10%;animation-delay:0s}.kana-float:nth-child(2){top:15%;right:15%;animation-delay:.5s}.kana-float:nth-child(3){bottom:20%;left:20%;animation-delay:1s}.kana-float:nth-child(4){bottom:10%;right:10%;animation-delay:1.5s}.about{padding:80px 0}.section-intro{text-align:center;font-size:1.15rem;color:var(--muted);max-width:700px;margin:0 auto 3rem}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.card{background:var(--card);padding:2.5rem 2rem;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:transform .3s ease}.card:hover{transform:translateY(-8px)}.card:nth-child(1){border-top:4px solid var(--brand-pink)}.card:nth-child(2){border-top:4px solid var(--brand-blue)}.card:nth-child(3){border-top:4px solid var(--brand-yellow)}.card h4,.card-icon{font-size:3rem;margin-bottom:1rem}.card h3{color:var(--brand-pink);margin-bottom:.5rem}.card h4{font-size:1.1rem;color:var(--ink-2)}.card p,.faq-answer p{color:var(--muted);line-height:1.7}.curriculum{padding:80px 0;background:linear-gradient(to bottom,white,var(--bg))}.progress-bar{display:flex;align-items:center;justify-content:center;margin:3rem 0;flex-wrap:wrap;gap:1rem}.progress-step{background:var(--brand-pink);color:#fff;padding:.5rem 1.25rem;border-radius:20px;font-weight:600;font-size:.9rem}.progress-line{width:60px;height:3px;background:linear-gradient(to right,var(--brand-pink),var(--brand-blue))}.progress-end{background:var(--brand-yellow);color:var(--ink);padding:.5rem 1.25rem;border-radius:20px;font-weight:700;font-size:.9rem}.curriculum-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}.curriculum-card{background:var(--card);padding:2rem 1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .3s ease}.curriculum-card:hover{transform:translateY(-5px)}.curriculum-card:nth-child(1){border-left:4px solid var(--brand-pink)}.curriculum-card:nth-child(2){border-left:4px solid var(--brand-blue)}.curriculum-card:nth-child(3){border-left:4px solid var(--brand-yellow)}.curriculum-card:nth-child(4){border-left:4px solid var(--brand-pink)}.plans-note a,.week-badge{color:var(--brand-pink);font-weight:600}.week-badge{display:inline-block;background:var(--gradient-card);padding:.4rem 1rem;border-radius:15px;font-size:.85rem;margin-bottom:1rem}.curriculum-card h3,.plan-card h3,.plan-features h4{margin-bottom:1rem;color:var(--ink)}.curriculum-card ul,.plan-features ul{list-style:none;padding:0}.curriculum-card li,.plan-features li{padding:.5rem 0;color:var(--muted);line-height:1.6}.curriculum-card li:before{content:"✓ ";color:var(--brand-pink);font-weight:700;margin-right:.5rem}.plans{padding:80px 0;background:var(--bg)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.plan-card{background:var(--card);padding:2.5rem 2rem;border-radius:var(--radius);box-shadow:var(--shadow);position:relative;transition:transform .3s ease;border:2px solid transparent}.plan-card:hover{transform:translateY(-8px)}.plan-card.featured{border:2px solid var(--brand-pink);transform:scale(1.05)}.plan-card.featured:hover{transform:scale(1.08) translateY(-8px)}.free-badge,.popular-badge{position:absolute;top:-12px;right:20px;padding:.4rem 1rem;border-radius:15px;font-size:.85rem}.popular-badge{background:var(--brand-pink);color:#fff;font-weight:600}.free-badge{background:var(--brand-yellow);color:var(--ink);font-weight:700}.plan-card h3,.plan-features h4{font-size:1.75rem}.plan-schedule{color:var(--muted);font-size:1rem;margin-bottom:1.5rem}.plan-features{margin:2rem 0}.plan-features h4{font-size:1rem;color:var(--ink-2)}.plan-card .btn{width:100%;margin-top:1.5rem}.plans-note{text-align:center;margin-top:3rem;font-size:1.1rem;color:var(--ink-2)}.plans-note a{text-decoration:underline}.teacher{padding:80px 0;background:linear-gradient(135deg,rgba(255,122,182,.05),rgba(122,167,255,.05))}.teacher-wrapper{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center;max-width:900px;margin:0 auto}.teacher-photo-placeholder{width:250px;height:250px;border-radius:50%;background:var(--gradient-hero);display:flex;align-items:center;justify-content:center;font-size:6rem;box-shadow:var(--shadow)}.teacher-content h2{text-align:left;margin-bottom:1rem}.teacher-intro{font-size:1.15rem;color:var(--ink-2);margin-bottom:1.5rem;line-height:1.7}.teacher-highlights{list-style:none;padding:0}.teacher-highlights li{padding:.75rem 0;font-size:1.05rem;color:var(--muted)}.faq{padding:80px 0;background:var(--bg)}.faq-list{max-width:800px;margin:3rem auto 0}.faq-item{background:var(--card);margin-bottom:1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.faq-question{width:100%;padding:1.5rem 2rem;background:0 0;border:0;text-align:left;font-size:1.1rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.faq-question:hover{background:var(--gradient-card)}.faq-icon{font-size:1.5rem;color:var(--brand-pink);font-weight:300;transition:transform .3s}.faq-item.active .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.active .faq-answer{max-height:300px;padding:0 2rem 1.5rem}.contact{padding:80px 0;background:var(--gradient-hero)}.contact,.contact h2{color:#fff}.contact .section-intro{color:rgba(255,255,255,.9)}.contact-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-card{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);padding:2.5rem 2rem;border-radius:var(--radius);text-align:center;border:1px solid rgba(255,255,255,.2)}.contact-icon{font-size:3rem;margin-bottom:1rem}.contact-detail{font-size:1.1rem;margin:1rem 0 1.5rem;font-weight:500}.contact-apps{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0}.contact-note{font-size:.9rem;opacity:.8;margin-top:1rem}.bonus-offer{text-align:center;margin-top:3rem;font-size:1.25rem;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);padding:1.5rem 2rem;border-radius:var(--radius);max-width:700px;margin-left:auto;margin-right:auto}.footer{background:linear-gradient(135deg,#1a1a2e,#2d2d44);color:rgba(255,255,255,.8);padding:60px 0 30px}.footer-content{display:grid;grid-template-columns:2fr 1fr;gap:4rem;margin-bottom:3rem}.footer-logo{font-size:1.5rem;font-weight:700;color:var(--brand-yellow);margin-bottom:1rem}.footer-brand p{line-height:1.7;margin:1rem 0}.footer-location{margin-top:1.5rem;font-size:.95rem}.contact-card h3,.footer-contact h4{color:#fff;margin-bottom:1rem}.footer-contact p{margin:.75rem 0}.footer-contact a{color:rgba(255,255,255,.8);transition:color .2s}.footer-contact a:hover{color:var(--brand-yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;text-align:center}.footer-bottom p{margin:.5rem 0;font-size:.95rem}.copyright{opacity:.6;font-size:.9rem}.floating-cta{position:fixed;bottom:20px;right:20px;background:var(--brand-pink);color:#fff;padding:1rem 2rem;border-radius:30px;font-weight:700;box-shadow:0 8px 25px rgba(255,122,182,.4);z-index:999;display:none;animation:pulse 2s infinite}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:2rem}.hero-image{order:-1}.hero-illustration{height:300px}.curriculum-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){h1{font-size:2.25rem}h2{font-size:2rem}nav{gap:1rem;font-size:.9rem}.nav-cta{padding:.4rem 1rem}.hero{min-height:auto;padding:60px 0 40px}.hero h1{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-cta{flex-direction:column}.cards-grid,.curriculum-grid,.plans-grid,.teacher-wrapper{grid-template-columns:1fr}.plan-card.featured{transform:scale(1)}.teacher-wrapper{text-align:center}.teacher-photo-placeholder{margin:0 auto}.teacher-content h2{text-align:center}.contact-grid,.footer-content{grid-template-columns:1fr}.footer-content{gap:2rem}.floating-cta{display:block}}@media (max-width:480px){.container{padding:0 16px}h1{font-size:1.75rem}h2{font-size:1.5rem}.hero h1{font-size:2rem}nav{display:none}.logo{font-size:1rem}.progress-bar{flex-direction:column}.progress-line{width:3px;height:30px}.btn{padding:.75rem 1.5rem;font-size:.95rem}}