:root{--ink:#142f39;--teal:#086a60;--paper:#f6f8f6;--line:#dbe4e1;--accent:#efba64;--muted:#51696d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;color:var(--ink);font-size:16px;line-height:1.9;background:white}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:5px}img{max-width:100%}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand{display:flex;align-items:center;gap:12px;font-weight:750;text-decoration:none;line-height:1.4}.brand b{display:block}.brand-mark{background:var(--teal);color:white;padding:10px 14px;border-radius:50%;font-size:24px}.header nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:bold}.header nav a{text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:var(--teal);color:white;padding:18px 24px;border:0;border-radius:7px;text-decoration:none;font-weight:700;cursor:pointer;line-height:1.6;min-height:48px}.button:hover{background:#054f48}.small-button{padding:12px 18px}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:55px;align-items:center;padding:45px 0 76px}.release{display:inline-block;border:1px solid #adc5bc;border-radius:50px;font-size:14px;padding:5px 14px;background:#f1f7f4;font-weight:bold}.eyebrow{font-size:13px;font-weight:750;letter-spacing:.12em;color:var(--teal);margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.4vw,59px);line-height:1.5;letter-spacing:-.045em;margin-bottom:23px}.underline{background:linear-gradient(transparent 80%,#f6d89b 80%)}.lead{font-size:18px;margin-bottom:26px}.small{font-size:13px;line-height:1.8;color:var(--muted);margin-top:12px}.hero-panel{background:#faf4e8;border-radius:20px;overflow:hidden;border:1px solid #e6dfd0;box-shadow:16px 18px 0 #eaf1ed;transform:rotate(1deg)}.panel-top,.panel-footer{display:flex;justify-content:space-between;gap:15px;padding:15px 24px;font-size:12px;font-weight:bold;background:#fffaf0}.panel-top b{color:var(--teal)}.scene{background-image:url('scenes.png');background-size:400% 300%;background-repeat:no-repeat;aspect-ratio:1}.hero-scene{background-position:0 50%;width:65%;margin:5px auto}.panel-copy{padding:2px 30px 20px}.panel-copy h2{font-size:25px;line-height:1.6;margin-bottom:10px}.panel-copy p:last-child{font-size:13px;margin:0}.panel-footer{border-top:1px solid #e0dfd3}.metrics{background:var(--ink);color:white}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 0;gap:20px}.metric-grid>div{padding:0 15px;border-left:1px solid #516570}.metric-grid strong{font-size:38px;line-height:1.4}.metric-grid strong span{font-size:16px;margin-left:7px}.metric-grid p{font-size:13px;margin:4px 0 0;color:#d8e7e3}.section{padding-top:85px;padding-bottom:85px}.section-heading{margin-bottom:38px}h2{font-size:34px;line-height:1.6;letter-spacing:-.025em;margin-bottom:20px}h3{font-size:21px;line-height:1.6}.section-heading p:last-child{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.feature-grid article{border-top:2px solid var(--teal);padding-top:20px}.number{font-size:35px;color:#6a9e90;line-height:1}.feature-grid h3{margin-top:20px}.feature-grid p{color:var(--muted)}.curriculum{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:60px}.note{font-size:13px;border-left:3px solid #c69d4e;padding:10px 16px;color:var(--muted);margin-top:26px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.topic-grid>div{background:white;border:1px solid var(--line);padding:23px;border-radius:8px}.topic-grid span{color:var(--teal);font-weight:bold;font-size:13px}.topic-grid h3{font-size:18px;margin:10px 0}.topic-grid p{font-size:14px;color:var(--muted);margin:0}.compass{display:grid;grid-template-columns:.8fr 1fr;gap:65px;align-items:center}.compass-art{background:#edf3ef;border-radius:50% 50% 12px 12px;padding:25px}.team-scene{background-position:33.333% 100%;width:100%}.checks{padding:0;list-style:none}.checks li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--line)}.checks li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:bold}.comparison{background:#f4f7f8}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:14px;background:white;min-width:830px}th,td{padding:20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;width:25%}th:first-child{width:16%}thead th{background:#e8eef0;font-size:16px}thead span{display:block;font-size:12px;font-weight:normal;margin-top:5px}.ours{background:#eaf4ef}thead .ours{background:var(--teal);color:white}.comparison-note{max-width:980px}.plans{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.base-plan{border:2px solid var(--teal);border-radius:12px;padding:32px;background:#f7fbf8}.plan-number{font-size:23px}.plan-number strong{font-size:64px;line-height:1.2;margin:0 5px;color:var(--teal)}.plan-price{font-size:22px;font-weight:bold;border-top:1px solid var(--line);padding-top:22px}.option-plans{display:grid;gap:22px}.option-plans article{padding:30px;border:1px solid var(--line);border-radius:12px}.option-plans p:last-child{margin:0;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:50px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:17px;font-weight:bold}details p{margin:15px 0 0;color:var(--muted)}.reservation{background:var(--ink);color:white}.reservation .eyebrow{color:#e8c787}.reserve-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.reservation h2{font-size:36px}.reservation .small{color:#d4e2df}.steps{padding-left:25px;margin:30px 0}.steps li{padding:10px}.reserve-form{background:white;color:var(--ink);padding:32px;border-radius:12px}.reserve-form .small{color:var(--muted)}.reserve-form h3{font-size:25px}.reserve-form label{display:block;font-size:14px;font-weight:bold;margin-bottom:19px}.reserve-form label>span:not(:last-child),label>span.optional{font-size:12px;color:var(--teal);padding-left:6px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #a9bdb6;border-radius:5px;background:white;color:var(--ink);padding:10px 12px;margin-top:7px;font-size:16px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:normal!important}.consent input{flex:none;width:18px;height:18px;margin-top:5px}.reserve-form button{width:100%}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.error{padding:15px;background:#fff0ea;border:1px solid #a23e20;color:#852c15}.footer{display:flex;justify-content:space-between;gap:35px;padding-top:38px;padding-bottom:38px;font-size:13px}.footer .brand{font-size:18px}.footer p{margin:12px 0 0}.footer>div:last-child{display:flex;gap:15px;flex-wrap:wrap;align-content:flex-start;justify-content:flex-end}.receipt{padding-top:90px;padding-bottom:80px;max-width:850px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.admin-table{min-width:1000px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.admin-head h1{font-size:32px}.admin-table td{overflow-wrap:anywhere}.admin-table input,.admin-table select{font-size:14px}.admin-table form{margin-bottom:10px}
@media(max-width:900px){.hero{gap:30px}.header nav>a:not(.button){display:none}.hero h1{font-size:40px}.hero .button{font-size:14px}.split,.compass,.reserve-grid{gap:30px}.feature-grid{gap:25px}.panel-copy h2{font-size:22px}.wrap{width:calc(100% - 40px)}h2{font-size:29px}.metric-grid strong{font-size:30px}}
@media(max-width:650px){.header{padding:15px 0}.brand{font-size:13px;gap:8px}.brand-mark{font-size:18px;padding:8px 12px}.small-button{font-size:12px;padding:10px 12px}.hero{grid-template-columns:1fr;padding-top:20px;padding-bottom:42px;gap:28px}.hero h1{font-size:43px}.lead{font-size:17px}.hero-panel{transform:none;box-shadow:7px 8px 0 #eaf1ed;max-width:460px}.hero-scene{width:65%}.panel-copy h2{font-size:23px}.metric-grid{grid-template-columns:1fr 1fr;gap:24px}.section{padding-top:55px;padding-bottom:55px}.feature-grid,.split,.compass,.plans,.faq,.reserve-grid{grid-template-columns:1fr}.feature-grid{gap:22px}.feature-grid article{padding-top:15px}.number{font-size:27px}.feature-grid h3{margin-top:10px;margin-bottom:10px}.topic-grid{gap:12px}.topic-grid>div{padding:18px}.topic-grid h3{font-size:17px}.compass-art{max-width:330px;margin:auto;width:100%}.compass{gap:24px}.reserve-form{padding:22px}.reserve-grid{gap:25px}.form-row{grid-template-columns:1fr;gap:0}.footer{display:block}.footer>div:last-child{justify-content:flex-start;margin-top:22px}.reservation h2{font-size:31px}.section-heading{margin-bottom:27px}.base-plan{padding:24px}.receipt{padding-top:50px}.receipt h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.philosophy-band{background:#143d3b;color:#fff}.philosophy-band .eyebrow{color:#f1ce8b}.philosophy-band .small{color:#d1e5df}.plan-price strong{font-size:36px;color:var(--teal)}.plan-price>span{display:block;font-size:14px;font-weight:normal}.setup-price{padding-top:18px;font-size:17px}
