*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;cursor:none;font-size:16px;overflow-x:hidden}body{color:#2d2d3a;cursor:none;background:#fff;font-family:Noto Sans JP,sans-serif;line-height:1.8;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;cursor:none;text-decoration:none}ul{list-style:none}.cursor-dot{background:var(--primary);pointer-events:none;z-index:99999;border-radius:50%;width:8px;height:8px;transition:transform .1s,width .3s,height .3s,background .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ring{pointer-events:none;z-index:99998;border:1.5px solid #9a071a4d;border-radius:50%;width:36px;height:36px;transition:transform .15s,width .3s,height .3s,border-color .3s,background .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-hover .cursor-dot{background:var(--primary);mix-blend-mode:normal;width:12px;height:12px}.cursor-hover .cursor-ring{border-color:var(--primary);background:#9a071a0d;width:52px;height:52px}.cursor-click .cursor-dot{transform:translate(-50%,-50%)scale(.5)}.cursor-click .cursor-ring{transform:translate(-50%,-50%)scale(.8)}@media (max-width:1023px){html,body,a{cursor:auto}.cursor-dot,.cursor-ring{display:none}}.animate-on-scroll{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}.animate-on-scroll.slide-left{transform:translate(-60px)}.animate-on-scroll.slide-left.in-view{transform:translate(0)}.animate-on-scroll.slide-right{transform:translate(60px)}.animate-on-scroll.slide-right.in-view{transform:translate(0)}.animate-on-scroll.scale-up{transform:scale(.9)}.animate-on-scroll.scale-up.in-view{transform:scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}@keyframes count-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.count-animate{animation:.6s cubic-bezier(.16,1,.3,1) forwards count-up}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-subtle{0%,to{box-shadow:0 0 #9a071a33}50%{box-shadow:0 0 0 12px #9a071a00}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes draw-line{0%{width:0}to{width:60px}}.line-draw{overflow:hidden}.line-draw.in-view{animation:.8s forwards draw-line}@keyframes hero-text-reveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-badge-pop{0%{opacity:0;transform:scale(.8)translateY(20px)}60%{transform:scale(1.05)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}.hero-animate-text{opacity:0;animation:1s cubic-bezier(.16,1,.3,1) forwards hero-text-reveal}.hero-animate-text-delay{animation-delay:.2s}.hero-animate-text-delay-2{animation-delay:.4s}.hero-animate-text-delay-3{animation-delay:.6s}.hero-animate-badge{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards hero-badge-pop}.hero-animate-badge-1{animation-delay:.8s}.hero-animate-badge-2{animation-delay:1s}.hero-animate-badge-3{animation-delay:1.2s}:root{--primary:#111;--primary-dark:#000;--primary-light:#0000000a;--dark-bg:#0a0a0a;--dark-bg-2:#111;--text:#111;--text-secondary:#666;--light-bg:#fafafa;--white:#fff;--gold:#c9a84c;--gold-light:#c9a84c1a;--border:#e8e8e8;--accent:#9a071a;--section-padding:120px 0;--container:1140px}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section-label{letter-spacing:4px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:600}.section-title{letter-spacing:-.3px;margin-bottom:20px;font-family:Noto Serif JP,serif;font-size:30px;font-weight:500;line-height:1.5}.section-subtitle{color:var(--text-secondary);max-width:600px;font-size:16px;line-height:1.8}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:16px 36px;font-size:15px;font-weight:700;transition:all .3s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--white);letter-spacing:1px;text-transform:uppercase;border-radius:0;font-size:13px;position:relative;overflow:hidden}.btn-primary:after{content:"";background:#ffffff1a;border-radius:50%;width:0;height:0;transition:width .5s,height .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary:hover:after{width:300px;height:300px}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 30px #0003}.btn-primary:active{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-white{background:var(--white);color:var(--primary)}.btn-white:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.btn-outline{color:var(--primary);border:1px solid var(--primary);letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:0;font-size:13px}.btn-outline:hover{background:var(--primary);color:var(--white)}.fade-in{opacity:1;transform:none}.fade-in-js{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.fade-in-js.visible{opacity:1;transform:translateY(0)}.header{z-index:10002;background:0 0;padding:18px 0;transition:all .4s;position:fixed;top:0;left:0;right:0}.header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7}.header:not(.scrolled) .logo-text{color:#fff}.header:not(.scrolled) .desktop-nav a{color:#fffc}.header:not(.scrolled) .desktop-nav a:hover{color:#fff}.header:not(.scrolled) .nav-cta{background:#ffffff26;border:1px solid #ffffff40;color:#fff!important}.header:not(.scrolled) .nav-cta:hover{background:#ffffff40}.header:not(.scrolled) .hamburger-line{background:#fff}.header.scrolled{padding:12px 0;box-shadow:0 2px 20px #00000014}.header.menu-open{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}.header.menu-open .logo-text{color:#fff}.header .container{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:0;display:flex}.logo-mark{display:none}.logo-text{letter-spacing:3px;color:var(--text);font-family:Cormorant Garamond,serif;font-size:19px;font-weight:600;transition:color .3s}.header.scrolled .logo-text{color:var(--text)}.nav,.desktop-nav{align-items:center;gap:32px;display:flex}.mobile-hamburger{display:none}@media (max-width:1023px){.desktop-nav{display:none!important}.mobile-hamburger{display:flex!important}}.nav a,.desktop-nav a{color:var(--text);font-size:14px;font-weight:500;transition:color .3s;position:relative}.nav a:after{content:"";background:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav a:hover:after{width:100%}.nav a:hover{color:var(--primary)}.header.scrolled .nav a{color:var(--text)}.nav-cta{background:var(--primary);letter-spacing:1px;text-transform:uppercase;border-radius:0;color:var(--white)!important;padding:10px 24px!important;font-size:12px!important;font-weight:600!important}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--primary-dark)}.mobile-hamburger{cursor:pointer;z-index:10001;background:0 0;border:none;flex-direction:column;gap:7px;padding:10px;display:flex;position:relative}.mobile-hamburger.active .hamburger-line{background:#fff}.hamburger-line{transform-origin:50%;background:#2d2d3a;border-radius:1px;height:1.5px;transition:all .4s cubic-bezier(.16,1,.3,1);display:block}.hamburger-line.line-1{width:28px}.hamburger-line.line-2{width:20px;margin-left:auto}.hamburger-line.line-3{width:24px}.mobile-hamburger.active .line-1{width:24px;transform:translateY(8.5px)rotate(45deg)}.mobile-hamburger.active .line-2{opacity:0;transform:scaleX(0)}.mobile-hamburger.active .line-3{width:24px;transform:translateY(-8.5px)rotate(-45deg)}.mobile-overlay{z-index:9999;pointer-events:none;position:fixed;inset:0}.mobile-overlay.open{pointer-events:auto}.mobile-overlay-backdrop{-webkit-backdrop-filter:blur(12px);opacity:0;background:#0000004d;transition:opacity .4s;position:absolute;inset:0}.mobile-overlay.open .mobile-overlay-backdrop{opacity:1}.mobile-overlay-content{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:28px;transition:opacity .4s .1s,transform .4s cubic-bezier(.16,1,.3,1) .1s;display:flex;position:absolute;inset:0;transform:translateY(-20px)}.mobile-overlay.open .mobile-overlay-content{opacity:1;transform:translateY(0)}@keyframes nav-link-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{color:#fff;opacity:0;font-size:22px;font-weight:500;text-decoration:none;transition:color .3s}.mobile-overlay.open .mobile-nav-link{animation:.5s cubic-bezier(.16,1,.3,1) forwards nav-link-slide-in}.mobile-nav-link:hover{color:#ffffffb3}.mobile-nav-cta{background:var(--primary);color:#fff;opacity:0;border-radius:8px;margin-top:12px;padding:16px 48px;font-size:16px;font-weight:700;text-decoration:none;transition:background .3s,transform .3s}.mobile-overlay.open .mobile-nav-cta{animation:.5s cubic-bezier(.16,1,.3,1) forwards nav-link-slide-in}.mobile-nav-cta:hover{background:var(--primary-dark);transform:scale(1.05)}.hamburger{display:none}.hero-badge-number,.stat-number,.plan-price,.price-amount,.pricing-table-wrap td,.flow-step-number{font-family:"DM Serif Display", var(--font-dm-serif), serif}.approach-grid{grid-template-columns:1fr 1fr;gap:36px;display:grid}.approach-section-inner{padding:100px 0}.pricing-table-container{position:relative}.scroll-hint{opacity:0;pointer-events:none;align-items:center;gap:6px;transition:opacity .4s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.scroll-hint.visible{opacity:1}@keyframes scroll-bounce{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.scroll-hint-arrow{background:#9a071a14;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;animation:1.2s infinite scroll-bounce;display:flex}.scroll-hint-text{color:var(--primary);white-space:nowrap;font-size:12px;font-weight:600;display:none}@media (max-width:1023px){.scroll-hint-text{display:block}.scroll-hint{flex-direction:column;gap:4px;right:8px}}@media (min-width:1024px){.scroll-hint{display:none}}.hero{background:var(--white);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:before{display:none}.hero:after{content:"";background:var(--border);height:1px;position:absolute;bottom:-2px;left:0;right:0}.hero.hero-dark{background:#0a0a0e}.hero.hero-dark:after{display:none}.hero.hero-dark .hero-content h1{color:#fff;letter-spacing:-.5px;font-weight:500}.hero.hero-dark .hero-content h1 span{color:#fff;position:relative}.hero.hero-dark .hero-content h1 span:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:2px;left:0;right:0}.hero.hero-dark .hero-description{color:#ffffff73;letter-spacing:.3px;font-size:15px}.hero.hero-dark .hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff0f}.hero.hero-dark .hero-badge-number{color:#fff;font-weight:400}.hero.hero-dark .hero-badge-label{color:#fff6;text-transform:uppercase;letter-spacing:2px;font-size:10px}.hero.hero-dark .btn-primary{color:#0a0a0e;background:#fff;border-radius:0}.hero.hero-dark .btn-primary:hover{background:#f0f0f0;box-shadow:0 12px 40px #ffffff26}.hero .container{z-index:2;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding-top:140px;padding-bottom:100px;display:grid;position:relative}.hero-content h1{color:var(--text);margin-bottom:48px;font-family:Noto Serif JP,serif;font-size:42px;font-weight:600;line-height:1.5}.hero-content h1 span{color:var(--primary)}.hero-eyebrow{letter-spacing:4px;color:var(--primary);text-transform:uppercase;margin-bottom:28px;font-family:Cormorant Garamond,serif;font-size:15px;font-weight:600}.hero-description{color:var(--text-secondary);margin-bottom:64px;font-size:16px;line-height:2}.hero-badges{flex-direction:column;gap:20px;display:flex}.hero-badge{background:var(--light-bg);border:1px solid var(--border);text-align:center;border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-width:160px;min-height:120px;padding:28px 16px;display:flex}.hero-badge-number{color:var(--primary);margin-bottom:6px;font-family:DM Serif Display,serif;font-size:48px;font-weight:400;line-height:1}.hero-badge-label{color:var(--text-secondary);font-size:14px;font-weight:500}.hero-badge-row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.logo-bar{background:var(--white);border-bottom:1px solid var(--border);padding:60px 0}.logo-bar-label{text-align:center;letter-spacing:2px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:28px;font-size:13px;font-weight:600}.logo-bar-label span{color:var(--primary);font-family:Cormorant Garamond,serif}.logo-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;display:flex}.logo-item{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:700;transition:all .3s}.logo-item:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 16px #9a071a1f}.logo-item{transition:all .3s cubic-bezier(.16,1,.3,1)}.stats{padding:var(--section-padding);background:var(--light-bg)}.stats .container{text-align:center}.stats-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;display:grid}.stat-card{background:var(--white);border-radius:0;padding:48px 32px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #0000000a}.stat-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000001a}.stat-card:hover .stat-icon{transition:transform .3s;transform:scale(1.1)}.stat-icon{background:var(--gold-light);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:24px;display:flex}.stat-number{color:var(--dark-bg);margin-bottom:8px;font-family:DM Serif Display,serif;font-size:52px;font-weight:400;line-height:1}.stat-number span{color:var(--gold);font-size:28px}.stat-label{color:var(--text-secondary);font-size:15px;font-weight:500}.services{padding:var(--section-padding);background:var(--white)}.services .container{text-align:center}.services-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px;display:grid}.service-card{background:var(--white);border:1px solid var(--border);text-align:center;border-radius:0;padding:40px 24px;transition:all .3s;position:relative;overflow:hidden}.service-card:before{content:"";background:var(--primary);height:3px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{border-color:#0000;transform:translateY(-8px)scale(1.02);box-shadow:0 20px 50px #0000001a}.service-card:hover .service-icon{transition:transform .4s cubic-bezier(.16,1,.3,1);transform:scale(1.15)rotate(3deg)}.service-icon{background:var(--primary-light);border-radius:0;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:28px;display:flex}.service-card h3{margin-bottom:12px;font-size:17px;font-weight:700}.service-card p{color:var(--text-secondary);font-size:14px;line-height:1.7}.flow{padding:var(--section-padding);background:var(--light-bg)}.flow .container{text-align:center}.flow-steps{grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;display:grid;position:relative}.flow-step{padding:0 20px;position:relative}.flow-step-number{background:var(--primary);width:56px;height:56px;color:var(--white);z-index:2;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700;display:flex;position:relative}.flow-step:not(:last-child):after{content:"";background:linear-gradient(90deg, var(--primary), #9a071a33);z-index:1;height:2px;position:absolute;top:28px;left:calc(50% + 28px);right:calc(28px - 50%)}.flow-step h3{margin-bottom:10px;font-size:16px;font-weight:700}.flow-step p{color:var(--text-secondary);font-size:14px;line-height:1.7}.profile{padding:var(--section-padding);background:var(--white);color:var(--text);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.profile .container{grid-template-columns:280px 1fr;align-items:center;gap:60px;display:grid}.profile-image{border:1px solid var(--border);background:linear-gradient(135deg,#f0f0f5,#e8e8f0);border-radius:50%;width:280px;height:280px;position:relative;overflow:hidden}.profile-image img{object-fit:cover;object-position:center top;width:100%;height:100%}.profile-content .section-label{color:var(--primary)}.profile-content .section-title{color:var(--text)}.profile-name{color:var(--primary);letter-spacing:2px;margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:14px;font-weight:600}.profile-name-ja{color:var(--text);margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:26px;font-weight:600}.profile-content p{color:var(--text-secondary);margin-bottom:16px;font-size:15px;line-height:2}.profile-tags{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.profile-tag{border:1px solid var(--border);color:var(--text-secondary);border-radius:100px;padding:8px 16px;font-size:13px}.testimonials{padding:var(--section-padding);background:var(--white)}.testimonials .container{text-align:center}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px;display:grid}.testimonial-card{background:var(--white);border:1px solid var(--border);text-align:left;border-radius:0;padding:36px 28px;transition:all .3s;position:relative}.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000001a}.testimonial-card:hover .testimonial-avatar{transition:transform .3s;transform:scale(1.1)}.testimonial-quote{color:var(--primary-light);font-family:Georgia,serif;font-size:48px;line-height:1;position:absolute;top:20px;right:24px}.testimonial-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.testimonial-avatar{width:52px;height:52px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.testimonial-avatar.a1{background:linear-gradient(135deg,#667eea,#764ba2)}.testimonial-avatar.a2{background:linear-gradient(135deg,#f093fb,#f5576c)}.testimonial-avatar.a3{background:linear-gradient(135deg,#4facfe,#00f2fe)}.testimonial-info h4{font-size:15px;font-weight:700}.testimonial-uni{color:var(--primary);font-size:13px;font-weight:600}.testimonial-card p{color:var(--text-secondary);font-size:14px;line-height:1.8}.testimonial-stars{color:var(--gold);letter-spacing:2px;margin-top:16px;font-size:14px}.plans{padding:var(--section-padding);background:var(--light-bg)}.plans .container{text-align:center}.plans-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:28px;margin-top:50px;display:grid}.plan-card{background:var(--white);border:1px solid var(--border);text-align:center;border-radius:0;padding:40px 28px;transition:all .3s;position:relative}.plan-card.featured{border:2px solid var(--primary);transform:scale(1.05);box-shadow:0 20px 60px #9a071a1f}.plan-badge{background:var(--primary);color:var(--white);letter-spacing:1px;border-radius:100px;padding:6px 24px;font-size:12px;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan-name{margin-top:8px;margin-bottom:8px;font-size:18px;font-weight:700}.plan-price{color:var(--dark-bg);margin-bottom:4px;font-family:DM Serif Display,serif;font-size:42px;font-weight:400}.plan-price span{color:var(--text-secondary);font-size:16px;font-weight:500}.plan-period{color:var(--text-secondary);margin-bottom:28px;font-size:13px}.plan-features{text-align:left;margin-bottom:32px}.plan-features li{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.plan-features li:last-child{border-bottom:none}.plan-check{color:var(--primary);font-weight:700}.cta-section{background:var(--dark-bg);text-align:center;padding:100px 0;position:relative;overflow:hidden}.cta-section:before{content:"";background:radial-gradient(circle at 30%,#ffffff0d 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.cta-section .container{z-index:2;position:relative}.cta-section h2{color:var(--white);margin-bottom:16px;font-size:36px;font-weight:700}.cta-section p{color:#fffc;margin-bottom:36px;font-size:16px}.cta-slots{color:var(--white);background:#ffffff26;border-radius:100px;align-items:center;gap:8px;margin-top:24px;padding:10px 24px;font-size:14px;display:inline-flex}.cta-slots-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.footer{background:var(--light-bg);color:var(--text-secondary);border-top:1px solid var(--border);padding:60px 0 30px}.footer .container{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-brand .logo-text{color:var(--text);font-size:20px}.footer-brand p{margin-top:16px;font-size:14px;line-height:1.8}.footer h4{color:var(--text);margin-bottom:20px;font-size:14px;font-weight:700}.footer ul li{margin-bottom:12px}.footer ul li a{color:var(--text-secondary);font-size:14px;transition:color .3s}.footer ul li a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;font-size:13px;display:flex}.footer-bottom a{color:var(--text-secondary)}.footer-bottom a:hover{color:var(--primary)}.floating-cta{z-index:999;background:var(--primary);color:var(--white);cursor:pointer;opacity:0;border-radius:100px;align-items:center;gap:8px;padding:14px 28px;font-size:14px;font-weight:700;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(20px);box-shadow:0 8px 30px #9a071a66}.floating-cta.show{opacity:1;transform:translateY(0)}.floating-cta:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 40px #9a071a80}.plan-hero{background:var(--white);border-bottom:1px solid var(--border);padding:120px 0 80px}.back-link{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:32px;font-size:14px;transition:color .3s;display:inline-flex}.back-link:hover{color:var(--primary)}.plan-hero-content{max-width:640px}.plan-tier-label{letter-spacing:3px;color:var(--primary);text-transform:uppercase;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:14px;font-weight:600;display:block}.plan-hero h1{margin-bottom:16px;font-family:Noto Serif JP,serif;font-size:36px;font-weight:600}.plan-hero-desc{color:var(--text-secondary);margin-bottom:32px;font-size:16px;line-height:1.9}.plan-hero-price{margin-bottom:32px}.price-amount{color:var(--text);font-family:DM Serif Display,serif;font-size:48px;font-weight:400}.price-period{color:var(--text-secondary);font-size:16px}.plan-features-section{background:var(--light-bg);padding:80px 0}.features-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;display:grid}.feature-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:36px 28px;transition:all .3s}.feature-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000000f}.feature-icon{background:var(--primary-light);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;font-size:24px;display:flex}.feature-card h3{margin-bottom:12px;font-size:18px;font-weight:700}.feature-card>p{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.8}.feature-details li{color:var(--text);border-bottom:1px solid var(--border);padding:8px 0 8px 20px;font-size:14px;position:relative}.feature-details li:last-child{border-bottom:none}.feature-details li:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;left:0}.plan-who{background:var(--white);padding:80px 0}.who-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:800px;margin-top:40px;margin-left:auto;margin-right:auto;display:grid}.who-item{background:var(--light-bg);border-radius:0;align-items:flex-start;gap:14px;padding:20px 24px;display:flex}.who-check{color:var(--primary);flex-shrink:0;margin-top:2px;font-size:18px;font-weight:700}.who-item p{color:var(--text);font-size:15px}.plan-comparison{background:var(--light-bg);padding:80px 0}.comparison-table-wrap{margin-top:40px;overflow-x:auto}.comparison-table{border-collapse:collapse;background:var(--white);border-radius:0;width:100%;overflow:hidden;box-shadow:0 2px 12px #0000000a}.comparison-table th,.comparison-table td{text-align:center;border-bottom:1px solid var(--border);padding:16px 20px;font-size:14px}.comparison-table th{background:var(--light-bg);font-size:15px;font-weight:700}.comparison-table th.current{background:var(--primary);color:var(--white)}.comparison-table td:first-child{text-align:left;font-weight:500}.comparison-table td.current{background:#9a071a0a;font-weight:600}.comparison-links{justify-content:center;gap:16px;margin-top:32px;display:flex}.plan-cta{text-align:center;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);padding:80px 0}.plan-cta h2{color:var(--white);margin-bottom:16px;font-size:32px;font-weight:700}.plan-cta p{color:#fffc;margin-bottom:32px;font-size:16px}.roadmap-section{background:var(--white);border-top:1px solid var(--border);padding:80px 0}.roadmap-intro{text-align:center;max-width:700px;margin:0 auto 48px}.roadmap-intro p{color:var(--text-secondary);margin-top:12px;font-size:15px}.roadmap-sample-label{background:var(--primary-light);color:var(--primary);border-radius:100px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 20px;font-size:13px;font-weight:600;display:inline-flex}.roadmap-card{background:var(--white);border:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:0 4px 20px #0000000a}.roadmap-card-header{border-bottom:1px solid var(--border);background:var(--light-bg);justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.roadmap-card-header h3{font-size:16px;font-weight:700}.roadmap-card-header .roadmap-meta{color:var(--text-secondary);font-size:13px}.roadmap-card-body{padding:0}.roadmap-subject{margin-bottom:32px}.roadmap-subject:last-child{margin-bottom:0}.roadmap-subject-header{border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 20px;display:flex}.roadmap-subject-header.english{background:#6c3fc514}.roadmap-subject-header.japanese{background:#e86c2c14}.roadmap-subject-header.history{background:#0f9d6e14}.roadmap-subject-icon{width:36px;height:36px;color:var(--white);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.roadmap-subject-icon.english{background:#6c3fc5}.roadmap-subject-icon.japanese{background:#e86c2c}.roadmap-subject-icon.history{background:#0f9d6e}.roadmap-subject-header h3{font-size:16px;font-weight:700}.roadmap-timeline{padding-left:24px;position:relative}.roadmap-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:8px}.timeline-month{margin-bottom:20px;position:relative}.timeline-month:before{content:"";border:2px solid var(--primary);background:var(--white);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-20px}.timeline-month-label{color:var(--primary);margin-bottom:8px;font-size:13px;font-weight:700}.timeline-items{flex-direction:column;gap:6px;display:flex}.timeline-item{background:var(--light-bg);border-radius:8px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.timeline-item-priority{border-radius:50%;flex-shrink:0;width:8px;height:8px}.priority-high{background:var(--primary)}.priority-mid{background:#e8963c}.priority-low{background:#d4d4d8}.timeline-item-type{color:var(--text-secondary);background:var(--white);border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600}.roadmap-goals{background:var(--light-bg);border-radius:0;margin-top:24px;padding:20px 24px}.roadmap-goals h4{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.goal-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:8px 0;font-size:14px;display:flex}.goal-row:last-child{border-bottom:none}.goal-month-badge{color:var(--white);text-align:center;border-radius:6px;flex-shrink:0;min-width:72px;padding:3px 14px;font-size:12px;font-weight:700}.goal-month-badge.m4{background:#6c3fc5}.goal-month-badge.m5{background:#e86c2c}.goal-month-badge.m6{background:#0f9d6e}.goal-month-badge.m7{background:#2563eb}.sample-notice{border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:8px;margin-top:24px;padding:16px 20px;font-size:13px}.contact-form{max-width:480px;margin:0 auto}.contact-form label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.contact-form input,.contact-form textarea{border:1px solid var(--border);border-radius:8px;width:100%;margin-bottom:20px;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);outline:none}.contact-form textarea{resize:vertical;min-height:120px}@media (max-width:1024px){.hero .container{grid-template-columns:1fr;gap:40px}.hero-content h1{font-size:36px}.hero-badge-row{grid-template-columns:repeat(3,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.profile .container{grid-template-columns:220px 1fr;gap:40px}.profile-image{width:220px;height:220px;margin:0 auto}.plans-grid{grid-template-columns:repeat(3,1fr)}.plan-card.featured{transform:scale(1.02)}.footer .container,.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1023px){:root{--section-padding:60px 0}html{max-width:100vw;overflow-x:hidden}body{width:100vw;max-width:100vw;overflow-x:hidden}.container{box-sizing:border-box;width:100%;max-width:100vw;padding:0 16px}.hero:before{opacity:.7;width:80%;right:-20%}section,div,p,h1,h2,h3,ul,table,footer,header,nav,a,span{box-sizing:border-box;max-width:100vw}img,svg{max-width:100%;height:auto}.nav{display:none!important}.hamburger{display:flex!important}.nav.open{background:var(--white);z-index:10000;flex-direction:column;justify-content:center;align-items:center;gap:32px;padding-top:60px;position:fixed;inset:0;display:flex!important}.nav.open a{color:var(--text);font-size:20px;font-weight:500}.nav.open .nav-cta{margin-top:16px}.hero{align-items:stretch;min-height:100svh;display:flex;overflow:hidden}.hero .container{flex-direction:column;justify-content:flex-end;gap:0;min-height:100svh;padding-top:80px;padding-bottom:32px;display:flex;overflow:hidden}.hero-content{flex-direction:column;flex:1;justify-content:flex-end;display:flex;overflow:hidden}.hero-content h1{margin-bottom:20px;font-size:26px;line-height:1.6}.hero-description{margin-bottom:24px;font-size:14px;line-height:1.8}.hero-description br{display:none}.hero-content .btn{margin-bottom:16px}.hero-badges{flex-shrink:0;width:100%;overflow:hidden}.hero-badge-row{box-sizing:border-box;gap:4px;width:100%;display:flex}.hero-badge{box-sizing:border-box;border-radius:8px;flex:1 1 0;min-width:0;padding:10px 2px;overflow:hidden}.hero-badge-number{font-size:22px}.hero-badge-number span{font-size:14px!important}.hero-badge-label{font-size:9px;line-height:1.3}.btn{justify-content:center;width:100%;padding:14px 28px;font-size:14px}.section-label{letter-spacing:2px;font-size:12px}.section-title{font-size:22px}.section-subtitle{font-size:14px}.logo-bar{padding:40px 0}.logo-list{gap:10px}.logo-item{padding:8px 14px;font-size:12px}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:32px 24px}.stat-number{font-size:40px}.services-grid{grid-template-columns:1fr}.service-card{padding:28px 20px}.approach-grid{grid-template-columns:1fr;gap:24px}.approach-section-inner{padding:60px 0}.approach-title{font-size:22px}.approach-card{min-height:auto}.approach-card h3{font-size:16px}.flow-steps{grid-template-columns:1fr;gap:28px}.flow-step:not(:last-child):after{display:none}.flow-step{padding:0}.profile .container{text-align:center;grid-template-columns:1fr;gap:32px}.profile-image{width:180px;height:180px;margin:0 auto}.profile-name-ja{font-size:22px}.profile-tags{justify-content:center}.testimonials-grid{grid-template-columns:1fr}.testimonial-card{padding:28px 20px}.pricing-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.pricing-table-wrap table{min-width:600px;font-size:12px}.pricing-badges{flex-direction:column;gap:10px!important}.plans-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}.plan-card.featured{transform:none;box-shadow:0 12px 40px #9a071a1f}.plan-price{font-size:36px}.cta-section h2{font-size:22px}.cta-section p{font-size:14px}.cta-slots{padding:8px 16px;font-size:12px}.footer .container{grid-template-columns:1fr;gap:24px}.footer-bottom{text-align:center;flex-direction:column;gap:12px}.philosophy-heading{font-size:18px!important;line-height:2.4!important}.philosophy-sub{font-size:13px!important}.plan-hero{padding:100px 0 60px}.plan-hero h1{font-size:24px}.price-amount{font-size:36px}.features-grid,.who-grid{grid-template-columns:1fr}.comparison-links{flex-direction:column;align-items:center}.floating-cta{padding:12px 20px;font-size:13px;bottom:12px;right:12px}}
.header-module__bY5_QG__hamburger{display:none}@media (max-width:1023px){.header-module__bY5_QG__hamburger{display:flex}.header-module__bY5_QG__desktopNav{display:none}}
