@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&family=Roboto+Mono:wght@400;500;600&display=swap');
:root{--bg:#e9e9e9;--ink:#171717;--panel:#bdbdbd;--accent:#526e77;--line:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans JP',sans-serif;letter-spacing:.03em}a{color:inherit}img{display:block;max-width:100%}
.site-header{height:80px;display:flex;align-items:center;padding:0 5vw;gap:40px;position:sticky;top:0;background:var(--bg);z-index:100;transition:background-color .24s ease,box-shadow .24s ease}.site-header.is-scrolled{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}.brand{margin-right:auto}.brand img{width:126px;height:auto}.nav{display:flex;gap:36px;align-items:center}.nav a{font:600 11px/1 'Roboto Mono',monospace;letter-spacing:.14em;text-decoration:none}.menu-button{display:none;border:0;background:none;font:500 12px 'Roboto Mono',monospace;letter-spacing:.12em}.mobile-nav{display:none}
.hero{width:90vw;margin:0 auto;min-height:calc(100vh - 80px);display:flex;align-items:flex-start}.hero picture,.hero img{width:100%}.hero img{height:min(76vh,760px);object-fit:contain;object-position:left top}
.section{width:78vw;max-width:1160px;margin:0 auto;padding:130px 0}.section-title{font:500 clamp(24px,3.1vw,42px)/1.2 'Roboto Mono',monospace;letter-spacing:.12em;margin:0 0 72px}.about-copy{font-family:'Noto Serif JP',serif;font-size:clamp(15px,1.25vw,20px);line-height:2.35;letter-spacing:.12em}.about-copy p{margin:0 0 28px}.type-line{min-height:1.8em}.type-line::after{content:''}.type-line.typing::after{content:'_';font-family:'Roboto Mono',monospace;animation:blink .55s step-end infinite}.type-line.done::after{content:''}@keyframes blink{50%{opacity:0}}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}.service-card{background:var(--accent);color:#fff;min-height:420px;padding:56px;display:flex;flex-direction:column}.service-no{font:500 12px 'Roboto Mono',monospace;letter-spacing:.14em}.service-en{font:500 14px 'Roboto Mono',monospace;letter-spacing:.12em;margin-top:auto}.service-card h3{font-size:25px;letter-spacing:.08em;margin:16px 0 36px}.more{align-self:flex-start;font:500 11px 'Roboto Mono',monospace;letter-spacing:.12em;text-decoration:none;border-bottom:1px solid #fff;padding-bottom:5px}
.member-cta{background:url('assets/gradient.png') center/cover;min-height:380px;display:grid;place-items:center;text-align:center}.member-cta a{font:600 11px/1 'Roboto Mono',monospace;letter-spacing:.18em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px}
.members-section{overflow:hidden}.member-tier{margin-top:90px}.member-tier:first-of-type{margin-top:0}.tier-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.tier-head h3{margin:0;font:400 clamp(18px,2vw,27px)/1.2 'Roboto Mono',monospace;letter-spacing:.1em;text-transform:lowercase}.slider-controls{display:flex;gap:8px}.slider-controls button{width:42px;height:42px;border:1px solid #888;background:transparent;font:18px 'Roboto Mono',monospace;cursor:pointer;transition:.2s}.slider-controls button:hover{background:#171717;color:#fff}.member-slider{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 0 24px;overscroll-behavior-inline:contain;scrollbar-width:thin}.member-card{flex:0 0 min(780px,76vw);min-height:480px;scroll-snap-align:start;background:#f3f3f3;border:1px solid #c8c8c8;padding:28px;display:grid;grid-template-columns:minmax(230px,38%) 1fr;grid-template-rows:auto auto 1fr;column-gap:38px;align-content:start}.card-photo{grid-row:1/4;aspect-ratio:4/5;background:url('assets/gradient.png') center/cover}.card-role{font:400 10px 'Roboto Mono',monospace;letter-spacing:.12em;color:#555;padding-top:4px;text-transform:lowercase}.member-card h4{font-family:'Noto Serif JP',serif;font-size:26px;letter-spacing:.1em;margin:14px 0 24px}.member-card p{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.15;margin:0;color:#444;max-width:40em}
.company-list{display:grid;grid-template-columns:180px 1fr;max-width:760px;margin:0}.company-list dt,.company-list dd{margin:0;padding:14px 0;border-bottom:1px solid #b9b9b9;font-size:13px}.company-list dt{font-weight:600}
.contact{background:transparent;border-radius:0}.contact .section-title{color:var(--ink)}.contact-lead{font-family:'Noto Serif JP',serif;font-size:12px;line-height:2;margin-bottom:40px;max-width:760px}.form{display:grid;gap:18px;max-width:760px;margin:0}.form label{font-size:11px;font-weight:600}.req{color:#a43d3d}.form input,.form textarea{width:100%;border:1px solid #aaa;background:#fff;padding:14px;font:13px 'Noto Sans JP',sans-serif}.form textarea{min-height:130px;resize:vertical}.check{display:flex;gap:9px;align-items:center;font-size:11px}.submit{border:0;background:#171717;color:#fff;height:48px;font:500 12px 'Roboto Mono',monospace;letter-spacing:.14em}
.footer{padding:26px 5vw 34px;display:flex;justify-content:center;gap:10px;font:500 9px 'Roboto Mono',monospace;letter-spacing:.08em}
.sub-hero{width:78vw;max-width:1160px;margin:40px auto 0;padding:90px 0 65px;border-bottom:1px solid #aaa}.sub-hero h1{font:500 clamp(34px,5vw,68px) 'Roboto Mono',monospace;letter-spacing:.1em;margin:0}.sub-hero p{font-family:'Noto Serif JP',serif;line-height:2;margin-top:30px}.member-list{width:78vw;max-width:1160px;margin:0 auto;padding:80px 0 140px}.member-row{display:grid;grid-template-columns:42% 1fr;gap:7vw;padding:70px 0;border-bottom:1px solid #aaa}.member-photo{aspect-ratio:1.6;background:url('assets/gradient.png') center/cover}.member-role{font:500 12px 'Roboto Mono',monospace;letter-spacing:.12em}.member-name{font-family:'Noto Serif JP',serif;font-size:32px;letter-spacing:.14em;margin:18px 0 30px}.member-bio{font-family:'Noto Serif JP',serif;font-size:13px;line-height:2.2}.signal{opacity:.12;transform:translateY(8px);transition:.38s ease}.signal.in{opacity:1;transform:none}
@media(max-width:820px){.site-header{height:68px;padding:0 20px}.brand img{width:96px}.nav{display:none}.menu-button{display:block}.hero{width:100%;min-height:auto}.hero img{height:auto;object-fit:cover}.section,.sub-hero,.member-list{width:auto;margin-left:28px;margin-right:28px;padding:90px 0}.section-title{margin-bottom:50px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px;padding:36px}.member-tier{margin-top:68px}.member-card{flex-basis:min(88vw,390px);min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto;padding:18px}.card-photo{grid-row:auto;aspect-ratio:4/3;margin-bottom:22px}.member-card h4{font-size:23px;margin-bottom:18px}.member-card p{font-size:12px;line-height:2}.slider-controls button{width:38px;height:38px}.company-list{grid-template-columns:105px 1fr}.member-row{grid-template-columns:1fr;gap:35px}.footer{flex-wrap:wrap}.mobile-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:26px 20px;border-top:1px solid #ddd}.mobile-nav.open{display:grid;gap:20px}.mobile-nav a{font:500 12px 'Roboto Mono',monospace;text-decoration:none;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal{opacity:1;transform:none;transition:none}.type-line::after{display:none}}
