:root{--text:#1a1a1a;--muted:#777;--accent:#0035c7;--border:#eee;--phase-req:#d9770e;--phase-ai:var(--accent);--phase-res:#2f9e57}*{box-sizing:border-box}html{font-size:15px}body{color:var(--muted);font-family:var(--font-sans), "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;-webkit-font-smoothing:antialiased;background:#fff;margin:0;line-height:1.8}header{border-bottom:1px solid var(--border);align-items:baseline;gap:24px;max-width:900px;margin:0 auto;padding:16px 20px;display:flex}header .brand,header .brand:visited{color:var(--muted);letter-spacing:.01em;font-size:16px;font-weight:700}header nav{gap:16px;display:flex}header nav a,header nav a:visited{color:var(--muted);font-size:13px}header a,header a:visited{text-decoration:none}.back,.back:visited{color:var(--muted);margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-block}main{max-width:900px;margin:0 auto;padding:40px 20px 64px}h1{color:var(--text);letter-spacing:.02em;margin:0 0 16px;font-size:20px;font-weight:700}h2{color:var(--text);margin:32px 0 8px;font-size:15px;font-weight:700}p{margin:0 0 12px;font-size:14px;line-height:1.9}a,a:visited{color:var(--accent)}img,.work-svg svg{width:100%;height:auto;display:block}main>section{margin:0 0 48px}.work-svg{margin:20px 0}.work-svg svg{max-width:860px;margin:0 auto}.tag-chips{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.tag-chips a,.tag-chips a:visited,.tag-chips button{border:1px solid var(--border);color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:1px 8px;font-size:13px;line-height:1.7;text-decoration:none;display:block}.tag-chips a:hover{text-decoration:underline}.tag-chips button.is-selected{border-color:var(--text);color:var(--text);font-weight:700}.related-works ul{margin:0;padding-left:1.4em}.related-works li{font-size:14px}.gallery{grid-template-columns:repeat(3,1fr);gap:36px 24px;display:grid}.gallery figure{margin:0}.gallery figure svg{width:100%;height:auto;display:block}.gallery figcaption{text-align:center;margin-top:10px;font-size:13px}.gallery a,.gallery a:visited{color:var(--muted);text-decoration:none}.pager{grid-template-columns:1fr auto 1fr;margin-top:32px;font-size:14px;display:grid}.pager a,.pager a:visited{color:var(--accent)}.pager a:last-child,.pager>span:last-child{text-align:right}.btn{border-radius:6px;padding:10px 20px;font-size:14px;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.btn-primary,.btn-primary:visited{background:var(--accent);color:#fff}.btn-primary:hover{background:#002b9f}.btn-secondary,.btn-secondary:visited{border:1px solid var(--border);color:var(--accent)}.btn-secondary:hover{border-color:var(--text)}.home-hero{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:64px;padding:72px 0 80px;display:grid}.home-hero h1{letter-spacing:.01em;margin-bottom:16px;font-size:48px;line-height:1.25}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-diagram{width:100vw;max-width:440px;height:auto;margin:0 auto;display:block}.section-lead{color:var(--text);letter-spacing:.01em;margin:0 0 18px;font-size:30px;font-weight:700;line-height:1.4}.home-lead{grid-template-columns:1fr auto;align-items:center;gap:56px;padding:76px 0 80px;display:grid}.home-lead-text p{max-width:34em;margin:0;font-size:16px;line-height:1.95}.home-lead-text p+p,.home-lead-note{margin-top:16px}.home-lead-text strong{color:var(--text)}.home-lead-note{color:var(--text);font-weight:700}.home-lead-icon{transform-origin:50%;will-change:transform;flex:none;width:52px;height:52px;animation:4s ease-in-out infinite lead-icon-float}.home-lead-icon-req{color:var(--phase-req)}.home-lead-icon-res{color:var(--phase-res);animation-delay:-1.6s}@keyframes lead-icon-float{0%{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-12px)rotate(-3deg)}to{transform:translateY(0)rotate(-7deg)}}@media (prefers-reduced-motion:reduce){.home-lead-icon{animation:none;transform:rotate(-6deg)}}.home-structure-list h3,.home-scenes-list h3{color:var(--text);align-items:center;gap:8px;margin:0 0 6px;font-size:15px;font-weight:700;display:flex}.phase-icon{flex:none;width:18px;height:18px}.phase-icon-req{color:var(--phase-req)}.phase-icon-ai{color:var(--phase-ai)}.phase-icon-muted{color:var(--muted)}.home-structure,.home-scenes{padding:76px 0 80px}.home-structure-body{grid-template-columns:auto 1fr;align-items:center;gap:56px;margin-top:36px;display:grid}.home-structure-diagram{width:280px;max-width:100%;margin:0}.home-structure-diagram svg{width:100%;height:auto;display:block}.home-structure-list{gap:24px;display:grid}.home-scenes-list{grid-template-columns:1fr;gap:24px;margin-top:8px;display:grid}.home-structure-list p,.home-scenes-list p{margin-bottom:0}.phase-number{border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;display:inline-flex}.phase-number-req{color:var(--phase-req)}.phase-number-ai{color:var(--phase-ai)}.phase-number-res{color:var(--phase-res)}.home-pickups{padding:76px 0 80px}.home-count{text-align:center;padding:72px 0 0}.home-count p{margin-bottom:0}.home-count strong{color:var(--text);font-size:44px;font-weight:700;line-height:1}.home-cta{text-align:center;padding:44px 0 72px}.home-cta .section-lead{margin-bottom:24px}.site-footer{border-top:1px solid var(--border);max-width:900px;margin:0 auto;padding:24px 20px}.site-footer nav{gap:16px;display:flex}.site-footer nav a,.site-footer nav a:visited,.site-footer p{color:var(--muted);font-size:13px}.site-footer nav a{text-decoration:none}.site-footer p{margin:12px 0 0}.tag-list{margin-bottom:32px}.tag-list h2,.tag-search h2{margin-top:0}.tag-search{border-top:1px solid var(--border);padding-top:28px}.tag-search label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.tag-search input{border:1px solid var(--border);width:100%;max-width:480px;color:var(--text);font:inherit;background:#fff;border-radius:0;padding:7px 8px;font-size:14px}.tag-search input:focus{outline:1px solid var(--accent);outline-offset:1px}.tag-search h2{margin-top:24px}.search-result-count{color:var(--text);margin-top:24px;font-weight:700}.search-results{margin:0;padding-left:1.4em}.search-results li{margin-bottom:6px;font-size:14px}.show-more{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:#fff;margin-top:20px;padding:4px 10px;font-size:14px}.about-page section{border-bottom:1px solid var(--border);padding-bottom:20px}.about-page section:last-child{border-bottom:0}@media (max-width:640px){.gallery,.home-hero,.home-lead,.home-structure-body{grid-template-columns:1fr}.home-hero{gap:40px;padding:48px 0 56px}.hero-diagram{width:100%}.home-hero h1{font-size:40px}.section-lead{font-size:25px}.home-lead{gap:28px}.home-lead-icon{width:46px;height:46px}.home-structure-body{gap:32px}.home-structure-diagram{margin:0 auto}.home-lead,.home-structure,.home-scenes,.home-pickups{padding:52px 0 56px}.home-count{padding-top:48px}.home-cta{padding-bottom:48px}}
