@import "https://fonts.googleapis.com/css2?family=Mukta:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@300;400;500;700&family=Space+Mono:wght@400;500;700&display=swap";:root{--paper:#f5f7ed;--paper-deep:#eaefdc;--ink:#212a1c;--ink-soft:#4e5a45;--matcha:#4b6b3a;--matcha-deep:#33492a;--matcha-pale:#dce6cc;--sakura:#e27c97;--sakura-soft:#f6d9e1;--gold:#b98f2e;--max-w:1440px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:Zen Maru Gothic,sans-serif;font-weight:500;line-height:1.75;overflow-x:hidden}h1,h2,h3,h4{color:var(--matcha-deep);font-family:Zen Old Mincho,serif;font-weight:600;line-height:1.35}.mono{font-family:Space Mono,monospace}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 28px;position:relative}.petals{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.petal{background:radial-gradient(circle at 30% 30%, var(--sakura-soft), var(--sakura) 80%);opacity:.85;border-radius:0% 60%;width:14px;height:14px;animation-name:fall,sway;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;position:absolute;top:-5%}@keyframes fall{0%{transform:translateY(-10vh)rotate(0)}to{transform:translateY(110vh)rotate(360deg)}}@keyframes sway{0%,to{margin-left:0}50%{margin-left:40px}}.branch-rail{background:var(--matcha-pale);width:2px;position:absolute;top:0;bottom:0;left:0}header{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--matcha-pale);background:#f5f7edeb;position:fixed;top:0;left:0;right:0}.nav{max-width:var(--max-w);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px;transition:transform .3s,box-shadow .3s;box-shadow:0 2px 8px #0000001a}.brand-logo:hover{transform:scale(1.15);box-shadow:0 4px 12px #0003}.brand-name{color:var(--ink);font-family:Zen Old Mincho,serif;font-size:1.4rem;font-weight:700;line-height:1.2}.brand-name span{color:var(--ink-soft);letter-spacing:.05em;margin-top:2px;font-family:Zen Maru Gothic,sans-serif;font-size:.75rem;font-weight:500;display:block}nav.links{gap:30px;font-size:.95rem;display:flex}nav.links a{color:var(--ink-soft);cursor:pointer;padding-bottom:4px;font-weight:500;transition:color .2s;position:relative}nav.links a:hover{color:var(--sakura)}nav.links a:after{content:"";background:var(--sakura);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}nav.links a:hover:after{width:100%}.nav-toggle{cursor:pointer;background:0 0;border:none;display:none}.nav-toggle span{background:var(--ink);width:22px;height:2px;margin:5px 0;display:block}@media (width<=760px){nav.links{background:var(--paper);border-bottom:1px solid var(--matcha-pale);flex-direction:column;gap:0;max-height:0;transition:max-height .3s;position:fixed;top:66px;left:0;right:0;overflow:hidden}nav.links.open{max-height:400px}nav.links a,.lang-select-wrapper{border-top:1px solid var(--matcha-pale);padding:16px 28px}.nav-toggle{display:block}}.hero{border-bottom:1px solid var(--matcha-pale);background:radial-gradient(60% 50% at 85% 15%,#e27c971f,#0000 60%),radial-gradient(50% 40% at 10% 90%,#4b6b3a14,#0000 60%);align-items:center;min-height:100vh;padding-top:90px;display:flex;position:relative}.hero-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;width:100%;display:grid}.hero-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--matcha);align-items:center;gap:8px;margin-bottom:20px;font-family:Space Mono,monospace;font-size:.78rem;display:inline-flex}.hero-eyebrow:before{content:"❀";color:var(--sakura);font-size:.9rem}.hero h1{margin-bottom:16px;font-size:clamp(2.3rem,5.6vw,4rem)}.hero h1 em{color:var(--sakura);font-style:normal;animation:3s ease-in-out infinite text-bloom;display:inline-block}@keyframes text-bloom{0%,to{text-shadow:0 0 #e27c9700;transform:scale(1)}50%{text-shadow:0 0 15px #e27c9799;transform:scale(1.02)}}.hero-title-jp{color:var(--matcha);margin-bottom:20px;font-family:Zen Old Mincho,serif;font-size:1.05rem}.hero p.tagline{max-width:540px;color:var(--ink-soft);margin-bottom:32px;font-size:1.05rem}.hero-illustration{object-fit:contain;filter:drop-shadow(0 20px 40px #e27c9726);border-radius:24px;width:100%;max-width:520px;height:auto;max-height:650px;transition:transform .6s,filter .6s;animation:1.5s ease-out forwards bloom}.hero-illustration:hover{filter:drop-shadow(0 30px 50px #e27c9740);transform:scale(1.03)}.cta-row{flex-wrap:wrap;gap:14px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:14px 26px;font-family:Zen Maru Gothic,sans-serif;font-size:.92rem;font-weight:500;transition:all .25s;display:inline-flex}.btn-primary{background:var(--matcha);color:var(--paper)}.btn-primary:hover{background:var(--sakura)}.btn-outline{border-color:var(--matcha);color:var(--matcha-deep)}.btn-outline:hover{border-color:var(--sakura);color:var(--sakura)}.branch-art{width:100%;height:auto}.branch-line{fill:none;stroke:var(--matcha);stroke-width:3px;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400px;animation:2.2s ease-out forwards grow-branch}@keyframes grow-branch{to{stroke-dashoffset:0}}.blossom{opacity:0;transform-origin:50%;animation:.6s ease-out forwards bloom}.blossom.b1{animation-delay:1s}.blossom.b2{animation-delay:1.3s}.blossom.b3{animation-delay:1.6s}.blossom.b4{animation-delay:1.9s}.blossom.b5{animation-delay:2.1s}@keyframes bloom{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@media (width<=820px){.hero-grid{text-align:center;grid-template-columns:1fr}.hero-eyebrow{justify-content:center}.hero p.tagline{margin-left:auto;margin-right:auto}.cta-row,.hero .social-row{justify-content:center}.branch-art{max-width:260px;margin:0 auto}}section{padding:110px 0;position:relative}.section-head{margin-bottom:54px;position:relative}.section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}.section-sub{color:var(--ink-soft);max-width:520px;margin-top:8px;font-size:.98rem}.about-grid{grid-template-columns:270px 1fr;gap:56px;display:grid}.about-photo{aspect-ratio:3/4;background:var(--matcha-pale);color:var(--matcha-deep);text-align:center;border:4px solid #0000;border-radius:12px;justify-content:center;align-items:center;font-size:.85rem;transition:all .8s;display:flex;position:relative;overflow:hidden}.about-photo:hover{border-color:var(--matcha);transform:scale(1.02);box-shadow:0 16px 32px #4e5a4533}.about-bio p{color:var(--ink-soft);margin-bottom:16px}.cred-list{border-top:1px solid var(--matcha-pale);margin-top:26px}.cred-item{border-bottom:1px solid var(--matcha-pale);justify-content:space-between;gap:20px;padding:14px 0;font-size:.92rem;display:flex}.cred-item .label{color:var(--ink);font-weight:500}.cred-item .value{color:var(--matcha);font-family:Space Mono,monospace;font-size:.85rem}@media (width<=760px){.about-grid{text-align:center;grid-template-columns:1fr}.about-photo{max-width:220px;margin:0 auto}}.card-beginner{--card-color:#4d684b;--card-bg:#eff4ec}.card-intermediate{--card-color:#0284c7;--card-bg:#f0f6fc}.card-advanced{--card-color:#e27c97;--card-bg:#fdf2f4}.card-conversation{--card-color:#d97706;--card-bg:#fffbf0}.card-jlpt{--card-color:#7c3aed;--card-bg:#f6f4fc}.card-business{--card-color:#0d9488;--card-bg:#f0fbf9}.course-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.course-card{background:var(--card-bg,var(--paper));border:1px solid #0000000a;border-radius:16px;padding:28px 24px;transition:all .4s;position:relative;overflow:hidden}.course-card:hover{border-color:var(--card-color,var(--sakura));transform:translateY(-5px);box-shadow:0 6px 16px #0000000f}.course-level{background:var(--card-color,var(--matcha-pale));color:#fff;border-radius:999px;margin-bottom:16px;padding:4px 12px;font-family:Space Mono,monospace;font-size:.76rem;transition:all .3s;display:inline-block}.course-card:hover .course-level{filter:brightness(1.1)}.course-card h3{margin-bottom:10px;font-size:1.25rem}.course-card p{color:var(--ink-soft);margin-bottom:18px;font-size:.92rem}.course-meta{color:var(--ink-soft);border-top:1px solid var(--matcha-pale);justify-content:space-between;padding-top:14px;font-family:Space Mono,monospace;font-size:.82rem;display:flex}@media (width<=900px){.course-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.course-grid{grid-template-columns:1fr}}.approach-grid{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.approach-card{background:var(--paper-deep);border:1px solid #0000;border-radius:16px;padding:30px 22px;transition:all .4s}.approach-card:hover{background:#88967b1a;border-color:#88967b4d;transform:translateY(-8px);box-shadow:0 16px 32px #88967b1f}.approach-icon{color:var(--sakura);margin-bottom:14px;font-size:1.7rem;transition:transform .4s;display:block}.approach-card:hover .approach-icon{transform:scale(1.15)rotate(5deg)}.approach-card h4{color:var(--matcha-deep);margin-bottom:8px;font-size:1.02rem}.approach-card p{color:var(--ink-soft);font-size:.88rem}@media (width<=900px){.approach-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.approach-grid{grid-template-columns:1fr}}.testimonial-row{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.postcard{background:var(--paper);border:1px solid var(--matcha-pale);border-radius:16px;padding:30px 26px 24px;transition:all .4s;position:relative}.postcard:hover{border-color:#e27c974d;transform:translateY(-8px);box-shadow:0 16px 32px #e27c9714}.postcard:after{content:"❀";color:var(--sakura-soft);font-size:1.3rem;transition:all .4s;position:absolute;top:16px;right:20px}.postcard:hover:after{color:var(--sakura);transform:rotate(90deg)scale(1.1)}.postcard p.quote{color:var(--ink);margin-bottom:22px;padding-right:20px;font-size:.96rem}.postcard .stars{color:var(--gold);letter-spacing:2px;margin-bottom:10px;font-size:.85rem}.postcard .who{color:var(--ink-soft);border-top:1px solid var(--matcha-pale);padding-top:14px;font-size:.85rem}.postcard .who b{color:var(--matcha-deep);font-weight:600}@media (width<=900px){.testimonial-row{grid-template-columns:1fr}}.achievements-content{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.achievements-logo img{border-radius:50%;width:100%;max-width:420px;margin:0 auto;transition:transform .4s;display:block;box-shadow:0 20px 40px #4e5a4526}.achievements-logo img:hover{transform:scale(1.02)}@media (width<=900px){.achievements-content{grid-template-columns:1fr}}.timeline{border-left:2px solid var(--matcha-pale);flex-direction:column;gap:38px;padding-left:36px;display:flex}.tl-item{position:relative}.tl-item:before{content:"❀";color:var(--sakura);font-size:1rem;position:absolute;top:-6px;left:-49px}.tl-year{color:var(--matcha);margin-bottom:6px;font-family:Space Mono,monospace;font-size:.85rem}.tl-item h4{color:var(--matcha-deep);margin-bottom:6px;font-size:1.05rem}.tl-item p{color:var(--ink-soft);max-width:600px;font-size:.92rem}.stat-strip{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px;display:grid}.stat{background:var(--matcha);text-align:center;cursor:default;border-radius:16px;padding:26px 20px;transition:all .4s;position:relative;overflow:hidden}.stat:hover{background:var(--matcha-deep);transform:translateY(-8px);box-shadow:0 16px 32px #4e5a4540}.stat .num{color:var(--paper);font-family:Zen Old Mincho,serif;font-size:2.1rem;font-weight:700;transition:all .4s;display:inline-block}.stat:hover .num{color:#fff;transform:scale(1.1)}.stat .label{color:var(--matcha-pale);letter-spacing:.05em;margin-top:6px;font-size:.75rem;transition:all .4s}.stat:hover .label{color:#fff}@media (width<=700px){.stat-strip{grid-template-columns:1fr 1fr}}.gallery-marquee-wrapper{width:100%;padding:20px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.gallery-marquee{width:max-content;display:flex}.marquee-content{gap:16px;padding-right:16px;animation:25s linear infinite marquee;display:flex}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.gallery-marquee:hover .marquee-content{animation-play-state:paused}.gallery-item{aspect-ratio:1;background:var(--paper-deep);border-radius:14px;flex-shrink:0;width:320px;transition:transform .3s,box-shadow .3s;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%}.gallery-item:hover{z-index:10;position:relative;transform:scale(1.02);box-shadow:0 12px 24px #4b6b3a26}@media (width<=760px){.gallery-item{width:260px}}.contact-grid{grid-template-columns:1fr 1fr;gap:60px;display:grid}.field{margin-bottom:20px}.field label{letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:8px;font-size:.8rem;display:block}.field input,.field textarea{background:var(--paper-deep);border:1px solid var(--matcha-pale);width:100%;color:var(--ink);border-radius:8px;padding:14px 16px;font-family:Zen Maru Gothic,sans-serif;font-size:.98rem;transition:all .3s}.field input:focus,.field textarea:focus{border-color:var(--sakura);background:#fff;outline:none;box-shadow:0 0 0 4px #e27c9726}.field textarea{resize:vertical;min-height:120px}.contact-info-list{flex-direction:column;gap:20px;margin-bottom:34px;display:flex}.contact-info-item{align-items:flex-start;gap:14px;display:flex}.contact-info-item .ico{background:var(--matcha-pale);width:34px;height:34px;color:var(--matcha-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:flex}.contact-info-item .txt b{color:var(--ink);font-size:.92rem;display:block}.contact-info-item .txt span{color:var(--ink-soft);font-size:.85rem}.social-row{gap:10px;display:flex}.hero .social-row{flex-wrap:wrap}@media (width<=500px){.social-row{flex-wrap:wrap}}.social-btn{border:1px solid var(--matcha-pale);background:var(--paper);width:38px;height:38px;color:var(--ink-soft);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative;overflow:hidden}.social-btn svg{flex-shrink:0;transition:transform .4s}.social-text{opacity:0;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;max-width:0;margin-left:0;font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.social-btn:hover{color:#fff}.social-btn:hover svg{transform:scale(1.1)}.social-facebook:hover{background:#1877f2;border-color:#1877f2;box-shadow:0 0 0 5px #1877f233}.social-instagram:hover{background:#e4405f;border-color:#e4405f;box-shadow:0 0 0 5px #e4405f33}.social-whatsapp:hover{background:#25d366;border-color:#25d366;box-shadow:0 0 0 5px #25d36633}.social-youtube:hover{background:red;border-color:red;box-shadow:0 0 0 5px #f003}.social-tiktok:hover{background:#000;border-color:#000;box-shadow:0 0 0 5px #0003}.hero .social-btn{color:#fff;width:auto;padding:0 18px}.hero .social-btn .social-text{opacity:1;max-width:120px;margin-left:8px}.hero .social-facebook{background:#1877f2;border-color:#1877f2}.hero .social-instagram{background:#e4405f;border-color:#e4405f}.hero .social-whatsapp{background:#25d366;border-color:#25d366}.hero .social-youtube{background:red;border-color:red}.hero .social-tiktok{background:#000;border-color:#000}.hero .social-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.map-container{background:var(--paper-deep);border:1px solid var(--matcha-pale);border-radius:16px;height:220px;margin-top:30px;transition:all .4s;overflow:hidden}.map-container:hover{transform:translateY(-4px);box-shadow:0 12px 24px #88967b26}.map-iframe{border:none;width:100%;height:100%}@media (width<=820px){.contact-grid{grid-template-columns:1fr}}footer{border-top:1px solid var(--matcha-pale);padding:36px 46px}.footer-row{color:var(--ink-soft);max-width:calc(var(--max-w) - 46px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;font-size:.82rem;display:flex}.footer-links{gap:22px;display:flex}@media (width<=700px){footer{padding:32px 24px}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal.in{opacity:1;transform:translateY(0)}.back-to-top{background-color:var(--sakura);width:45px;height:45px;color:var(--paper);cursor:pointer;z-index:99;opacity:0;visibility:hidden;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:opacity .3s,transform .3s,visibility .3s,background-color .3s;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(20px);box-shadow:0 4px 10px #0000001a}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:var(--matcha)}@media (width<=760px){.back-to-top{width:40px;height:40px;bottom:20px;right:20px}}.custom-lang-select{margin-left:20px;display:inline-block;position:relative}.lang-trigger{color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .3s;display:flex}.lang-trigger:hover,.custom-lang-select.is-open .lang-trigger{background:var(--paper-deep);color:var(--ink);border-color:var(--matcha-pale)}.lang-trigger .arrow{font-size:.6rem;transition:transform .3s}.custom-lang-select.is-open .lang-trigger .arrow{transform:rotate(180deg)}.lang-options{background:var(--paper);border:1px solid var(--matcha-pale);opacity:0;visibility:hidden;z-index:1000;border-radius:12px;flex-direction:column;gap:4px;min-width:140px;margin-top:8px;padding:6px;list-style:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:100%;left:0;transform:translateY(-10px);box-shadow:0 10px 24px #88967b26}.lang-options.open{opacity:1;visibility:visible;transform:translateY(0)}.lang-options li{cursor:pointer;color:var(--ink-soft);text-align:left;border-radius:8px;padding:10px 16px;font-size:.85rem;transition:all .2s}.lang-options li:hover,.lang-options li[aria-selected=true]{background:var(--sakura);color:var(--paper);font-weight:500}@media (width<=760px){.custom-lang-select{width:100%;margin-top:10px;margin-left:0}.lang-trigger{justify-content:space-between;width:100%}.lang-options{width:100%}}html[lang=ne] body{font-family:Mukta,Zen Maru Gothic,sans-serif}html[lang=ne] h1,html[lang=ne] h2,html[lang=ne] h3,html[lang=ne] h4,html[lang=ne] .brand-name{font-family:Mukta,Zen Old Mincho,serif}
