:root{--primary:#C8102E;--primary-hover:#a50b23;--primary-light:#fff1f2;--primary-glow:rgba(200,16,46,0.22);--secondary:#E63946;--sakura:#fce7eb;--sakura-border:#fecdd3;--gold:#f59e0b;--bg-main:#ffffff;--bg-warm:#fafaf9;--bg-alt:#f8fafc;--bg-card:#ffffff;--bg-subtle:#f1f5f9;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-light:#94a3b8;--text-white:#ffffff;--border:#e2e8f0;--border-light:#f1f5f9;--border-hover:rgba(200,16,46,0.35);--shadow-sm:0 2px 8px rgba(15,23,42,0.04);--shadow-md:0 8px 24px -4px rgba(15,23,42,0.06),0 2px 6px -1px rgba(15,23,42,0.04);--shadow-lg:0 20px 35px -8px rgba(15,23,42,0.08),0 4px 12px -2px rgba(15,23,42,0.03);--shadow-red:0 10px 25px rgba(200,16,46,0.18);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--radius-full:9999px;--transition:0.28s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.45s cubic-bezier(0.4,0,0.2,1)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:var(--bg-main);color:var(--text-primary);line-height:1.65;overflow-x:hidden;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[lang="ja"]{font-family:'Noto Sans JP','Hiragino Sans','Meiryo',sans-serif;font-weight:500}[lang="ta"]{font-family:-apple-system,BlinkMacSystemFont,'Mukta Malar','Latha',sans-serif}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}.section{padding:96px 0;position:relative}.section-warm{background-color:var(--bg-warm);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.section-alt{background-color:var(--bg-alt);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.section-title{text-align:center;max-width:780px;margin:0 auto 56px}.section-tag{display:inline-flex;align-items:center;gap:8px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:6px 16px;border-radius:var(--radius-full);margin-bottom:14px;border:1px solid var(--sakura-border)}.section-tag i{font-size:11px}.section-title h2{font-size:36px;font-weight:800;line-height:1.25;color:var(--text-primary);margin-bottom:16px;letter-spacing:-0.5px}.section-title p{font-size:16px;color:var(--text-muted);line-height:1.7}.kanji-watermark{position:absolute;right:5%;top:50%;transform:translateY(-50%);font-family:'Noto Sans JP',serif;font-size:180px;font-weight:900;color:rgba(200,16,46,0.025);user-select:none;pointer-events:none;z-index:0;line-height:1}.sakura-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.sakura-petal{position:absolute;top:0;background:linear-gradient(135deg,rgba(255,183,197,0.88) 0%,rgba(255,117,140,0.72) 65%,rgba(200,16,46,0.45) 100%);border-radius:14px 1px 14px 2px;box-shadow:0 2px 8px rgba(244,63,94,0.22);pointer-events:none;opacity:0;will-change:transform,opacity}.sakura-petal.anim-1{animation:sakuraFall1 13s cubic-bezier(0.25,0.1,0.25,1) infinite}.sakura-petal.anim-2{animation:sakuraFall2 15s cubic-bezier(0.25,0.1,0.25,1) infinite}.sakura-petal.anim-3{animation:sakuraFall3 12s cubic-bezier(0.25,0.1,0.25,1) infinite}.sakura-petal.p1{left:4%;width:14px;height:16px;animation-duration:11s;animation-delay:-2s;border-radius:15px 2px 14px 2px}.sakura-petal.p2{left:10%;width:11px;height:13px;animation-duration:14s;animation-delay:-7s;border-radius:2px 14px 2px 15px}.sakura-petal.p3{left:16%;width:16px;height:19px;animation-duration:10s;animation-delay:-4s;border-radius:16px 1px 16px 3px}.sakura-petal.p4{left:23%;width:12px;height:14px;animation-duration:16s;animation-delay:-11s;border-radius:14px 2px 14px 1px}.sakura-petal.p5{left:29%;width:15px;height:17px;animation-duration:12s;animation-delay:-1s;border-radius:2px 15px 2px 14px}.sakura-petal.p6{left:35%;width:18px;height:21px;animation-duration:13s;animation-delay:-6s;border-radius:17px 1px 16px 2px}.sakura-petal.p7{left:42%;width:10px;height:12px;animation-duration:15s;animation-delay:-9s;border-radius:14px 2px 13px 1px}.sakura-petal.p8{left:48%;width:15px;height:18px;animation-duration:11s;animation-delay:-3s;border-radius:2px 16px 2px 15px}.sakura-petal.p9{left:55%;width:13px;height:15px;animation-duration:14s;animation-delay:-8s;border-radius:15px 1px 14px 2px}.sakura-petal.p10{left:62%;width:17px;height:20px;animation-duration:12s;animation-delay:-5s;border-radius:16px 2px 15px 1px}.sakura-petal.p11{left:68%;width:11px;height:13px;animation-duration:16s;animation-delay:-12s;border-radius:2px 14px 2px 14px}.sakura-petal.p12{left:74%;width:16px;height:19px;animation-duration:10s;animation-delay:-2s;border-radius:15px 1px 16px 2px}.sakura-petal.p13{left:81%;width:14px;height:16px;animation-duration:13s;animation-delay:-7s;border-radius:14px 2px 14px 1px}.sakura-petal.p14{left:88%;width:12px;height:14px;animation-duration:15s;animation-delay:-10s;border-radius:2px 15px 2px 13px}.sakura-petal.p15{left:94%;width:15px;height:17px;animation-duration:12s;animation-delay:-4s;border-radius:16px 1px 15px 2px}.sakura-petal.p16{left:7%;width:13px;height:15px;animation-duration:13s;animation-delay:-9s;border-radius:14px 2px 15px 1px}.sakura-petal.p17{left:26%;width:17px;height:20px;animation-duration:11s;animation-delay:-3s;border-radius:2px 17px 2px 15px}.sakura-petal.p18{left:45%;width:12px;height:14px;animation-duration:14s;animation-delay:-6s;border-radius:15px 1px 14px 2px}.sakura-petal.p19{left:65%;width:15px;height:18px;animation-duration:12s;animation-delay:-8s;border-radius:16px 2px 15px 1px}.sakura-petal.p20{left:85%;width:14px;height:16px;animation-duration:15s;animation-delay:-1s;border-radius:2px 15px 2px 14px}@keyframes sakuraFall1{0%{transform:translate3d(0,-35px,0) rotate(0deg) rotateY(0deg);opacity:0}12%{opacity:0.85}40%{transform:translate3d(45px,320px,0) rotate(130deg) rotateY(180deg)}70%{transform:translate3d(-25px,600px,0) rotate(260deg) rotateY(360deg);opacity:0.75}95%{opacity:0.45}100%{transform:translate3d(55px,900px,0) rotate(380deg) rotateY(540deg);opacity:0}}@keyframes sakuraFall2{0%{transform:translate3d(0,-35px,0) rotate(30deg) rotateX(0deg);opacity:0}10%{opacity:0.88}45%{transform:translate3d(-50px,300px,0) rotate(160deg) rotateX(180deg)}75%{transform:translate3d(30px,600px,0) rotate(290deg) rotateX(360deg);opacity:0.7}95%{opacity:0.4}100%{transform:translate3d(-30px,900px,0) rotate(420deg) rotateX(540deg);opacity:0}}@keyframes sakuraFall3{0%{transform:translate3d(0,-35px,0) rotate(-20deg) scale(0.9);opacity:0}15%{opacity:0.82}50%{transform:translate3d(60px,320px,0) rotate(110deg) scale(1.1)}80%{transform:translate3d(15px,620px,0) rotate(240deg) scale(0.95);opacity:0.65}95%{opacity:0.35}100%{transform:translate3d(70px,900px,0) rotate(360deg) scale(1);opacity:0}}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(255,255,255,0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,0.85);transition:all 0.3s ease}.header.scrolled{box-shadow:0 4px 20px rgba(15,23,42,0.06);background:rgba(255,255,255,0.98)}.navbar{display:flex;align-items:center;justify-content:space-between;height:78px}.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;z-index:1001;flex-shrink:0}.logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 2px 10px rgba(200,16,46,0.2);border:1.5px solid var(--primary);transition:transform var(--transition);flex-shrink:0}.logo:hover .logo-img{transform:rotate(5deg) scale(1.05)}.logo-text{display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.logo-title{font-size:21px;font-weight:800;color:var(--text-primary);letter-spacing:0.5px;line-height:1.1;white-space:nowrap}.logo-sub{font-size:10.5px;font-weight:700;color:var(--primary);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;line-height:1.2;margin-top:1px}.nav-links{display:flex;align-items:center;list-style:none;gap:clamp(6px,1.0vw,18px)}.nav-links li a{text-decoration:none;font-size:clamp(12.5px,0.95vw,14px);font-weight:500;color:var(--text-secondary);transition:color var(--transition);position:relative;padding:6px 0;white-space:nowrap}.nav-links li a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);border-radius:2px;transition:width var(--transition)}.nav-links li a:hover{color:var(--primary)}.nav-links li a:hover::after,.nav-links li a.active::after{width:100%}.nav-links li a.active{color:var(--primary);font-weight:600}.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.nav-btn{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:var(--text-white);text-decoration:none;font-size:14px;font-weight:600;padding:10px 22px;border-radius:var(--radius-full);box-shadow:0 4px 15px rgba(200,16,46,0.25);transition:all var(--transition);white-space:nowrap}.nav-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px rgba(200,16,46,0.35)}.lang-toggle-btn{display:inline-flex;align-items:center;gap:8px;background:#ffffff;color:var(--text-primary);border:1.5px solid var(--sakura-border);border-radius:var(--radius-full);padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(15,23,42,0.05);transition:all var(--transition);user-select:none;white-space:nowrap;outline:none}.lang-toggle-btn:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:0 4px 14px rgba(200,16,46,0.15);transform:translateY(-1px)}.lang-toggle-btn:active{transform:translateY(0)}.lang-flag{font-size:16px;line-height:1;display:inline-block}.lang-label-full{display:inline;font-weight:600;letter-spacing:0.2px}.lang-label-short{display:none;font-weight:700;letter-spacing:0.3px}.lang-cycle-icon{font-size:11px;color:var(--text-muted);transition:transform 0.4s ease,color var(--transition);margin-left:2px}.lang-toggle-btn:hover .lang-cycle-icon{color:var(--primary);transform:rotate(180deg)}.lang-cycle-icon.spin{animation:langSpin 0.45s cubic-bezier(0.4,0,0.2,1)}@keyframes langSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.lang-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(30px);background:rgba(15,23,42,0.94);color:#ffffff;padding:11px 24px;border-radius:var(--radius-full);font-size:14px;font-weight:500;z-index:9999;box-shadow:0 10px 30px rgba(0,0,0,0.25);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,0.15)}.lang-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast-flag{font-size:18px;line-height:1}.mobile-lang-drawer-item{display:none !important}.mobile-lang-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:280px;padding:12px 20px;border-radius:var(--radius-full);border:1.5px solid var(--sakura-border);background:var(--primary-light);color:var(--primary);font-size:14.5px;font-weight:600;cursor:pointer;transition:all var(--transition)}.mobile-lang-btn:hover{background:var(--primary);color:#ffffff;border-color:var(--primary)}.mobile-lang-btn:active{transform:scale(0.98)}.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:20px;cursor:pointer;transition:all var(--transition)}.menu-btn:hover{background:#ffffff;border-color:var(--primary);color:var(--primary)}.hero{padding-top:130px;padding-bottom:70px;background:linear-gradient(180deg,#ffffff 0%,#fafaf9 65%,#ffffff 100%);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;position:relative;z-index:2}.hero-content{max-width:640px}.hero-badge{display:inline-flex;align-items:center;gap:10px;background:var(--bg-main);border:1px solid var(--sakura-border);padding:7px 18px;border-radius:var(--radius-full);margin-bottom:22px;box-shadow:var(--shadow-sm)}.hero-badge-flag{font-size:16px;line-height:1}.hero-badge-text{font-size:13px;font-weight:600;color:var(--primary);letter-spacing:0.3px}.hero h1{font-size:48px;font-weight:800;line-height:1.18;color:var(--text-primary);letter-spacing:-0.8px;margin-bottom:20px}.hero h1 .text-highlight{color:var(--primary);position:relative;display:inline-block}.hero-sub{font-size:17.5px;line-height:1.7;color:var(--text-secondary);margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:16px;margin-bottom:36px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--primary);color:var(--text-white);text-decoration:none;font-size:15px;font-weight:600;padding:14px 28px;border-radius:var(--radius-md);box-shadow:var(--shadow-red);transition:all var(--transition);border:1px solid var(--primary);cursor:pointer}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 12px 28px rgba(200,16,46,0.3)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#ffffff;color:var(--text-primary);text-decoration:none;font-size:15px;font-weight:600;padding:14px 26px;border-radius:var(--radius-md);border:1.5px solid var(--border);transition:all var(--transition);box-shadow:var(--shadow-sm);cursor:pointer}.btn-secondary:hover{border-color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary.btn-wa{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.btn-secondary.btn-wa:hover{background:#dcfce7;border-color:#22c55e}.hero-highlights{display:flex;align-items:center;gap:24px;padding-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.highlight-item{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--text-secondary)}.highlight-item i{color:var(--primary);font-size:15px}.hero-visual{position:relative}.hero-image-frame{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:#ffffff;padding:10px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.hero-image-frame img{width:100%;height:auto;aspect-ratio:1402 / 1122;border-radius:calc(var(--radius-xl) - 8px);display:block;transition:transform var(--transition-slow)}.hero-image-frame:hover img{transform:scale(1.02)}.hero-floating-card{position:absolute;bottom:-15px;left:-15px;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 20px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;z-index:3}.floating-icon{width:40px;height:40px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px}.floating-text strong{display:block;font-size:14px;color:var(--text-primary)}.floating-text span{font-size:12px;color:var(--text-muted)}.stats-strip{background:var(--bg-main);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:40px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:center}.stat-item{text-align:center;position:relative;padding:10px 16px}.stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--border)}.stat-number-wrap{display:flex;align-items:center;justify-content:center;gap:4px;font-size:40px;font-weight:800;color:var(--primary);line-height:1;margin-bottom:8px}.stat-number-wrap .stat-suffix{font-size:28px;color:var(--secondary)}.stat-stars{color:var(--gold);font-size:16px;margin-left:6px}.stat-label{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.stat-sub{font-size:12px;color:var(--text-muted)}.cultural-bridge{background:linear-gradient(135deg,#fafaf9 0%,#fff1f2 100%);border-radius:var(--radius-lg);padding:38px 44px;border:1px solid var(--sakura-border);box-shadow:var(--shadow-sm);margin-bottom:70px;position:relative;overflow:hidden}.cultural-bridge-content{position:relative;z-index:2}.cultural-bridge-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.kural-quote{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.6;margin-bottom:8px}.kural-author{font-size:13px;font-weight:600;color:var(--primary);margin-bottom:16px}.kural-explanation{font-size:14.5px;color:var(--text-secondary);line-height:1.7;max-width:850px}.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center}.about-visual{position:relative}.about-img-frame{border-radius:var(--radius-xl);overflow:hidden;background:#ffffff;padding:10px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.about-img-frame img{width:100%;height:auto;aspect-ratio:16 / 9;border-radius:calc(var(--radius-xl) - 8px);display:block}.about-content h2{font-size:34px;font-weight:800;color:var(--text-primary);line-height:1.25;margin-bottom:18px}.about-lead{font-size:16px;color:var(--text-secondary);line-height:1.75;margin-bottom:24px}.sov-bridge-box{background:#ffffff;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);padding:22px 24px;margin-bottom:26px;box-shadow:var(--shadow-sm)}.sov-bridge-title{font-size:15px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px;margin-bottom:10px}.sov-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px}.sov-table td{padding:6px 10px;border-bottom:1px solid var(--border-light)}.sov-table td strong{color:var(--primary)}.about-checklist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.about-checklist li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text-secondary)}.about-checklist li i{color:var(--primary);font-size:14px}.jlpt-countdown-banner{background:#ffffff;border:1.5px solid rgba(200,16,46,0.2);border-radius:var(--radius-lg);padding:32px 36px;margin-bottom:44px;box-shadow:0 10px 30px rgba(0,0,0,0.04);display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center;position:relative;overflow:hidden}.jlpt-countdown-banner::before{content:'';position:absolute;top:0;left:0;width:6px;height:100%;background:var(--primary)}.countdown-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(200,16,46,0.06);color:var(--primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;padding:5px 14px;border-radius:var(--radius-full);margin-bottom:12px}.pulse-dot{position:relative;width:8px;height:8px;background:var(--primary);border-radius:50%}.pulse-dot::after{content:'';position:absolute;inset:-3px;border-radius:50%;background:rgba(200,16,46,0.5);animation:pulseRed 2s cubic-bezier(0.2,0.8,0.2,1) infinite;will-change:transform,opacity}@keyframes pulseRed{0%{transform:scale(0.8);opacity:0.9}100%{transform:scale(2.2);opacity:0}}.countdown-title{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:10px}.countdown-title i{color:var(--primary);font-size:20px}.countdown-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}.batch-alert-pill{display:inline-flex;align-items:center;gap:8px;background:#fff1f2;border:1px solid #fecdd3;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;color:#9f1239}.batch-alert-pill i{color:var(--primary)}.jlpt-countdown-timer-wrap{background:#fafaf9;border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:inset 0 2px 4px rgba(0,0,0,0.02)}.timer-target-label{margin-bottom:16px}.target-name{display:block;font-size:14px;font-weight:700;color:var(--text-primary)}.target-date{display:block;font-size:12px;color:var(--text-muted)}.countdown-timer{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px;width:100%}.time-block{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;min-width:62px;box-shadow:var(--shadow-sm)}.time-num{display:block;font-size:28px;font-weight:800;color:var(--primary);line-height:1;font-family:var(--font-main);letter-spacing:-0.5px}.time-label{display:block;font-size:10.5px;text-transform:uppercase;font-weight:600;color:var(--text-muted);margin-top:4px}.time-sep{font-size:22px;font-weight:700;color:var(--text-muted);margin-top:-12px}.btn-countdown-reserve{width:100%;padding:12px 20px;background:var(--primary);color:#ffffff;border-radius:var(--radius-sm);font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);box-shadow:0 4px 12px rgba(200,16,46,0.25)}.btn-countdown-reserve:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px rgba(200,16,46,0.35)}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:40px}.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 28px;box-shadow:var(--shadow-sm);transition:all var(--transition);display:flex;flex-direction:column;position:relative}.course-card:hover{transform:translateY(-6px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.course-card.featured-course{border-color:rgba(200,16,46,0.4);background:linear-gradient(180deg,#fffafb 0%,#ffffff 100%);box-shadow:0 10px 30px rgba(200,16,46,0.08)}.course-badge-top{position:absolute;top:-12px;left:28px;background:var(--primary);color:#ffffff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;padding:4px 14px;border-radius:var(--radius-full);box-shadow:0 4px 12px rgba(200,16,46,0.35)}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.course-level-tag{display:inline-block;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;padding:4px 12px;border-radius:var(--radius-full)}.course-hours{font-size:13px;font-weight:600;color:var(--text-muted)}.course-card h3{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.course-desc{font-size:14px;color:var(--text-muted);line-height:1.65;margin-bottom:20px;flex-grow:1}.course-features{list-style:none;margin-bottom:24px;border-top:1px solid var(--border-light);padding-top:18px}.course-features li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-secondary);margin-bottom:10px}.course-features li i{color:var(--primary);font-size:13px}.course-footer{display:flex;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid var(--border);margin-top:auto}.course-price-wrap{display:flex;flex-direction:column}.course-price-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.course-price{font-size:22px;font-weight:800;color:var(--text-primary)}.btn-course-enroll{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#ffffff;text-decoration:none;font-size:13px;font-weight:600;padding:9px 18px;border-radius:var(--radius-sm);transition:all var(--transition)}.btn-course-enroll:hover{background:var(--primary-hover);transform:translateY(-1px)}.career-program-banner{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#ffffff;border-radius:var(--radius-xl);padding:44px 50px;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1.3fr 0.7fr;gap:36px;align-items:center;position:relative;overflow:hidden}.career-banner-badge{display:inline-block;background:var(--primary);color:#ffffff;font-size:12px;font-weight:700;padding:4px 14px;border-radius:var(--radius-full);margin-bottom:14px;text-transform:uppercase;letter-spacing:0.8px}.career-program-banner h3{font-size:28px;font-weight:800;color:#ffffff;margin-bottom:12px;line-height:1.25}.career-program-banner p{font-size:15px;color:#cbd5e1;line-height:1.7;margin-bottom:20px}.career-banner-perks{display:flex;gap:20px;flex-wrap:wrap}.career-perk-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#e2e8f0}.career-perk-item i{color:#4ade80}.career-banner-action{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.career-banner-price{font-size:32px;font-weight:800;color:#ffffff}.career-banner-price span{font-size:14px;font-weight:500;color:#94a3b8}.culture-hero-card{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border);box-shadow:0 15px 40px rgba(0,0,0,0.06);margin-bottom:40px;background:#0f172a;position:relative}.culture-hero-media{position:relative;width:100%}.culture-hero-img{width:100%;height:440px;aspect-ratio:16 / 9;object-fit:cover;object-position:center;display:block;transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1)}.culture-hero-card:hover .culture-hero-img{transform:scale(1.02)}.culture-hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,0.85) 50%,rgba(15,23,42,0.95) 100%);padding:40px 36px 28px}.culture-quote-wrap{display:flex;align-items:center;gap:20px;max-width:800px}.culture-kanji-stamp{background:var(--primary);color:#ffffff;font-size:15px;font-weight:800;padding:8px 16px;border-radius:8px;letter-spacing:2px;font-family:'Noto Sans JP',sans-serif;box-shadow:0 4px 12px rgba(200,16,46,0.4);flex-shrink:0}.culture-quote-text strong{display:block;font-size:18px;font-weight:700;color:#ffffff;margin-bottom:4px}.culture-quote-text span{display:block;font-size:14px;color:#cbd5e1;line-height:1.5}.culture-pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:36px}.culture-pillar-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px 24px;box-shadow:var(--shadow-sm);transition:all var(--transition);position:relative;overflow:hidden;display:flex;flex-direction:column}.culture-pillar-card:hover{transform:translateY(-5px);border-color:rgba(200,16,46,0.4);box-shadow:var(--shadow-md)}.pillar-kanji{position:absolute;top:8px;right:12px;font-size:54px;font-weight:900;color:rgba(200,16,46,0.05);font-family:'Noto Sans JP',sans-serif;line-height:1;pointer-events:none;transition:all var(--transition)}.culture-pillar-card:hover .pillar-kanji{color:rgba(200,16,46,0.12);transform:scale(1.08)}.pillar-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px}.culture-pillar-card h3{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.culture-pillar-card p{font-size:13.5px;color:var(--text-secondary);line-height:1.65;margin-bottom:18px;flex-grow:1}.pillar-tag{display:inline-block;font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:0.8px;background:rgba(200,16,46,0.06);padding:4px 12px;border-radius:var(--radius-full);align-self:flex-start}.culture-insight-banner{background:#ffffff;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius-md);padding:26px 32px;display:flex;align-items:center;gap:24px;box-shadow:var(--shadow-sm)}.insight-icon{width:52px;height:52px;border-radius:50%;background:#fff1f2;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.insight-content h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.insight-content p{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin:0}.timeline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:50px;position:relative}.timeline-step{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-md);padding:26px 20px;text-align:center;position:relative;box-shadow:var(--shadow-sm);transition:all var(--transition)}.timeline-step:hover{transform:translateY(-6px);border-color:var(--primary);box-shadow:var(--shadow-md)}.step-number{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:1.5px solid var(--sakura-border)}.timeline-step h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.timeline-step p{font-size:12.5px;color:var(--text-muted);line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.gallery-card{border-radius:var(--radius-lg);background:#ffffff;padding:10px;border:1px solid var(--border);box-shadow:var(--shadow-md);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}.gallery-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-img-wrap{width:100%;height:400px;border-radius:calc(var(--radius-lg) - 6px);overflow:hidden;background:#fafaf9;position:relative}.gallery-card img{width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:calc(var(--radius-lg) - 6px);display:block;transition:transform 0.4s cubic-bezier(0.2,0.8,0.2,1)}.gallery-card:hover img{transform:scale(1.02)}.gallery-caption{padding:14px 10px 6px;text-align:center;line-height:1.5}.gallery-caption strong{display:block;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.gallery-caption span{display:block;font-size:12.5px;color:var(--text-muted)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.why-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 28px;box-shadow:var(--shadow-sm);transition:all var(--transition)}.why-card:hover{transform:translateY(-6px);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.why-icon{width:54px;height:54px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);font-size:22px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;border:1px solid var(--sakura-border)}.why-card h3{font-size:19px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.why-card p{font-size:14px;color:var(--text-muted);line-height:1.65}.career-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.career-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-md);padding:28px 22px;box-shadow:var(--shadow-sm);transition:all var(--transition);text-align:center}.career-card:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:var(--shadow-md)}.career-icon{width:50px;height:50px;border-radius:50%;background:var(--bg-warm);color:var(--primary);font-size:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:1px solid var(--border)}.career-card h4{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.career-card p{font-size:13px;color:var(--text-muted);line-height:1.6}.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:960px;margin:0 auto}.testimonial-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 30px;box-shadow:var(--shadow-sm);position:relative}.testimonial-stars{color:var(--gold);font-size:15px;margin-bottom:14px}.testimonial-text{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:12px}.author-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:16px}.author-info strong{display:block;font-size:14px;color:var(--text-primary)}.author-info span{font-size:12px;color:var(--text-muted)}.admission-wrapper{display:grid;grid-template-columns:0.95fr 1.05fr;gap:48px;align-items:flex-start}.admission-info{padding-right:16px}.admission-badge{display:inline-flex;align-items:center;gap:8px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;padding:5px 14px;border-radius:var(--radius-full);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.8px}.admission-info h2{font-size:34px;font-weight:800;color:var(--text-primary);line-height:1.25;margin-bottom:16px}.admission-info p{font-size:15.5px;color:var(--text-secondary);line-height:1.7;margin-bottom:28px}.admission-perks{display:flex;flex-direction:column;gap:18px;margin-bottom:30px}.perk-item{display:flex;align-items:flex-start;gap:14px}.perk-icon{width:38px;height:38px;border-radius:10px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}.perk-text h4{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:3px}.perk-text p{font-size:13.5px;color:var(--text-muted);line-height:1.55;margin-bottom:0}.admission-samples-note{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;display:flex;align-items:flex-start;gap:14px;font-size:13.5px}.admission-samples-note i{color:var(--primary);font-size:20px;margin-top:2px;flex-shrink:0}.admission-samples-note a{color:var(--primary);font-weight:600;text-decoration:underline}.enquiry-card{background:#ffffff;border-radius:var(--radius-xl);padding:36px 32px;box-shadow:var(--shadow-lg);border:1px solid var(--border);position:relative}.enquiry-card-header{text-align:center;margin-bottom:22px}.enquiry-pill{display:inline-flex;align-items:center;gap:6px;background:var(--primary-light);color:var(--primary);font-size:11.5px;font-weight:700;padding:4px 14px;border-radius:var(--radius-full);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.8px}.enquiry-card-header h3{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:4px}.enquiry-card-header p{font-size:13.5px;color:var(--text-muted)}.form-label-slot{display:block;font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.slot-item{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 8px;text-align:center;cursor:pointer;background:var(--bg-alt);transition:all var(--transition);user-select:none}.slot-item:hover{border-color:var(--primary);background:#ffffff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.slot-item.selected{border-color:var(--primary);background:var(--primary);color:#ffffff;box-shadow:var(--shadow-red)}.slot-item .time{font-size:13px;font-weight:700;display:block;margin-bottom:2px}.slot-item .desc{font-size:11px;opacity:0.85;display:inline-flex;align-items:center;gap:4px;justify-content:center}.slot-item.selected .desc{opacity:0.95;color:#ffffff}.enquiry-form .form-group{margin-bottom:14px}.enquiry-form .form-group label{display:block;font-size:12.5px;font-weight:600;color:var(--text-secondary);margin-bottom:5px}.enquiry-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap i{position:absolute;left:14px;color:var(--text-light);font-size:14px;pointer-events:none}.input-wrap input,.input-wrap select{width:100%;height:44px;padding:10px 12px 10px 38px;border:1.5px solid var(--border);border-radius:10px;font-family:inherit;font-size:13.5px;color:var(--text-primary);background:var(--bg-alt);transition:all var(--transition);outline:none}.input-wrap input:focus,.input-wrap select:focus{border-color:var(--primary);background:#ffffff;box-shadow:0 0 0 3px rgba(200,16,46,0.12)}.select-wrap select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:13px;padding-right:28px}.dual-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.btn-enquiry-submit{width:100%;height:46px;background:#25D366;color:#ffffff;font-weight:700;font-size:13.5px;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);box-shadow:0 4px 15px rgba(37,211,102,0.3)}.btn-enquiry-submit:hover{background:#1ebc59;transform:translateY(-2px);box-shadow:0 8px 22px rgba(37,211,102,0.45)}.btn-enquiry-email{width:100%;height:46px;background:#0f172a;color:#ffffff;font-weight:700;font-size:13.5px;border:1px solid #1e293b;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);box-shadow:var(--shadow-sm)}.btn-enquiry-email:hover{background:#1e293b;transform:translateY(-2px);box-shadow:var(--shadow-md)}.form-trust{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:11.5px;color:var(--text-muted);font-weight:500}.form-trust i{color:#16a34a}.form-error-msg{background:#fee2e2;color:#b91c1c;padding:8px 12px;border-radius:8px;font-size:12.5px;margin-bottom:10px;border:1px solid #fecaca}.faq-accordion{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition);box-shadow:var(--shadow-sm)}.faq-item.active{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.faq-question-btn{width:100%;background:none;border:none;padding:22px 26px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-family:inherit;font-size:16.5px;font-weight:700;color:var(--text-primary);transition:color var(--transition)}.faq-question-btn:hover{color:var(--primary)}.faq-item.active .faq-question-btn{color:var(--primary)}.faq-icon-indicator{width:32px;height:32px;border-radius:50%;background:var(--bg-alt);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;transition:all var(--transition)}.faq-item.active .faq-icon-indicator{background:var(--primary);color:#ffffff;border-color:var(--primary);transform:rotate(180deg)}.faq-answer-collapse{max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.35s ease;padding:0 26px}.faq-item.active .faq-answer-collapse{padding-bottom:24px}.faq-answer-content{font-size:14.5px;color:var(--text-secondary);line-height:1.75;border-top:1px solid var(--border-light);padding-top:16px}.faq-answer-content p:not(:last-child){margin-bottom:10px}.google-rating-banner{display:flex;justify-content:center;margin-top:16px;margin-bottom:40px}.google-badge-link{display:inline-flex;align-items:center;gap:10px;background:#ffffff;border:1px solid var(--border);padding:10px 22px;border-radius:var(--radius-full);text-decoration:none;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all var(--transition);flex-wrap:wrap;justify-content:center}.google-badge-link:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}.google-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#4285F4;color:#ffffff;border-radius:50%;font-size:13px}.google-stars{color:var(--gold);font-size:14px;display:inline-flex;gap:2px}.rating-score{font-weight:800;color:var(--text-primary);font-size:15px}.rating-count{color:var(--text-secondary);font-size:13px;font-weight:500}.rating-category{color:var(--text-muted);font-size:13px}.centers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:40px}.center-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px 30px;box-shadow:var(--shadow-sm);transition:all var(--transition);position:relative;display:flex;flex-direction:column}.center-card:hover{transform:translateY(-5px);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.center-card.featured-center{border-color:rgba(200,16,46,0.4);background:linear-gradient(180deg,#fffafb 0%,#ffffff 100%)}.center-tag{position:absolute;top:-12px;left:28px;background:var(--primary);color:#ffffff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;padding:4px 14px;border-radius:var(--radius-full);box-shadow:0 4px 12px rgba(200,16,46,0.35)}.center-tag-tn{background:#0284c7;box-shadow:0 4px 12px rgba(2,132,199,0.35)}.center-header{display:flex;align-items:center;gap:16px;margin-bottom:18px}.center-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.center-card:not(.featured-center) .center-icon{background:#e0f2fe;color:#0284c7}.center-header h3{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.center-sub{font-size:13px;color:var(--text-muted)}.center-address{font-size:14px;line-height:1.65;color:var(--text-secondary);margin-bottom:18px}.center-meta{background:var(--bg-alt);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:8px;margin-bottom:22px;border:1px solid var(--border-light)}.meta-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}.meta-row i{color:var(--primary);font-size:13px;width:16px;text-align:center}.center-actions{display:flex;gap:12px;margin-top:auto}.btn-center-primary,.btn-center-secondary{padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 50%;transition:all var(--transition)}.btn-center-primary{background:var(--primary);color:#ffffff}.btn-center-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-center-secondary{background:#ffffff;color:var(--text-primary);border:1px solid var(--border)}.btn-center-secondary:hover{border-color:var(--text-primary);transform:translateY(-1px)}.btn-center-review{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fffdf5;color:#b45309;border:1.5px solid #fde68a;transition:all var(--transition)}.btn-center-review:hover{background:#fef3c7;border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 4px 10px rgba(245,158,11,0.15)}.google-review-action-strip{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 28px;margin-top:36px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;box-shadow:var(--shadow-sm)}.review-strip-left{display:flex;align-items:center;gap:16px}.review-g-logo{width:44px;height:44px;border-radius:50%;background:#ffffff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:22px;color:#4285F4;box-shadow:0 2px 6px rgba(0,0,0,0.05)}.review-strip-left strong{display:block;font-size:15px;font-weight:700;color:var(--text-primary)}.review-strip-left span{font-size:13px;color:var(--text-secondary)}.review-strip-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-review-write{padding:10px 20px;background:#ffffff;color:#b45309;border:1.5px solid #fde68a;border-radius:var(--radius-sm);font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);box-shadow:var(--shadow-sm)}.btn-review-write:hover{border-color:#f59e0b;background:#fffdf5;color:#92400e;transform:translateY(-2px);box-shadow:0 4px 12px rgba(245,158,11,0.2)}.btn-review-read{padding:10px 18px;background:var(--bg-alt);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition)}.btn-review-read:hover{background:#ffffff;color:var(--text-primary)}.map-embed-wrapper{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:40px;box-shadow:var(--shadow-sm)}.map-embed-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--bg-warm);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.map-header-info{display:flex;align-items:center;gap:12px}.map-header-icon{width:38px;height:38px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:16px}.map-header-info h4{font-size:15px;font-weight:700;color:var(--text-primary)}.map-header-info p{font-size:12.5px;color:var(--text-muted)}.btn-map-header{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12.5px;font-weight:600;text-decoration:none;transition:all var(--transition)}.btn-map-header:hover{border-color:var(--primary);color:var(--primary)}.map-iframe-container{width:100%;min-height:380px;aspect-ratio:16 / 9;line-height:0}.map-iframe-container iframe{display:block;width:100%}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.contact-card{background:#ffffff;border:1px solid var(--border);border-radius:var(--radius-md);padding:30px 24px;text-align:center;box-shadow:var(--shadow-sm);transition:all var(--transition)}.contact-card:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:var(--shadow-md)}.contact-card i{font-size:36px;color:var(--primary);margin-bottom:14px}.contact-card h3{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.contact-card p{font-size:14px;color:var(--text-secondary);line-height:1.6}.contact-card p a{color:var(--text-primary);text-decoration:none;font-weight:600;transition:color var(--transition)}.contact-card p a:hover{color:var(--primary)}.contact-card-sub{font-size:12px !important;color:var(--text-muted) !important;margin-top:4px}.cta-banner-section{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#ffffff;border-radius:var(--radius-xl);padding:60px 48px;margin:40px auto 80px;max-width:1240px;text-align:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.cta-banner-content{position:relative;z-index:2;max-width:680px;margin:0 auto}.cta-banner-section h2{font-size:36px;font-weight:800;color:#ffffff;margin-bottom:14px;line-height:1.25}.cta-banner-section p{font-size:16px;color:#cbd5e1;line-height:1.7;margin-bottom:30px}.cta-banner-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.footer{background:var(--bg-warm);border-top:1px solid var(--border);padding:64px 0 36px}.footer-top{text-align:center;max-width:640px;margin:0 auto 36px}.footer-logo{width:64px;height:64px;border-radius:50%;margin-bottom:14px;border:1.5px solid var(--primary)}.footer-title{font-size:20px;font-weight:800;color:var(--text-primary);margin-bottom:6px}.footer-tagline{font-size:14px;color:var(--text-secondary);margin-bottom:6px}.footer-locations{font-size:13px;color:var(--text-muted)}.footer-nav-cluster{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--border);margin-bottom:24px}.footer-nav-cluster a{color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:color var(--transition)}.footer-nav-cluster a:hover{color:var(--primary)}.footer-bottom{text-align:center;font-size:12.5px;color:var(--text-muted)}.whatsapp-float{position:fixed;bottom:24px;right:24px;width:58px;height:58px;background:#25D366;color:#ffffff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 6px 20px rgba(37,211,102,0.4);z-index:999;text-decoration:none;transition:all var(--transition)}.whatsapp-float:hover{background:#1ebc59;transform:scale(1.08) translateY(-2px);box-shadow:0 10px 25px rgba(37,211,102,0.55)}#topBtn{position:fixed;bottom:92px;right:26px;width:44px;height:44px;background:#ffffff;border:1px solid var(--border);border-radius:50%;color:var(--text-primary);display:none;align-items:center;justify-content:center;font-size:16px;box-shadow:var(--shadow-md);cursor:pointer;z-index:998;transition:all var(--transition)}#topBtn:hover{background:var(--primary);color:#ffffff;border-color:var(--primary);transform:translateY(-2px)}.reveal-item{opacity:0;transform:translateY(24px);transition:opacity 0.6s cubic-bezier(0.4,0,0.2,1),transform 0.6s cubic-bezier(0.4,0,0.2,1)}.reveal-item.show{opacity:1;transform:translateY(0)}.hidden{opacity:0;transform:translateY(20px);transition:all 0.5s ease-out}.show{opacity:1;transform:translateY(0)}@media (max-width:1024px){.hero-grid{grid-template-columns:1fr;gap:40px;text-align:center}.hero-content{max-width:100%;margin:0 auto}.hero-actions{justify-content:center}.hero-highlights{justify-content:center}.hero-visual{max-width:520px;margin:0 auto}.about-grid{grid-template-columns:1fr;gap:40px}.jlpt-countdown-banner{grid-template-columns:1fr;padding:28px 24px;gap:26px}.courses-grid{grid-template-columns:repeat(2,1fr)}.culture-pillars-grid{grid-template-columns:repeat(2,1fr);gap:20px}.culture-hero-img{height:360px}.career-program-banner{grid-template-columns:1fr;text-align:center}.career-banner-action{align-items:center;text-align:center}.timeline-grid{grid-template-columns:repeat(3,1fr)}.career-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1040px){.menu-btn{display:flex}.nav-links{position:fixed;top:78px;left:0;width:100%;background:#ffffff;border-bottom:1px solid var(--border);flex-direction:column;gap:0;box-shadow:var(--shadow-lg);max-height:0;overflow:hidden;transition:max-height 0.35s ease}.nav-links.active{max-height:480px;padding:16px 0}.nav-links li{width:100%;text-align:center}.nav-links li a{display:block;padding:14px 24px;font-size:16px}.nav-btn{display:none}.nav-actions{gap:10px}.mobile-lang-drawer-item{display:flex !important;padding:12px 24px;width:100%;justify-content:center;border-top:1px dashed var(--border);margin-top:8px}.lang-label-full{display:none}.lang-label-short{display:inline}.lang-toggle-btn{padding:6px 12px;font-size:12.5px;gap:5px}.logo-img{width:40px;height:40px}.logo-title{font-size:19px}.logo-sub{font-size:9.5px}.menu-btn{width:40px;height:40px;font-size:18px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:24px}.stat-item:nth-child(2)::after{display:none}.why-grid{grid-template-columns:repeat(2,1fr)}.admission-wrapper{grid-template-columns:1fr}.centers-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}@media (max-width:768px){.section{padding:68px 0}.hero{padding-top:105px;padding-bottom:50px}.hero h1{font-size:36px}.hero-sub{font-size:15.5px}.section-title h2{font-size:28px}.courses-grid{grid-template-columns:1fr}.culture-hero-img{height:260px}.culture-hero-overlay{padding:24px 18px 20px}.culture-quote-wrap{flex-direction:column;align-items:flex-start;gap:8px}.culture-quote-text strong{font-size:16px}.culture-pillars-grid{grid-template-columns:1fr;gap:18px}.culture-insight-banner{flex-direction:column;align-items:flex-start;padding:20px 18px;gap:16px}.jlpt-countdown-banner{padding:24px 18px;border-radius:var(--radius-md)}.countdown-title{font-size:19px}.countdown-timer{gap:6px}.time-block{min-width:52px;padding:8px 6px}.time-num{font-size:22px}.google-review-action-strip{flex-direction:column;align-items:flex-start;padding:20px 18px}.review-strip-buttons{width:100%}.btn-review-write,.btn-review-read{width:100%;justify-content:center}.gallery-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto;gap:24px}.gallery-img-wrap{height:420px}.timeline-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.career-grid{grid-template-columns:1fr}.testimonials-grid{grid-template-columns:1fr}.enquiry-card{padding:26px 20px}.slots-grid{grid-template-columns:1fr}.enquiry-form .form-row{grid-template-columns:1fr}.dual-btn-row{grid-template-columns:1fr}.about-checklist{grid-template-columns:1fr}.cultural-bridge{padding:26px 20px}.cta-banner-section{padding:40px 24px}.cta-banner-section h2{font-size:26px}.center-actions{flex-direction:column}.map-embed-header{flex-direction:column;align-items:flex-start}.btn-map-header{width:100%;justify-content:center}}@media (max-width:480px){.container{padding:0 16px}.hero h1{font-size:30px}.hero-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%}.stats-grid{grid-template-columns:1fr}.stat-item::after{display:none !important}.stat-number-wrap{font-size:34px}.hero-floating-card{display:none}.google-badge-link{padding:8px 14px;font-size:12px}.rating-category{display:none}.whatsapp-float{bottom:18px;right:18px;width:52px;height:52px;font-size:26px}#topBtn{bottom:80px;right:20px}.lang-toggle-btn{padding:6px 11px;font-size:12px;gap:5px}.lang-toggle-btn .lang-cycle-icon{display:none}}@media (max-width:360px){.logo-title{font-size:17px}.hero h1{font-size:26px}.course-footer{flex-direction:column;align-items:flex-start;gap:12px}.btn-course-enroll{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.sakura-petal{display:none !important}.reveal-item,.hidden{opacity:1 !important;transform:none !important}}.fee-calculator-card{background:#ffffff;border:1.5px solid var(--sakura-border);border-radius:var(--radius-xl);padding:44px 48px;box-shadow:0 14px 35px rgba(200,16,46,0.06);margin-top:48px;position:relative;overflow:hidden;}.fee-calculator-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 50%,var(--gold) 100%);}.calc-header{text-align:center;max-width:720px;margin:0 auto 36px;}.calc-pill{display:inline-flex;align-items:center;gap:8px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;padding:6px 16px;border-radius:var(--radius-full);border:1px solid var(--sakura-border);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:12px;}.calc-header h3{font-size:26px;font-weight:800;color:var(--text-primary);margin-bottom:8px;letter-spacing:-0.3px;}.calc-header p{font-size:14.5px;color:var(--text-muted);line-height:1.6;}.calc-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:36px;align-items:stretch;}.calc-controls{display:flex;flex-direction:column;gap:22px;}.calc-group-label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--text-primary);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px;}.calc-group-label i{color:var(--primary);}.calc-course-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}.calc-chip{background:var(--bg-alt);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;text-align:left;cursor:pointer;transition:all var(--transition);display:flex;flex-direction:column;gap:4px;font-family:inherit;outline:none;}.calc-chip:hover{border-color:var(--primary);background:#ffffff;transform:translateY(-2px);box-shadow:var(--shadow-sm);}.calc-chip.active{background:var(--primary-light);border-color:var(--primary);box-shadow:0 4px 16px rgba(200,16,46,0.12);}.chip-title{font-size:14.5px;font-weight:700;color:var(--text-primary);}.calc-chip.active .chip-title{color:var(--primary);}.chip-fee{font-size:13px;font-weight:600;color:var(--text-muted);}.calc-chip.active .chip-fee{color:var(--primary-hover);font-weight:700;}.calc-duration-pills{display:flex;gap:10px;flex-wrap:wrap;}.calc-duration-btn{background:var(--bg-main);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:10px 18px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:inherit;outline:none;}.calc-duration-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);}.calc-duration-btn.active{background:var(--primary);color:#ffffff;border-color:var(--primary);box-shadow:0 4px 12px rgba(200,16,46,0.25);}.calc-perks-box{background:var(--bg-warm);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:16px 20px;margin-top:8px;display:flex;flex-direction:column;gap:10px;}.calc-perk{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-secondary);}.calc-perk i{color:#16a34a;font-size:13px;flex-shrink:0;}.calc-summary-card{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);color:#ffffff;border-radius:var(--radius-lg);padding:34px 30px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:space-between;position:relative;border:1px solid rgba(255,255,255,0.08);}.calc-summary-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(34,197,94,0.18);color:#4ade80;font-size:11.5px;font-weight:700;padding:4px 12px;border-radius:var(--radius-full);border:1px solid rgba(74,222,128,0.3);align-self:flex-start;margin-bottom:20px;}.calc-monthly-display{margin-bottom:22px;}.calc-monthly-label{display:block;font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px;}.calc-amount-row{display:flex;align-items:baseline;gap:4px;line-height:1;}.calc-currency{font-size:28px;font-weight:700;color:#f87171;}.calc-amount{font-size:44px;font-weight:900;color:#ffffff;font-family:inherit;letter-spacing:-1px;}.calc-unit{font-size:14.5px;font-weight:500;color:#cbd5e1;margin-left:4px;}.calc-sub-note{display:block;font-size:12.5px;color:#94a3b8;margin-top:8px;line-height:1.5;}.calc-breakdown-list{border-top:1px solid rgba(255,255,255,0.12);border-bottom:1px solid rgba(255,255,255,0.12);padding:16px 0;margin-bottom:22px;display:flex;flex-direction:column;gap:10px;}.calc-breakdown-row{display:flex;justify-content:space-between;font-size:13.5px;}.calc-breakdown-row .row-label{color:#94a3b8;}.calc-breakdown-row .row-value{color:#ffffff;font-weight:600;}.calc-breakdown-row.highlight-row{padding-top:6px;border-top:1px dashed rgba(255,255,255,0.1);}.calc-breakdown-row .text-green{color:#4ade80 !important;font-weight:700;}.calc-actions{display:flex;flex-direction:column;gap:10px;}.btn-calc-wa{background:#25D366;color:#ffffff;padding:13px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px rgba(37,211,102,0.35);transition:all var(--transition);}.btn-calc-wa:hover{background:#1ebc59;transform:translateY(-2px);box-shadow:0 6px 18px rgba(37,211,102,0.45);}.btn-calc-demo{background:rgba(255,255,255,0.08);color:#ffffff;border:1px solid rgba(255,255,255,0.2);padding:11px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition);}.btn-calc-demo:hover{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.4);transform:translateY(-1px);}@media (max-width:900px){.fee-calculator-card{padding:32px 24px;}.calc-grid{grid-template-columns:1fr;gap:28px;}.calc-course-chips{grid-template-columns:1fr;}}@media (max-width:480px){.fee-calculator-card{padding:26px 18px;}.calc-header h3{font-size:21px;}.calc-amount{font-size:38px;}}