@import "https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;600&display=swap";:root{--green-primary:#123524;--green-dark:#0a2015;--green-light:#1e4a34;--gold-accent:#c6a052;--gold-light:#e6c875;--cream-bg:#f9f8f3;--cream-card:#f2efe6;--kids-blue:#2a7b9b;--kids-blue-dark:#0369a1;--kids-gold:#e5a93c;--sky-blue:#e8f4f8;--sky-blue-card:#f0f9ff;--sky-blue-border:#b8e0ed;--text-dark:#222;--text-muted:#555;--white:#fff;--shadow-subtle:0 10px 30px #0000000d;--shadow-hover:0 18px 40px #0000001f;--radius-md:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--cream-bg);color:var(--text-dark);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,sans-serif;line-height:1.7}h1,h2,h3,.brand-font{font-family:Cinzel,serif}.kids-font{font-family:"M PLUS Rounded 1c",sans-serif}a{color:inherit;text-decoration:none}header{background-color:var(--green-primary);color:var(--white);z-index:1000;border-bottom:3px solid var(--gold-accent);position:sticky;top:0;box-shadow:0 4px 20px #00000026}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex}.logo-area{flex-direction:column;display:flex}.logo-main{letter-spacing:1px;color:var(--white);font-family:Cinzel,serif;font-size:1.4rem;font-weight:700;line-height:1.2;display:block}.logo-sub{color:var(--gold-accent);letter-spacing:2px;text-transform:uppercase;font-size:.72rem;font-weight:500;display:block}nav ul{align-items:center;gap:2rem;list-style:none;display:flex}nav a{padding:.3rem 0;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}nav a:hover,nav a.active{color:var(--gold-accent)}nav a.active{font-weight:700}.btn-nav-book{background-color:var(--gold-accent);color:var(--green-dark);cursor:pointer;border:none;border-radius:50px;padding:.5rem 1.2rem;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #c6a0524d}.btn-nav-book:hover{background-color:var(--gold-light);transform:translateY(-2px)}.btn-kids-nav{background-color:var(--kids-gold);color:var(--white);cursor:pointer;border:none;border-radius:50px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:800}.hero{background:linear-gradient(180deg, var(--green-primary) 0%, var(--green-dark) 100%);color:var(--white);text-align:center;padding:4rem 2rem 6rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 30%,#c6a05226 0%,#0000 70%);position:absolute;inset:0}.hero-content{z-index:1;max-width:900px;margin:0 auto;position:relative}.hero-badge{border:1px solid var(--gold-accent);color:var(--gold-light);letter-spacing:1px;background:#c6a05233;border-radius:50px;margin-bottom:1.5rem;padding:.3rem 1.2rem;font-size:.85rem;font-weight:700;display:inline-block}.hero-title{letter-spacing:2px;color:#fff;margin-bottom:.5rem;font-size:2.8rem;font-weight:700;line-height:1.2}.hero-subtitle-jp{color:#ffffffe6;margin-bottom:1rem;font-size:1.15rem;font-weight:500}.hero-description{color:#fffc;max-width:720px;margin:0 auto 3rem;font-size:.95rem;line-height:1.8}.kids-hero{text-align:center;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);padding:4rem 1.5rem 3rem}.kids-hero-container{max-width:800px;margin:0 auto}.hero-mascot-badge{background:var(--white);color:var(--kids-blue-dark);border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.2rem;padding:.4rem 1.2rem;font-size:.9rem;font-weight:800;display:inline-flex;box-shadow:0 4px 10px #0000000d}.kids-title{color:var(--kids-blue-dark);margin-bottom:.8rem;font-family:"M PLUS Rounded 1c",sans-serif;font-size:2.2rem;font-weight:800}.kids-subtitle{color:#334155;font-size:1rem;line-height:1.8}.paths-container{z-index:10;grid-template-columns:1fr 1fr;gap:2rem;max-width:1100px;margin:-3rem auto 4rem;padding:0 1.5rem;display:grid;position:relative}.path-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);border:1px solid #0000000f;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.path-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-8px)}.path-card.adult{border-top:6px solid var(--green-primary)}.path-card.adult .card-header{background-color:#fafaf8;border-bottom:1px solid #eee;padding:1.8rem}.path-card.adult .card-tag{color:var(--green-primary);letter-spacing:1.5px;font-size:.8rem;font-weight:700}.path-card.adult .card-title-jp{color:var(--green-dark);margin:.3rem 0;font-size:1.6rem;font-weight:700}.path-card.adult .card-subtitle-en{color:var(--gold-accent);font-family:Cinzel,serif;font-size:.95rem;font-weight:600}.path-card.adult .card-subtitle-jp{color:var(--gold-accent);font-size:.9rem;font-weight:600}.path-card.kids{border-top:6px solid var(--kids-blue)}.path-card.kids .card-header{background-color:var(--sky-blue);border-bottom:1px solid var(--sky-blue-border);padding:1.8rem}.path-card.kids .card-tag{color:var(--kids-blue);letter-spacing:1.5px;font-size:.8rem;font-weight:800}.path-card.kids .card-title-jp{color:var(--kids-blue);margin:.3rem 0;font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.6rem;font-weight:800}.path-card.kids .card-subtitle-en{color:var(--kids-gold);font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.05rem;font-weight:800}.card-body{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.card-image-area{border-radius:var(--radius-md);height:180px;margin-bottom:1.5rem;position:relative;overflow:hidden}.path-card.adult .card-image-area{background:url(https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=800&q=80) 50%/cover}.path-card.kids .card-image-area{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);justify-content:center;align-items:center;display:flex}.owl-mascot-container{align-items:center;gap:1.2rem;padding:1rem;display:flex}.owl-avatar{background:var(--white);border:4px solid var(--kids-gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:3.2rem;display:flex;position:relative;box-shadow:0 8px 16px #00000014}.owl-badge-name{background:var(--kids-gold);color:var(--white);white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:.7rem;font-weight:800;position:absolute;bottom:-6px}.owl-intro-text{color:#0369a1;font-family:"M PLUS Rounded 1c",sans-serif;font-size:.88rem;font-weight:700;line-height:1.5}.feature-list{flex-grow:1;margin-bottom:2rem;list-style:none}.feature-list li{align-items:flex-start;gap:.6rem;padding:.5rem 0;font-size:.95rem;display:flex}.adult .feature-list .check{color:var(--green-primary);font-weight:700}.kids .feature-list .check{color:var(--kids-gold);font-weight:700}.btn-card{text-align:center;cursor:pointer;border:none;border-radius:50px;padding:1rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s;display:block}.btn-adult{background-color:var(--green-primary);color:var(--white)}.btn-adult:hover{background-color:var(--green-dark)}.btn-kids{background-color:var(--kids-gold);color:var(--white);font-family:"M PLUS Rounded 1c",sans-serif}.btn-kids:hover{background-color:#d6982b}.roadmap-section{max-width:850px;margin:0 auto;padding:3rem 1.5rem 4rem}.roadmap-arrow{text-align:center;color:#94a3b8;margin:.8rem 0;font-size:1.8rem;font-weight:700}.roadmap-card{background:var(--white);box-shadow:var(--shadow-subtle);border-left:8px solid #cbd5e1;border-radius:20px;padding:2rem;position:relative}.step-badge{background:var(--kids-blue-dark);color:var(--white);letter-spacing:1px;border-radius:20px;padding:2px 12px;font-size:.75rem;font-weight:800;position:absolute;top:-12px;right:20px}.step-foundation{border-left-color:#22c55e}.step-beginner{border-left-color:#16a34a}.step-developing{border-left-color:#0284c7}.step-independent{border-left-color:#9333ea}.step-confident{border-left-color:#ea580c}.step-advanced{border-left-color:#eab308}.roadmap-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.icon-circle{font-size:2.2rem}.stage-title{color:#0f172a;font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.35rem;font-weight:800}.stage-sub{color:var(--text-muted);font-size:.88rem;font-weight:700}.target-age{color:#475569;background:#f1f5f9;border-radius:8px;margin-left:auto;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.stage-desc{color:#334155;margin-bottom:1.2rem;font-size:.92rem;line-height:1.7}.outcomes-box{background:var(--sky-blue-card);border:1px solid #e0f2fe;border-radius:12px;padding:1.2rem}.outcomes-title{color:var(--kids-blue-dark);margin-bottom:.5rem;font-size:.88rem;font-weight:800}.outcomes-box ul{padding:0;list-style:none}.outcomes-box li{color:#475569;padding:.25rem 0 .25rem 1.2rem;font-size:.88rem;position:relative}.outcomes-box li:before{content:"・";color:var(--kids-blue-dark);font-weight:700;position:absolute;left:0}.ollie-callout-section{max-width:850px;margin:1rem auto 4rem;padding:0 1.5rem}.ollie-callout-box{background:#fef3c7;border:2px dashed #f59e0b;border-radius:20px;align-items:center;gap:1.5rem;padding:2rem;display:flex}.ollie-avatar{background:var(--white);border:3px solid #f59e0b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:85px;height:85px;font-size:3.5rem;display:flex}.ollie-message h3{color:#b45309;margin-bottom:.3rem;font-size:1.15rem;font-weight:800}.ollie-message p{color:#78350f;font-size:.9rem;font-weight:600;line-height:1.7}.story-section{background-color:var(--cream-card);border-top:1px solid #e2ded4;border-bottom:1px solid #e2ded4;padding:5rem 2rem}.story-container{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;max-width:1000px;margin:0 auto;display:grid}.story-badge{color:var(--gold-accent);letter-spacing:2px;margin-bottom:.5rem;font-size:.85rem;font-weight:700}.story-title{color:var(--green-primary);margin-bottom:1.2rem;font-size:1.8rem;line-height:1.4}.story-text{color:var(--text-muted);margin-bottom:1rem;font-size:.95rem;line-height:1.8}.sheffield-badge-box{background:var(--white);border-radius:var(--radius-md);border:2px dashed var(--gold-accent);text-align:center;padding:2.5rem}.sheffield-icon{vertical-align:middle;width:auto;height:clamp(6rem,8vw,10rem);margin-right:.5ch;display:inline-block}.sheffield-badge-title{color:var(--green-primary);font-family:Cinzel,serif;font-size:1.3rem;font-weight:700}.philosophy-section{max-width:950px;margin:0 auto;padding:4rem 2rem 1rem}.philosophy-card{background:var(--cream-card);border:2px dashed var(--gold-accent);border-radius:var(--radius-lg);text-align:center;padding:2.5rem}.philosophy-badge{color:var(--gold-accent);letter-spacing:2px;margin-bottom:.6rem;font-size:.8rem;font-weight:700}.philosophy-title{color:var(--green-primary);margin-bottom:1.2rem;font-size:1.6rem;font-weight:700;line-height:1.4}.philosophy-text{color:var(--text-muted);margin-bottom:.8rem;font-size:.98rem;line-height:1.8}.philosophy-text:last-child{margin-bottom:0}.courses-section{max-width:1100px;margin:0 auto;padding:5rem 2rem}.section-header{text-align:center;margin-bottom:3rem}.section-title-en{color:var(--gold-accent);letter-spacing:2px;font-size:.9rem;font-weight:700}.section-title-jp{color:var(--green-primary);font-size:2rem;font-weight:700}.tabs-nav{justify-content:center;gap:1rem;margin-bottom:2.5rem;display:flex}.tab-btn{border:2px solid var(--green-primary);color:var(--green-primary);cursor:pointer;background:0 0;border-radius:50px;padding:.8rem 2rem;font-weight:700;transition:all .2s}.tab-btn.active{background-color:var(--green-primary);color:var(--white)}.course-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.course-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);border:1px solid #eee;padding:2rem}.course-card-tag{background:var(--cream-card);color:var(--green-primary);border-radius:4px;margin-bottom:1rem;padding:.2rem .8rem;font-size:.75rem;font-weight:700;display:inline-block}.course-card-title{color:var(--green-primary);margin-bottom:.8rem;font-size:1.25rem;font-weight:700}.course-card-desc{color:var(--text-muted);font-size:.9rem;line-height:1.7}.adult-featured-card,.adult-course-card{border-top:5px solid var(--green-primary);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);border:1px solid #eee;flex-direction:column;justify-content:space-between;padding:2rem;display:flex}.adult-course-card .course-card-desc{margin-bottom:.8rem}.adult-course-card .highlight-text{color:var(--green-primary);margin-bottom:1.5rem;font-weight:500}.adult-course-card .btn-card{margin-top:auto}.course-outcomes{margin:1.2rem 0 1.8rem;padding:0;list-style:none}.course-outcomes li{color:var(--text-dark);padding:.3rem 0;font-size:.88rem;line-height:1.5}.cta-banner{background:linear-gradient(135deg, var(--green-primary) 0%, var(--green-dark) 100%);color:var(--white);text-align:center;padding:4rem 2rem}.btn-cta-gold{background-color:var(--gold-accent);color:var(--green-dark);cursor:pointer;border:none;border-radius:50px;padding:1.1rem 3rem;font-size:1.1rem;font-weight:800;transition:all .2s}.btn-cta-gold:hover{background-color:var(--gold-light);transform:scale(1.03)}.kids-cta{background:var(--kids-blue-dark);color:var(--white);text-align:center;padding:4rem 1.5rem}.kids-cta h2{margin-bottom:.8rem;font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.7rem;font-weight:800}.kids-cta p{opacity:.9;margin-bottom:2rem;font-size:.95rem}.btn-kids-cta{background:var(--kids-gold);color:var(--white);border-radius:50px;padding:1rem 2.2rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 4px 15px #00000026}footer{color:#fff9;background-color:#07160e;padding:3rem 2rem 2rem;font-size:.85rem}.footer-container{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding-bottom:2rem;display:flex}.footer-copy{text-align:center;padding-top:1.5rem;font-size:.8rem}.modal-overlay{z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-card{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:520px;padding:2.5rem;position:relative}.modal-close{cursor:pointer;background:0 0;border:none;font-size:1.5rem;position:absolute;top:1.2rem;right:1.2rem}.form-group{margin-bottom:1.2rem}.form-group label{margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #ccc;border-radius:8px;width:100%;padding:.75rem}.btn-submit{background:var(--green-primary);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:50px;padding:.9rem;font-weight:700}.form-success{text-align:center;padding:2rem 1rem}.form-success h3{margin-bottom:1rem}.form-success p{line-height:1.8}@media (width<=850px){.paths-container,.story-container{grid-template-columns:1fr}.hero-title{font-size:2.1rem}nav ul{display:none}}@media (width<=600px){.ollie-callout-box{text-align:center;flex-direction:column}.target-age{text-align:center;width:100%;margin-left:0}.kids-title{font-size:1.8rem}}.hamburger-toggle{cursor:pointer;z-index:1002;pointer-events:auto;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;padding:0;display:none}.hamburger-toggle span{background-color:var(--white);border-radius:3px;width:100%;height:3px;transition:all .3s ease-in-out;display:block}.hamburger-toggle.active span:first-child{transform:translateY(9px)rotate(45deg)}.hamburger-toggle.active span:nth-child(2){opacity:0}.hamburger-toggle.active span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}@media (width<=768px){.hamburger-toggle{display:flex}.nav-menu{z-index:1001;background-color:#fff;width:250px;height:100vh;padding:80px 20px 20px;transition:right .3s ease-in-out;position:fixed;top:0;box-shadow:-2px 0 10px #00000026;display:flex!important;right:-100%!important}.nav-menu.open{right:0!important}.nav-menu ul{flex-direction:column;align-items:flex-start;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-menu ul li{width:100%}.nav-menu ul li a{text-align:left;width:100%;color:var(--green-primary);padding:.5rem 0;font-size:1.1rem;font-weight:700;display:block}.nav-menu ul li a:hover{color:var(--gold-accent)}.nav-menu ul li .btn-nav-book{text-align:center;background-color:var(--gold-accent);width:100%;color:var(--green-dark);border-radius:50px;margin-top:1rem;padding:.8rem 1rem}}
