:root{--cream: #F7F3EC;--warm-white: #FDFAF5;--sand: #E8DFD0;--terracotta: #C47A50;--terracotta-dark: #A5603A;--terracotta-light: #D4956A;--moss: #6B7C5C;--moss-light: #8A9E78;--navy: #1B3A5C;--navy-light: #2E5B8A;--charcoal: #2C2A27;--mid: #6B6560;--light-text: #9B948D;--gold: #B8976A;--line: #D5D0C8}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,sans-serif;font-weight:300;color:var(--charcoal);background:var(--warm-white);line-height:1.9;font-size:15px;overflow-x:hidden}.container{max-width:1080px;margin:0 auto;padding:0 24px}.section{padding:100px 0}.section--alt{background:var(--cream)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fdfaf5eb;backdrop-filter:blur(16px);border-bottom:1px solid rgba(213,208,200,.4);transition:all .3s ease}.nav.scrolled{box-shadow:0 2px 20px #0000000f}.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:600;color:var(--navy);letter-spacing:1px;text-decoration:none}.nav-logo span{color:var(--terracotta)}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{text-decoration:none;color:var(--mid);font-size:13px;font-weight:400;letter-spacing:.5px;transition:color .2s}.nav-links a:hover{color:var(--terracotta)}.nav-cta{background:var(--terracotta)!important;color:#fff!important;padding:8px 20px;border-radius:2px;font-weight:500!important;transition:background .2s!important}.nav-cta:hover{background:var(--terracotta-dark)!important}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px}.mobile-menu-btn span{display:block;width:22px;height:1.5px;background:var(--charcoal);margin:5px 0;transition:all .3s}.hero{min-height:100vh;display:flex;align-items:center;background:url(/images/hero-bg.jpg) 95% center / cover no-repeat;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,#1b3a5cd9,#1e4a6ecc,#162f4ae0)}.hero:after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 Q35 15 30 30 Q25 15 30 0' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");opacity:.6}.hero-content{position:relative;z-index:2;max-width:1080px;margin:0 auto;padding:0 32px;text-align:center}.hero-tag{font-family:Cormorant Garamond,serif;font-size:14px;letter-spacing:6px;color:#ffffff73;text-transform:uppercase;margin-bottom:40px;opacity:0;animation:fadeUp 1s .3s forwards}.hero h1{font-family:Zen Old Mincho,serif;font-size:clamp(28px,5vw,52px);font-weight:700;color:#fff;line-height:1.5;letter-spacing:4px;margin-bottom:24px;opacity:0;animation:fadeUp 1s .6s forwards}.hero h1 em{font-style:normal;color:var(--terracotta-light)}.hero-sub{font-size:clamp(14px,2vw,17px);color:#fff9;line-height:2;max-width:600px;margin:0 auto 48px;opacity:0;animation:fadeUp 1s .9s forwards}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp 1s 1.2s forwards}.btn{display:inline-block;padding:14px 36px;font-size:14px;font-weight:500;letter-spacing:1px;text-decoration:none;border-radius:2px;transition:all .3s ease;cursor:pointer;border:none}.btn--primary{background:var(--terracotta);color:#fff}.btn--primary:hover{background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:0 8px 24px #c47a504d}.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn--ghost:hover{border-color:#fff;background:#ffffff14}.btn--outline{border:1px solid var(--line);color:var(--charcoal);background:transparent}.btn--outline:hover{border-color:var(--terracotta);color:var(--terracotta)}.btn--moss{background:var(--moss);color:#fff}.btn--moss:hover{background:var(--moss-light);transform:translateY(-2px)}.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translate(-50%);opacity:0;animation:fadeUp 1s 1.5s forwards}.hero-scroll span{display:block;width:1px;height:40px;background:#ffffff4d;margin:0 auto 8px;position:relative;overflow:hidden}.hero-scroll span:after{content:"";position:absolute;top:-40px;left:0;width:1px;height:40px;background:#fffc;animation:scrollLine 2s infinite}.hero-scroll small{font-size:10px;letter-spacing:3px;color:#ffffff59;text-transform:uppercase}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollLine{0%{transform:translateY(0)}to{transform:translateY(80px)}}.section-header{text-align:center;margin-bottom:64px}.section-header .tag{font-family:Cormorant Garamond,serif;font-size:13px;letter-spacing:4px;color:var(--terracotta);text-transform:uppercase;margin-bottom:16px}.section-header h2{font-family:Zen Old Mincho,serif;font-size:clamp(22px,3.5vw,32px);font-weight:700;color:var(--navy);line-height:1.5;letter-spacing:2px}.section-header .line{width:48px;height:2px;background:var(--terracotta);margin:20px auto 0}.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}.principle{padding:40px 32px;background:#fff;border:1px solid var(--line);border-radius:2px;transition:all .4s ease;position:relative}.principle:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f;border-color:var(--terracotta)}.principle-num{font-family:Cormorant Garamond,serif;font-size:48px;font-weight:300;color:var(--sand);line-height:1;margin-bottom:16px}.principle h3{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:16px;line-height:1.6}.principle p{font-size:14px;color:var(--mid);line-height:2}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.feature{display:flex;gap:16px;padding:24px;background:#fff;border-radius:2px;border:1px solid transparent;transition:all .3s}.feature:hover{border-color:var(--line)}.feature-icon{flex-shrink:0;width:40px;height:40px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--terracotta)}.feature h4{font-size:14px;font-weight:700;color:var(--charcoal);margin-bottom:6px}.feature p{font-size:13px;color:var(--mid);line-height:1.8}.pain-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.pain-item{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:#fff;border-left:3px solid var(--terracotta);border-radius:0 2px 2px 0}.pain-item:before{content:"✓";flex-shrink:0;width:24px;height:24px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--terracotta);font-weight:700}.pain-item p{font-size:14px;color:var(--charcoal);line-height:1.8}.pain-cta{text-align:center;margin-top:48px;font-size:15px;color:var(--mid)}.about-text{text-align:center}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:32px}.course-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:all .4s}.course-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f}.course-card-top{padding:8px 32px;font-size:12px;letter-spacing:2px;font-weight:500}.course-card-top.seminar{background:var(--moss);color:#fff}.course-card-top.basic{background:var(--navy);color:#fff}.course-card-body{padding:32px}.course-card h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:16px;line-height:1.5}.course-card p{font-size:14px;color:var(--mid);line-height:2;margin-bottom:24px}.course-card .btn{width:100%;text-align:center}.trust-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center;margin-bottom:80px}.trust-num{padding:32px 16px;border-right:1px solid var(--line)}.trust-num:last-child{border-right:none}.trust-num .number{font-family:Cormorant Garamond,serif;font-size:clamp(36px,5vw,56px);font-weight:300;color:var(--navy);line-height:1}.trust-num .number span{font-size:.5em}.trust-num .label{font-size:13px;color:var(--light-text);margin-top:8px;letter-spacing:1px}.voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.voice{padding:32px;background:#fff;border:1px solid var(--line);border-radius:2px;position:relative}.voice:before{content:"“";position:absolute;top:16px;left:24px;font-family:Cormorant Garamond,serif;font-size:64px;color:var(--sand);line-height:1}.voice p{font-size:14px;color:var(--charcoal);line-height:2;padding-top:24px}.profile{display:flex;gap:48px;align-items:center;max-width:800px;margin:0 auto}.profile-photo{flex-shrink:0;width:200px;height:200px;background:var(--sand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:48px;color:var(--mid)}.profile-info h3{font-family:Zen Old Mincho,serif;font-size:20px;font-weight:700;color:var(--navy);margin-bottom:4px}.profile-info .title{font-size:13px;color:var(--light-text);margin-bottom:20px;line-height:1.8}.profile-info p{font-size:14px;color:var(--mid);line-height:2}.subhero{padding:140px 0 80px;background:linear-gradient(160deg,#1b3a5c,#2e5b8a);text-align:center;color:#fff}.subhero .tag{font-family:Cormorant Garamond,serif;font-size:13px;letter-spacing:4px;color:#ffffff73;text-transform:uppercase;margin-bottom:16px}.subhero h1{font-family:Zen Old Mincho,serif;font-size:clamp(22px,4vw,36px);font-weight:700;letter-spacing:2px;line-height:1.5}.subhero p{font-size:15px;color:#fff9;margin-top:16px;max-width:640px;margin-left:auto;margin-right:auto;line-height:2}.curriculum{max-width:760px;margin:0 auto}.phase-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.phase-badge{padding:6px 20px;background:var(--navy);color:#fff;font-size:13px;font-weight:500;letter-spacing:1px;border-radius:2px}.phase-title{font-size:18px;font-weight:700;color:var(--charcoal)}.curriculum-block{margin-bottom:40px}.curriculum-block h4{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.curriculum-block p{font-size:14px;color:var(--mid);line-height:2}.info-table{max-width:600px;margin:0 auto}.info-row{display:flex;border-bottom:1px solid var(--line);padding:16px 0}.info-label{flex-shrink:0;width:120px;font-size:13px;font-weight:500;color:var(--navy);letter-spacing:.5px}.info-value{font-size:14px;color:var(--charcoal)}.timeline{max-width:600px;margin:0 auto}.timeline-item{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.timeline-time{flex-shrink:0;width:120px;font-size:14px;font-weight:500;color:var(--terracotta)}.timeline-content h4{font-size:14px;font-weight:700;color:var(--charcoal);margin-bottom:4px}.timeline-content p{font-size:13px;color:var(--mid)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.blog-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;transition:all .4s}.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000000f}.blog-card img{width:100%;height:200px;object-fit:cover}.blog-card-body{padding:24px}.blog-card-body .category{display:inline-block;font-size:11px;letter-spacing:1px;color:var(--terracotta);font-weight:500;text-transform:uppercase;margin-bottom:8px}.blog-card-body h3{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:8px;line-height:1.6}.blog-card-body p{font-size:13px;color:var(--mid);line-height:1.8}.blog-card-body .date{font-size:12px;color:var(--light-text);margin-top:12px}.blog-card a{text-decoration:none;color:inherit;display:block}.blog-detail{max-width:760px;margin:0 auto}.blog-detail .meta{font-size:13px;color:var(--light-text);margin-bottom:32px;text-align:center}.blog-detail .body{font-size:15px;line-height:2.2;color:var(--charcoal)}.blog-detail .body h2{font-family:Zen Old Mincho,serif;font-size:22px;font-weight:700;color:var(--navy);margin:48px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.blog-detail .body h3{font-size:18px;font-weight:700;color:var(--navy);margin:32px 0 12px}.blog-detail .body p{margin-bottom:24px}.blog-detail .body img{max-width:100%;height:auto;border-radius:2px;margin:24px 0}.blog-detail .body ul,.blog-detail .body ol{margin:16px 0 24px 24px}.blog-detail .body li{margin-bottom:8px}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--navy);margin-bottom:8px;letter-spacing:.5px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:2px;font-family:Noto Sans JP,sans-serif;font-size:14px;color:var(--charcoal);background:#fff;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--terracotta)}.form-group textarea{min-height:160px;resize:vertical}.footer{background:var(--charcoal);color:#ffffff80;padding:64px 0 32px;font-size:13px}.footer-inner{max-width:1080px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px}.footer-brand{font-family:Cormorant Garamond,serif;font-size:20px;color:#fff;margin-bottom:12px}.footer-contact{line-height:2}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{color:#ffffff80;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-copy{text-align:center;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#ffffff4d}@media(max-width:768px){.nav-links{display:none}.nav-links.open{display:flex;position:fixed;top:64px;right:0;width:220px;background:var(--warm-white);box-shadow:-4px 0 24px #0000001f;flex-direction:column;align-items:flex-start;padding:24px 28px;gap:16px;z-index:98;border-radius:0 0 0 8px}.nav-links.open a{font-size:15px;color:var(--charcoal)}.nav-links.open .nav-cta{margin-top:8px;text-align:center;width:100%}.menu-overlay{display:none;position:fixed;inset:0;background:#0000004d;z-index:97}.menu-overlay.open,.mobile-menu-btn{display:block}.mobile-menu-btn.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.courses-grid,.trust-numbers{grid-template-columns:1fr}.trust-num{border-right:none;border-bottom:1px solid var(--line);padding:24px 16px}.trust-num:last-child{border-bottom:none}.profile{flex-direction:column;text-align:center}.profile-photo{width:160px;height:160px}.footer-inner{flex-direction:column}.section{padding:72px 0}.hero-content{padding:0 20px}.principles{grid-template-columns:1fr}.info-row{flex-direction:column;gap:4px}.info-label{width:auto}.timeline-item{flex-direction:column;gap:8px}.timeline-time{width:auto}.about-text{text-align:left}}.starter-item{display:flex;align-items:center;gap:20px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:2px;text-decoration:none;transition:all .3s ease}.starter-item:hover{border-color:var(--terracotta);transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.starter-num{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:300;color:var(--terracotta);flex-shrink:0;width:40px}.starter-content{flex:1}.starter-label{font-size:12px;color:var(--terracotta);letter-spacing:.5px;margin-bottom:4px}.starter-title{font-size:15px;font-weight:500;color:var(--charcoal);line-height:1.6}.starter-arrow{font-size:18px;color:var(--light-text);flex-shrink:0;transition:transform .2s}.starter-item:hover .starter-arrow{transform:translate(4px);color:var(--terracotta)}@media(max-width:768px){.starter-item{padding:16px 20px;gap:16px}.starter-num{font-size:24px;width:32px}.starter-title{font-size:14px}}.seminar-feed{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.seminar-feed-item{display:flex;align-items:center;gap:20px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--terracotta);border-radius:0 2px 2px 0;text-decoration:none;transition:all .3s ease}.seminar-feed-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.seminar-feed-date{font-size:13px;color:var(--terracotta);flex-shrink:0;min-width:120px}.seminar-feed-title{font-size:15px;font-weight:500;color:var(--charcoal);line-height:1.6;flex:1}.seminar-feed-arrow{font-size:18px;color:var(--light-text);flex-shrink:0;transition:transform .2s}.seminar-feed-item:hover .seminar-feed-arrow{transform:translate(4px);color:var(--terracotta)}@media(max-width:768px){.seminar-feed-item{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}.seminar-feed-date{min-width:auto}.seminar-feed-arrow{display:none}}.hero-scroll{position:absolute;bottom:40px;left:0;right:0;display:flex;flex-direction:column;align-items:center;z-index:2}@media(max-width:768px){.hero-scroll{bottom:24px}.hero{min-height:100svh}}
