:root{--bg:#f8fafc;--ink:#0f1830;--muted:#475569;--surface:#fff;--accent:#1e3a8a;--on-accent:#fff;--rule:#0f18301f;--rowband:#eceff2;--f:"IBM Plex Sans JP",sans-serif;--hw:500;--tx:1.12;--sp:1.4;--r:8px;--br:8px;--cw:1320px;--lh:25.6px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--f);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}a{color:inherit}.wrap{max-width:var(--cw);margin:0 auto;padding:0 40px}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}header{z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);height:72px;position:fixed;inset:0 0 auto}header .in{max-width:var(--cw);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 40px;display:flex}.logo{align-items:center;text-decoration:none;display:inline-flex}.logo svg{height:var(--lh);width:auto;display:block}footer .logo svg{height:calc(var(--lh) * .8)}header nav{font-size:calc(14px * var(--tx));align-items:center;gap:32px;display:flex}header nav a{text-decoration:none}header nav a:not(.btn):hover{color:var(--muted)}.btn{border-radius:var(--br);height:48px;font-size:calc(15px * var(--tx));border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);justify-content:center;align-items:center;gap:10px;padding:0 26px;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.86}header nav .btn{height:40px;font-size:calc(13.5px * var(--tx));padding:0 18px}.crumb{color:var(--muted);margin:0 0 28px;font-size:13px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}.crumb span{opacity:.6;margin:0 8px}section.block{padding:calc(64px * var(--sp)) 0;scroll-margin-top:72px}h2{font-weight:var(--hw);font-size:calc(clamp(22px,2.2vw,30px) * var(--tx));letter-spacing:.05em;margin:10px 0 calc(32px * var(--sp));line-height:1.5}:root{--guide:color-mix(in srgb,var(--ink) 10%,transparent)}.contact{padding:calc(72px * var(--sp)) 0;text-align:center}.contact h2{margin:12px 0 14px}.contact p{color:var(--muted);font-size:calc(15px * var(--tx));margin:0 0 32px}footer{background:color-mix(in srgb,var(--ink) 4%,var(--bg));color:var(--muted);padding:48px 0 120px;font-size:13px}footer .in{flex-wrap:wrap;justify-content:space-between;gap:32px;display:flex}footer .logo{color:var(--ink)}footer ul{flex-wrap:wrap;gap:28px;margin:0;padding:0;list-style:none;display:flex}footer a{text-decoration:none}footer a:hover{color:var(--ink)}footer .co{margin-top:10px;line-height:1.8}@media (width<=860px){header .in,.wrap{padding:0 16px}header nav a:not(.btn){display:none}}#ceo,#overview{position:relative}#overview:before{content:"";background:var(--rowband);box-shadow:0 0 0 100vmax var(--rowband);clip-path:inset(0 -100vmax);z-index:-1;position:absolute;inset:0}#ceo:before{content:"";background:var(--surface);box-shadow:0 0 0 100vmax var(--surface);clip-path:inset(0 -100vmax);z-index:-1;position:absolute;inset:0}.co-hero{padding:calc(72px + 48px * var(--sp)) 0 calc(24px * var(--sp))}.co-hero h1{font-weight:var(--hw);font-size:calc(clamp(26px,2.6vw,36px) * var(--tx));letter-spacing:.05em;margin:0;line-height:1.5}.ceo{margin-top:calc(32px * var(--sp));grid-template-columns:150px minmax(0,1fr);align-items:start;gap:48px;display:grid}.ceo .ph-w{display:flex}.ceo .ph{aspect-ratio:1;background:var(--rowband);border-radius:50%;width:150px;overflow:hidden}.ceo .ph img{object-fit:cover;width:100%;height:100%;display:block}.ceo .role{color:var(--muted);letter-spacing:.06em;margin:0 0 6px;font-size:13px}.ceo .nm{font-size:calc(22px * var(--tx));letter-spacing:.08em;margin:0;font-weight:500}.ceo .en{color:var(--muted);letter-spacing:.06em;margin:4px 0 24px;font-size:13px}.ceo .bio p{max-width:52em;font-size:calc(15px * var(--tx));margin:0 0 1em;line-height:2}.co-ov{margin-top:calc(32px * var(--sp));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.co-ov>div{border-top:1px solid var(--rule);grid-template-columns:200px minmax(0,1fr);gap:24px;padding:20px 0;display:grid}.co-ov>div:first-child{border-top:0}.co-ov dt{font-size:calc(14px * var(--tx));color:var(--accent);font-weight:500}.co-ov dd{font-size:calc(15px * var(--tx));margin:0;line-height:1.9}@media (width<=860px){.ceo{grid-template-columns:minmax(0,1fr);gap:24px}.ceo .ph{width:120px}.co-ov>div{grid-template-columns:minmax(0,1fr);gap:4px}}
