:root{--ink:#182739;--muted:#4a596b;--blue:#244ee9;--lime:#e7ff64;--paper:#f5f7fb;--line:#d7dde5;--white:#fff;--sans:'Hiragino Sans','Yu Gothic',Meiryo,system-ui,sans-serif;--g:clamp(20px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;line-break:strict}h1,h2,h3,p,ol,ul,dl,dd{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,.hero-sub{word-break:auto-phrase;overflow-wrap:anywhere}html:has(.dialog[open]){overflow:hidden}.lab-detail summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}button:disabled{cursor:default}.wrap{max-width:1440px;margin:auto;padding-inline:var(--g)}.skip{position:absolute;top:-100px;left:20px;background:var(--lime);padding:10px 20px;z-index:99}.skip:focus{top:10px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.12em;line-height:1.5}.eyebrow-blue{color:var(--blue);margin-bottom:20px}.section{padding-block:clamp(72px,9vw,130px)}.section-title{font-size:clamp(27px,3.7vw,50px);line-height:1.55;letter-spacing:.02em;font-weight:600}.text{max-width:42em;color:var(--muted)}.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:4px;font-size:16px;font-weight:600;line-height:1.6;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:white}.btn-primary:hover{background:#193dcc}.btn-lime{background:var(--lime);color:var(--ink)}.btn-lime:hover{background:#dbf64e}.btn-outline{border-color:var(--line);background:white;color:var(--ink)}.demo-tag{font:600 12px/1.5 var(--sans);letter-spacing:.12em;border:1px solid currentColor;border-radius:3px;padding:2px 6px}.header{background:var(--white);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:84px}.brand{display:flex;align-items:center;gap:15px;min-width:0;max-width:100%}.brand-name{font:800 30px/1 system-ui,sans-serif;letter-spacing:-.04em}.brand-dot{color:var(--blue)}.brand-sub{min-width:0;font-size:12px;line-height:1.5;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px;font-weight:600}.header-cta.btn{font-size:14px;min-height:44px;padding:10px 17px}.nav a:hover{text-decoration:underline;text-underline-offset:5px}
.hero{background:var(--ink);color:white;position:relative;overflow:hidden}.hero-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.12fr);gap:clamp(32px,5vw,76px);padding-top:clamp(48px,6vw,86px);padding-bottom:clamp(64px,7vw,106px);align-items:center}.hero-copy{position:relative;z-index:1}.hero .eyebrow{color:var(--lime);margin-bottom:27px}.hero h1{font-size:clamp(32px,3.5vw,52px);line-height:1.4;letter-spacing:.01em;font-weight:600;white-space:normal}.hero-sub{font-size:clamp(19px,1.9vw,26px);line-height:1.65;font-weight:500;margin-top:24px}.hero-intro{color:#d8e1ee;max-width:31em;margin-top:23px;font-size:16px;line-height:2}.hero-actions{margin-top:30px;display:flex;align-items:flex-start;flex-direction:column;gap:10px}.hero-bottom{position:absolute;bottom:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--lime) 0 43%,var(--blue) 43%)}
.lab{position:relative;min-width:0}.lab-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.lab-label{font-size:14px;color:#d6e1ef}.lab-tabs{display:flex;gap:3px;border:1px solid #6b7d92;border-radius:6px;padding:3px}.lab-tabs button{border:0;border-radius:3px;color:#d6e1ef;background:transparent;padding:9px 16px;font-size:14px;line-height:1.5;min-height:42px}.lab-tabs button[aria-selected=true]{background:var(--lime);color:var(--ink);font-weight:700}.lab-tabs button:hover:not([aria-selected=true]){background:#304258}.lab-tabs button:focus-visible{outline-color:var(--lime)}.lab-shell{border-radius:9px;background:#edf1f7;box-shadow:0 22px 65px #07132355;color:var(--ink);overflow:hidden}.lab-panel{padding:26px 30px 28px}.lab-path{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12px;letter-spacing:.04em;color:var(--muted)}.path-line{width:23px;height:1px;background:#8492a3}.lab-title{font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.5;margin-top:13px;margin-bottom:21px}.memo{padding:15px 18px;border-left:3px solid #9facbf;background:#e3e9f2}.memo-label{display:block;color:var(--muted);font-size:12px;margin-bottom:4px;font-weight:600}.memo p{font-size:16px;line-height:1.8}.thinking{display:flex;align-items:center;gap:12px;padding:16px 0;font-size:14px;color:var(--muted);line-height:1.7}.thinking-badge{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:white;font-size:12px;font-weight:700}.paper{background:white;border:1px solid #d6dde8;box-shadow:0 5px 12px #1a2d4910;padding:24px;position:relative}.paper:before{content:'';display:block;position:absolute;top:0;left:0;width:100%;height:4px;background:var(--blue)}.paper-meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;letter-spacing:.03em}.paper h3{font-size:23px;line-height:1.6;font-weight:600;margin-block:10px 13px}.paper-summary{font-size:16px;line-height:1.8;padding-bottom:15px;border-bottom:1px solid var(--line)}.paper dl{margin-top:15px;display:grid;grid-template-columns:max-content 1fr;gap:9px 14px;font-size:14px;line-height:1.8}.paper dt{font-weight:600}.paper dd{color:var(--muted)}.paper-foot{font-size:12px;margin-top:14px;color:var(--muted)}.paper table{width:100%;border-collapse:collapse;margin-top:15px;font-size:14px;line-height:1.7}.paper th{text-align:left;font-weight:600;background:#f0f3f8}.paper th,.paper td{border-bottom:1px solid var(--line);padding:9px 8px;vertical-align:top}.paper .mail{font-size:16px;line-height:1.9}.mail p+p{margin-top:10px}.lab-detail{margin-top:15px;border-top:1px solid #d0d8e5;padding-top:10px;font-size:14px}.lab-detail summary{cursor:pointer;color:var(--blue);font-weight:600;min-height:30px;list-style:none}.lab-detail summary:before{content:'＋';margin-right:8px}.lab-detail[open] summary:before{content:'−'}.lab-detail p{padding-top:8px;color:var(--muted);font-size:14px;line-height:1.8}.lab-panel.swap{animation:swap .3s ease-out}@keyframes swap{from{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:none}}
.possibilities .section-title{max-width:20em}.possibilities .text{margin-top:24px}.possibility-rows{margin-top:46px;border-top:1px solid var(--line)}.possibility-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(0,.9fr);gap:28px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.row-num{font:400 20px/1.6 system-ui,sans-serif;color:var(--blue)}.possibility-row h3{font-size:22px;line-height:1.7;font-weight:600}.possibility-row p{color:var(--muted);font-size:16px;line-height:1.9}
.journey{background:var(--paper)}.journey-intro{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}.journey-intro .text{padding-top:9px}.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:64px}.journey-step{border-top:2px solid var(--ink);padding-top:23px}.step-count{font:400 16px/1.5 system-ui,sans-serif;color:var(--blue)}.journey-step h3{font-size:28px;font-weight:600;line-height:1.6;margin-top:13px}.journey-step p{color:var(--muted);margin-top:14px}.journey-quote{display:block;color:var(--ink);font-weight:600;margin-top:20px;font-size:16px}.approach{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,7vw,100px);align-items:center}.approach-copy{min-width:0}.approach-copy p{margin-top:24px;color:var(--muted);max-width:36em}.approach-copy .eyebrow{color:var(--blue);margin-bottom:19px}.approach-side{min-width:0}.teacher-portrait{display:block;width:100%;max-width:224px;margin-bottom:20px;border-radius:5px;overflow:hidden;aspect-ratio:4/5;background:var(--paper)}.teacher-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.teacher{border-left:4px solid var(--blue);padding-left:22px}.teacher-label{font-size:14px;color:var(--muted)}.teacher-name{font-size:30px;font-weight:500;letter-spacing:.06em;line-height:1.7}.teacher-note{margin-top:10px;color:var(--muted);font-size:16px;line-height:1.9}.principle{margin-top:26px;padding:21px 24px;background:var(--lime);font-size:20px;line-height:1.7;font-weight:500}
.support{border-top:1px solid var(--line);padding-block:60px}.support-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}.support-title{font-size:26px;font-weight:500;line-height:1.7;margin-top:13px}.support .eyebrow{color:var(--muted)}.support-copy{color:var(--muted)}.support details{margin-top:23px;border-top:1px solid var(--line);padding-top:17px}.support summary{font-weight:600;color:var(--ink);cursor:pointer;font-size:16px}.support ol{padding-left:22px;margin-top:20px}.support li+li{margin-top:12px}.support-scope{background:var(--paper);padding:20px 23px;margin-top:20px;font-size:16px;line-height:1.9}.support-scope strong{font-weight:600;color:var(--ink)}.support-scope p+p{margin-top:8px}.start{background:var(--blue);color:white}.start-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:70px;align-items:center}.start .eyebrow{color:var(--lime);margin-bottom:17px}.start p{max-width:38em;color:#e5ebff;margin-top:22px}.start-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.faq{padding-block:80px}.faq-inner{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:80px}.faq details{border-top:1px solid var(--line);padding-block:23px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:17px;line-height:1.8;font-weight:500;cursor:pointer;padding-right:26px;position:relative;list-style:none}.faq summary:after{content:'＋';position:absolute;right:0;top:0;color:var(--blue)}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:17px;color:var(--muted);max-width:42em}.closing{background:var(--ink);color:white;padding-block:clamp(76px,10vw,142px)}.closing h2{font-size:clamp(30px,4.2vw,60px);line-height:1.55;font-weight:500;letter-spacing:.01em}.closing .word{color:var(--lime)}.closing .philosophy{margin-top:45px;border-top:1px solid #526072;padding-top:24px;display:flex;justify-content:space-between;gap:28px;align-items:end}.philosophy-en{font:400 clamp(19px,2.2vw,30px)/1.5 system-ui,sans-serif;letter-spacing:-.025em}.philosophy-ja{font-size:15px;letter-spacing:.08em;color:#c5d1e0;margin-top:8px}.closing-cta{margin-top:30px}.footer{background:var(--ink);color:#c5d1e0;border-top:1px solid #526072;padding-block:22px;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-brand{font-size:14px}.footer-brand span{margin-left:18px;color:#c5d1e0;font-size:12px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.footer-links a:hover{color:white}
.dialog{border:0;border-radius:9px;padding:0;max-width:620px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 90px #08152955;color:var(--ink)}.dialog::backdrop{background:#0b182ac9;backdrop-filter:blur(5px)}.dialog-inner{padding:clamp(24px,5vw,42px)}.dialog-top{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.close-icon{background:var(--paper);border:0;width:42px;height:42px;border-radius:50%;font-size:25px;line-height:1;color:var(--ink)}.dialog h2{font-size:26px;font-weight:600;line-height:1.6}.consult-steps{list-style:none;padding:0;margin:25px 0}.consult-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.consult-steps .num{color:var(--blue);font:500 19px/1.7 system-ui,sans-serif}.consult-steps h3{font-size:18px;font-weight:600}.consult-steps p{font-size:16px;color:var(--muted);margin-top:7px}.dialog .btn{width:100%}.no-js{padding:15px;background:var(--lime);color:var(--ink);font-size:15px}
@media(max-width:1100px){.hero-inner{gap:34px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.hero h1{font-size:clamp(32px,3.5vw,46px)}.lab-panel{padding:24px}.paper{padding:20px}.nav{gap:19px}.approach{gap:45px}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:45px;max-width:760px}.hero-copy{max-width:600px}.hero h1{font-size:clamp(39px,7.3vw,60px)}.hero-intro{max-width:34em}.hero-sub{font-size:24px}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}.lab-title{font-size:27px}.paper h3{font-size:26px}.header-inner{min-height:74px;flex-wrap:wrap;row-gap:0;padding-top:12px}.nav{order:3;flex-basis:100%;margin-left:0;gap:24px;border-top:1px solid var(--line);margin-top:12px}.nav a{display:flex;align-items:center;min-height:44px}.header-cta.btn{padding:9px 12px}.journey-intro{grid-template-columns:1fr;gap:24px}.journey-steps{gap:25px}.approach{grid-template-columns:1fr;gap:45px}.approach-side{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.teacher{grid-column:1}.principle{margin:0;grid-column:2}.support-inner{gap:35px}.start-inner{grid-template-columns:1fr;gap:35px}.start-action{flex-direction:row;align-items:center;gap:22px}.faq-inner{grid-template-columns:1fr;gap:30px}.possibility-row{grid-template-columns:45px 1fr 1fr;gap:20px}.possibility-row h3{font-size:20px}.closing .philosophy{align-items:start}}
@media(max-width:600px){html{scroll-padding-top:30px}.header-inner{gap:12px;min-height:72px;padding-top:14px}.nav{gap:20px;margin-top:14px}.brand{gap:10px}.brand-name{font-size:27px}.brand-sub{font-size:12px}.header-cta.btn{font-size:14px;min-height:42px;padding:9px 10px}.hero-inner{padding-top:43px;padding-bottom:60px;gap:36px}.hero .eyebrow{font-size:14px;margin-bottom:22px}.hero h1{font-size:clamp(29px,8.5vw,43px);line-height:1.45}.hero-sub{font-size:20px;line-height:1.75;margin-top:22px}.hero-intro{font-size:16px;line-height:2;margin-top:20px}.hero-actions{flex-direction:column;align-items:start;gap:10px;margin-top:24px}.lab-top{align-items:flex-start;gap:8px;flex-direction:column}.lab-label{font-size:14px}.lab-tabs{width:100%}.lab-tabs button{flex:1;min-height:44px;font-size:15px}.lab-panel{padding:21px 18px}.lab-title{font-size:21px;margin-bottom:17px}.lab-path{font-size:12px;gap:6px}.path-line{width:16px}.memo{padding:13px 14px}.memo p{font-size:15px}.thinking{font-size:14px;align-items:flex-start}.thinking-badge{margin-top:3px}.paper{padding:18px}.paper h3{font-size:22px}.paper dl{grid-template-columns:1fr;gap:3px;font-size:14px}.paper dd{margin-bottom:8px}.paper th,.paper td{padding:8px 5px;font-size:13px}.paper-meta{font-size:12px}.paper-foot{font-size:12px}.section-title{font-size:28px;line-height:1.65}.possibilities .text{margin-top:20px}.possibility-rows{margin-top:32px}.possibility-row{grid-template-columns:max-content minmax(0,1fr);gap:8px 17px;padding:24px 0}.possibility-row p{grid-column:2}.possibility-row h3{font-size:21px}.row-num{font-size:17px;align-self:start;padding-top:4px}.journey-steps{grid-template-columns:1fr;margin-top:38px;gap:32px}.journey-step{padding-top:19px}.journey-step h3{font-size:25px;margin-top:7px}.journey-step p{margin-top:9px}.journey-quote{margin-top:13px}.approach-side{display:block}.teacher{margin-top:0}.principle{margin-top:25px}.approach-copy p{margin-top:20px}.support-inner{grid-template-columns:1fr;gap:22px}.support-title{font-size:24px}.support{padding-block:49px}.support-scope{padding:17px 18px}.start-action{flex-direction:column;align-items:start;gap:13px}.start p{margin-top:17px}.faq{padding-block:65px}.faq summary{font-size:16px}.closing h2{font-size:32px;line-height:1.65}.closing .philosophy{margin-top:33px;flex-direction:column}.philosophy-en{font-size:23px}.footer-inner{align-items:start;flex-direction:column;gap:12px}.footer-brand span{margin-left:12px}.dialog h2{font-size:23px}.dialog-inner{padding:24px}.consult-steps h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.btn:hover{transform:none}}
.legal h1{margin-bottom:16px}.legal-lead{color:var(--muted)}.legal section{margin-top:48px;max-width:46em}.legal h2{font-size:22px;font-weight:600;line-height:1.6;padding-bottom:12px;border-bottom:1px solid var(--line)}.legal section p{margin-top:16px;color:var(--muted)}.legal dl{display:grid;grid-template-columns:9em 1fr;gap:12px 20px;margin-top:16px}.legal dt{font-weight:600}.legal dd{color:var(--muted)}
@media(max-width:600px){.legal dl{grid-template-columns:1fr;gap:2px}.legal dd{margin-bottom:12px}}
