@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#233c34;--green:#31594a;--paper:#faf8f1;--muted:#6c786d;--lime:#d9e59c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a27339;outline-offset:5px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0d4}.brand{font-size:23px;font-weight:700;letter-spacing:1px;line-height:1.4}.brand span{display:block;font-size:9px;font-weight:400;letter-spacing:2px;margin-left:30px}nav{display:flex;gap:30px;font-size:12px}.smallbutton{padding:11px 23px;border:1px solid #31594a;border-radius:30px;font-size:12px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:760px;padding:65px 6% 70px;gap:25px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;margin-bottom:22px}.pill{display:inline-block;border:1px solid #c5cebb;padding:4px 13px;border-radius:20px;font-size:11px;letter-spacing:1px}.hero .pill{margin:0 0 20px}h1{font-family:'Noto Serif JP',serif;font-weight:500;font-size:clamp(40px,4.5vw,65px);line-height:1.55;letter-spacing:2px;margin:0 0 22px}h1 em{font-style:normal;background:linear-gradient(transparent 73%,#e2e7b7 73%)}.lead{line-height:2.2;color:#536153;font-size:14px}.button{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;border:0;padding:18px 24px;border-radius:5px;max-width:370px;cursor:pointer;margin-top:30px;font-size:13px}.button:hover{background:#234638}.button b{font-size:20px}.fine{font-size:10px;color:var(--muted);margin-top:17px}.scene{position:relative;align-self:center;height:570px;background:#e8ebdb;border-radius:48% 48% 4px 4px}.orbit{position:absolute;top:33px;right:10px;font:italic 23px Georgia;transform:rotate(9deg);color:#6a795d}.notebook{position:absolute;left:10px;top:120px;width:255px;height:350px;background:#b4bf9b;border-radius:3px 14px 14px 3px;box-shadow:12px 20px 35px #33432e25,inset 10px 0 0 #93a17e,inset 13px 0 0 #a8b68e;transform:rotate(-12deg);padding:30px 28px}.notebook>span{font-size:8px;letter-spacing:2px}.notebook h2{font-family:Georgia,serif;font-weight:400;font-size:39px;line-height:1.13;margin-top:40px;letter-spacing:3px}.notebook h2 span{display:block;font-family:sans-serif;font-size:10px;letter-spacing:1px;margin-top:14px}.star{font-size:60px;line-height:1.1}.notebook small{font-size:8px}.phone{position:absolute;right:15px;top:100px;width:227px;height:430px;background:#fffefa;border:6px solid #263c34;border-radius:34px;box-shadow:8px 20px 25px #34462c30;transform:rotate(7deg);padding:15px}.speaker{position:absolute;top:6px;left:70px;width:75px;height:15px;border-radius:20px;background:#263c34}.phone-top{font-size:8px;margin-bottom:20px}.phone-top span{float:right}.tiny{font-size:8px;letter-spacing:1px;margin:15px 0 4px}.phone h3{font-size:16px;margin:0}.phone-sub{font-size:8px;margin-top:3px}.dream-card{background:#e8eed9;padding:15px;border-radius:10px}.dream-card>span{font-size:9px}.dream-card h4{font-size:17px;line-height:1.7;margin:7px 0}.dream-card p{font-size:8px;margin-bottom:5px}.track{height:5px;background:#ccd8b7;border-radius:10px}.track i{display:block;width:32%;height:100%;background:#4f7452;border-radius:10px}.dream-card b{font-size:16px}.dream-card small{font-size:7px;font-weight:400}.task{font-size:9px;background:#f5f4ec;padding:7px;margin-top:5px;border-radius:4px}.phone-nav{text-align:center;margin-top:15px;font-size:14px}.scene-label{position:absolute;bottom:5px;left:28px;font-size:11px;letter-spacing:2px}.manifesto{background:var(--green);color:#f5f6e8;text-align:center;padding:48px 20px}.manifesto>span{font:500 26px 'Noto Serif JP',serif}.manifesto p{font-size:12px;line-height:2;margin-bottom:0}.section{max-width:1200px;margin:auto;padding:100px 5%}h2{font-family:'Noto Serif JP',serif;font-weight:500;font-size:32px;line-height:1.7;margin:0 0 18px}.intro{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:50px}.number{font-size:10px;letter-spacing:2px}.steps h3{font-size:17px;margin:25px 0 10px}.steps p{font-size:12px;color:var(--muted)}.mini-note,.mini-app,.reflection{height:180px;margin-top:17px;background:#eee9da;padding:25px;font-size:10px;display:flex;flex-direction:column;justify-content:center}.mini-note{transform:rotate(-2deg);background:repeating-linear-gradient(#f2eddf 0px,#f2eddf 29px,#ddd7c7 30px)}.mini-note strong{font-family:'Noto Serif JP',serif;font-size:15px}.mini-note hr{border:0}.mini-app{background:#e8eddd;border-radius:12px}.mini-app strong{font-size:15px}.week{line-height:2.3;margin-top:16px;color:#6b8758}.reflection{background:#e6e7dd;text-align:center;color:#637951;align-items:center;font-size:34px}.reflection strong{font-size:13px}.reflection span{font-size:10px}.demo-section{background:#e9eddf;padding:80px max(6%,calc((100vw - 1080px)/2));display:grid;grid-template-columns:1fr 1fr;gap:65px}.demo-section p{font-size:12px}.choices{display:flex;flex-direction:column;gap:10px;margin-top:26px}.choices button{background:transparent;border:1px solid #bac5ad;border-radius:5px;text-align:left;padding:12px 20px;color:var(--ink);cursor:pointer}.choices button.selected{background:var(--green);color:white;border-color:var(--green)}.demo-card{background:#fffdf6;padding:40px;border-radius:10px;box-shadow:0 12px 40px #34462c0b;align-self:center}.demo-card h3{font-family:'Noto Serif JP',serif;font-size:24px;margin-bottom:5px}.demo-card .pill{font-size:9px}.plan{background:#f2f3e9;padding:20px;margin:25px 0}.plan small,.plan strong{display:block}.plan small{font-size:10px;color:var(--muted)}.plan strong{font-size:14px}.path{height:30px;border-left:1px dashed #94a47e;margin:7px}.demo-bottom{font-size:10px;color:#667a56}.offering{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:35px}.offering article{border-top:1px solid #b8c2ad;padding-top:25px}.offering span{font-size:11px;letter-spacing:1px}.offering h3{font-size:19px}.offering p{color:var(--muted);font-size:13px;max-width:400px}.offering b{font-size:12px}.facility{background:#e2e7d8;text-align:center;padding:80px 5%}.facility p{font-size:13px}.facility-points{display:flex;justify-content:center;gap:28px;margin:35px 0;font-size:12px}.textlink{display:inline-block;border-bottom:1px solid;padding:8px 0;font-size:13px}.faq{max-width:850px}.faq details{border-bottom:1px solid #d2d8c9;padding:20px 0}.faq summary{cursor:pointer;font-size:14px}.faq details p{font-size:12px;color:var(--muted);padding:10px 15px}.voice{background:var(--green);color:#fffdf1;padding:75px 20px;text-align:center}.voice h2{font-size:32px}.voice>p{font-size:13px}.feedback{max-width:430px;margin:30px auto 0}.feedback label{display:block;text-align:left;font-size:11px;margin-bottom:8px}.feedback select{width:100%;padding:14px 12px;border-radius:4px;background:#fffdf6;color:var(--ink);border:0;font-size:12px}.feedback .button{background:#e0e9b3;color:var(--ink);width:100%;max-width:none;margin-top:12px}.feedback #feedback-status{font-size:10px;opacity:.8}footer{padding:40px 6%;display:flex;gap:25px;align-items:center}footer p{font-size:10px}footer>span{margin-left:auto;font-size:8px;letter-spacing:1px}@media(max-width:800px){header{height:76px;padding:0 5%}.brand{font-size:19px}.brand span{font-size:7px}nav{display:none}.smallbutton{font-size:10px;padding:9px 14px}.hero{padding:40px 6% 45px;grid-template-columns:1fr;gap:35px}.hero-copy{max-width:540px}h1{font-size:44px}.lead{font-size:13px}.scene{height:480px;width:100%;max-width:470px;margin:auto}.notebook{top:85px;left:8%;width:220px;height:310px}.notebook h2{margin-top:25px}.phone{top:80px;right:5%;transform:rotate(6deg) scale(.9);transform-origin:right top}.orbit{font-size:20px;right:20px;top:20px}.scene-label{bottom:18px}.manifesto>span{font-size:21px}.section{padding:65px 6%}h2{font-size:26px}.steps{grid-template-columns:1fr;gap:30px}.steps article{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.number{grid-column:1/-1}.mini-note,.mini-app,.reflection{grid-row:2/4;height:150px;padding:17px}.steps h3{font-size:15px;align-self:end}.steps p{font-size:11px}.demo-section{grid-template-columns:1fr;gap:30px;padding:60px 6%}.demo-card{padding:25px}.offering{grid-template-columns:1fr;gap:30px}.facility{padding:60px 6%}.facility-points{flex-direction:column;gap:10px}.voice h2{font-size:25px}footer{flex-wrap:wrap;gap:10px}footer>span{width:100%;margin:0}.eyebrow{font-size:9px}.fine{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.design-teaser{max-width:1200px;margin:auto;padding:80px 6% 20px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.design-teaser p{font-size:12px;color:#75816b}.teaser-book{display:grid;grid-template-columns:1fr 1fr;transform:rotate(-4deg);box-shadow:3px 15px 30px #434d3020;border-bottom:5px solid #c4c5b1;border-radius:3px;background:#fffdf1}.teaser-book>div{padding:25px 18px;min-height:260px}.teaser-book>div:first-child{background:linear-gradient(90deg,#fffdf1 90%,#e1dfcd)}.teaser-book span{font-size:7px;letter-spacing:1px;color:#81916f}.teaser-book h3{font:500 15px 'Noto Serif JP',serif}.teaser-book p{font:400 12px/2.3 'Noto Serif JP',serif;color:#6e845d}.teaser-book i{font-size:7px;font-style:normal;color:#879078}.teaser-book hr{border:0;border-bottom:1px solid #d9ddc8;margin:20px 0}@media(max-width:700px){.design-teaser{grid-template-columns:1fr;gap:40px;padding:60px 6% 15px}.teaser-book{max-width:450px;width:100%;margin:auto}.teaser-book>div{padding:20px 15px}.teaser-book h3{font-size:13px}}

.audience-section{max-width:1200px;margin:auto;padding:75px 6% 0}.audience-needs{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:30px}.audience-needs article{border-top:1px solid #b6c3aa;padding:22px 0}.audience-needs span{font-size:10px;color:#718267;letter-spacing:1px}.audience-needs h3{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:500;line-height:1.8}.audience-needs p{font-size:12px;color:#6d7b66;line-height:2.1}@media(max-width:700px){.audience-section{padding:55px 6% 0}.audience-needs{grid-template-columns:1fr;gap:5px}.audience-needs h3{font-size:19px;margin:12px 0}.hero .pill{font-size:10px;letter-spacing:0}}
