:root{--ink:#222924;--muted:#53604f;--green:#b84a29;--mint:#f4e6cd;--line:#d7d8cd;--paper:#f4f1e9;--white:#fff;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e7ae28;outline-offset:5px}.wrap{max-width:1180px;margin:auto;padding:0 5vw}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:12px;white-space:nowrap;text-decoration:none}.brand b{font-size:27px;font-weight:900;letter-spacing:-.04em}.brand-dot{color:var(--green)}.brand-en{font-size:13px;letter-spacing:.1em;font-weight:750;color:var(--green)}nav{display:flex;gap:24px;font-size:13px;font-weight:650}nav a{text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.6vw,70px);line-height:1.25;letter-spacing:-.045em;margin:22px 0}h2{font-size:clamp(27px,3vw,38px);line-height:1.4;letter-spacing:-.025em;margin-bottom:20px}h3{font-size:20px;line-height:1.5}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:74px 0 70px}.hero.single{display:block;max-width:780px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.16em}.intro{color:var(--muted);font-size:17px;max-width:560px}.hero strong{color:var(--green)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.chip{border:1px solid #e0cdb1;background:#faf1e0;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:700;color:#8b3b21}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 10px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:white;padding:14px 24px;font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.6}.button:hover{background:#973719}.button.secondary{background:transparent;color:var(--green)}.button.secondary:hover{background:var(--mint)}.note{font-size:13px;color:var(--muted)}.screen-stage{background:var(--mint);border-radius:28px;padding:38px 22px 22px;position:relative}.screen-stage:before{content:"ACTUAL APP SCREEN";display:block;font-size:10px;letter-spacing:.15em;color:var(--green);font-weight:800;margin-bottom:16px}.screen-stage img{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;box-shadow:0 14px 28px #113e3422}.screen-stage figcaption{font-size:12px;text-align:center;color:var(--muted);margin-top:20px}figure{margin:0}.section{padding:58px 0;border-top:1px solid var(--line)}.section-label{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:12px}.project{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;background:var(--white);border:1px solid var(--line);padding:32px;border-radius:24px}.project img{width:100%;height:auto;border-radius:12px}.project .app-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.app-icon{width:52px!important;height:52px!important;border-radius:12px!important}.app-title h3{margin:0;font-size:27px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border:1px solid var(--line);border-radius:18px;background:white;padding:26px}.feature .symbol{width:44px;height:44px;display:grid;place-items:center;font-size:20px;font-weight:800;background:var(--mint);color:var(--green);border-radius:12px;margin-bottom:20px}.feature p{font-size:14px;color:var(--muted);margin-bottom:0}.callout{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--mint);border-radius:22px;padding:32px;margin-top:26px}.callout .number{font-size:44px;font-weight:900;color:var(--green);line-height:1.2}.callout h3{margin-bottom:5px}.callout p{margin:0;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.gallery img{width:100%;height:auto;display:block}.gallery figcaption{padding:20px;font-size:14px;color:var(--muted)}.gallery figcaption b{display:block;color:var(--ink);font-size:17px;margin-bottom:5px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;list-style:none;padding:0;counter-reset:steps}.step-grid li{padding:26px;background:white;border:1px solid var(--line);border-radius:18px;counter-increment:steps}.step-grid li:before{content:counter(steps,decimal-leading-zero);display:block;color:var(--green);font-size:30px;font-weight:900;margin-bottom:12px}.step-grid h3{margin-bottom:10px}.step-grid p{font-size:14px;color:var(--muted)}.step-grid a{font-weight:750;color:var(--green);font-size:14px}.contact{max-width:780px;background:white;border:1px solid var(--line);padding:32px;border-radius:20px;margin:30px 0}.email{font-size:clamp(18px,3vw,26px);font-weight:800;color:var(--green);overflow-wrap:anywhere}.narrow{max-width:790px;margin:auto}.join-card{background:white;border:1px solid var(--line);padding:32px;border-radius:22px;margin:20px 0}.join-card h2{font-size:25px}.next-box{padding:24px;background:var(--mint);border-radius:14px;margin:22px 0}.next-box[hidden]{display:none}.toggle{display:flex;align-items:center;gap:10px;font-size:14px;margin:20px 0}.toggle input{width:18px;height:18px;accent-color:var(--green)}.notice{color:var(--muted);font-size:13px;max-width:880px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer>div{display:flex;gap:20px}.small{font-weight:800}.small .brand-en{font-size:11px}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:32px;padding:50px 0}.hero.single{padding-bottom:35px}.hero h1{font-size:clamp(39px,8vw,62px)}.screen-stage{max-width:620px;width:100%;margin:auto}.feature-grid,.gallery{grid-template-columns:1fr}.gallery{max-width:600px}.gallery img{max-width:100%}.project{grid-template-columns:1fr}.step-grid{grid-template-columns:1fr}.step-grid li{padding:22px}.header{flex-wrap:wrap;gap:18px}.section{padding:40px 0}}@media(max-width:500px){.wrap{padding:0 6vw}.brand b{font-size:25px}.brand-en{font-size:11px}nav{gap:18px;font-size:12px}.intro{font-size:16px}.button{padding:13px 18px}.callout{grid-template-columns:1fr;gap:12px;padding:24px}.project,.join-card,.contact{padding:24px}.screen-stage{padding:24px 14px 18px;border-radius:20px}footer{flex-wrap:wrap}.section h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hub-hero{padding:88px 0 76px}.hub-hero h1{font-size:clamp(44px,7.2vw,88px);line-height:1.24;font-weight:850;max-width:900px}.hub-hero strong{color:#de542c}.hub-hero .eyebrow{color:#55604f}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:28px}.section-head h2{font-size:18px;margin:0}.section-head span{font-size:12px;letter-spacing:.12em;color:#65705e}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:88px}.hub-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fcfbf7;text-decoration:none;transition:transform .18s,border-color .18s}.hub-card:hover{transform:translateY(-4px);border-color:var(--ink)}.hub-art{height:230px;padding:52px 18px 24px;background:#e5ad4c;display:flex;align-items:center;position:relative}.hub-art img{width:100%;height:auto;border-radius:8px;box-shadow:0 8px 16px #303c3526}.art-label{position:absolute;left:24px;top:17px;font-size:11px;letter-spacing:.18em;color:#303c35;font-weight:750}.hub-info{padding:25px 28px 28px;display:flex;flex-direction:column;flex:1}.tag{font-size:11px;letter-spacing:.15em;color:#64715d}.hub-info h3{font-size:24px;margin:7px 0 10px}.hub-info p{margin:0 0 23px;color:#5d6659;font-size:14px}.visit{margin-top:auto;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:12px}.visit span:last-child{color:var(--green)}@media(max-width:900px){.hub-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.hub-hero{padding:58px 0 48px}.hub-hero h1{font-size:clamp(40px,10vw,64px)}.hub-grid{grid-template-columns:1fr;padding-bottom:58px}.hub-art{height:210px}.hub-info{padding:23px}}@media(prefers-reduced-motion:reduce){.hub-card{transition:none}.hub-card:hover{transform:none}}