: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}.work-published-at{color:var(--muted);margin:-8px 0 16px;font-size:13px}.summary-box{background:#fff;border:2px solid #333;border-radius:6px;max-width:100%;margin:24px 0;padding:18px 20px}.summary-box-label{color:var(--text);letter-spacing:.04em;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.summary-box p{color:var(--text);margin:0;line-height:1.75}.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,.tag-chips button:hover,.tag-chips button.is-selected{background:var(--accent);border-color:var(--accent);color:#fff}.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}.gallery-controls{margin-bottom:32px;padding-top:8px}.gallery-controls-row{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:8px 24px;display:grid}.gallery-control-field label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.gallery-search-field{align-items:center;gap:4px;display:flex}.gallery-controls input{width:100%;color:var(--text);font:inherit;background:#fff;border:none;border-radius:0;padding:3px 8px;font-size:14px}.gallery-controls select{appearance:none;color:var(--text);font:inherit;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='12'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23777'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:none;border-radius:0;padding:3px 26px 3px 8px;font-size:14px}.gallery-controls button[type=submit]{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.gallery-controls button[type=submit]:hover{color:var(--text)}.gallery-controls input:focus,.gallery-controls select:focus,.gallery-controls button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.gallery-tag-filter{margin-top:24px}.gallery-tag-filter h2{margin:0 0 8px}.gallery-result-count{color:var(--text);margin:0 0 20px;font-weight:700}.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,.gallery-controls-row,.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}}
