:root{--bg:#fff;--ink:#141414;--muted:#6b6b6b;--line:#e6e6e6;--sheen-a:#1a5f4e;--sheen-b:#9c3159}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Noto Sans JP,system-ui,sans-serif;line-height:1.9;overflow-x:hidden}img,video{max-width:100%;display:block}a{color:inherit}main{position:relative;overflow:hidden}.cur-dot,.cur-ring{mix-blend-mode:difference;pointer-events:none;z-index:9999;opacity:0;background:#fff;border-radius:50%;width:8px;height:8px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cur-ring{transition:width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1)}body.cur-on .cur-dot,body.cur-on .cur-ring{opacity:1}body.is-hover .cur-ring{width:76px;height:76px}.sheen{letter-spacing:-.05em;background:linear-gradient(100deg, var(--ink) 0%, var(--ink) 47.5%, var(--sheen-a) 50%, var(--sheen-b) 52%, var(--ink) 54.5%, var(--ink) 100%);color:#0000;background-size:340% 100%;-webkit-background-clip:text;background-clip:text;font-family:Josefin Sans,sans-serif;font-weight:400;line-height:1;animation:5.5s linear infinite sheen}@keyframes sheen{0%{background-position:200% 0}to{background-position:-40% 0}}.head-bar{z-index:100;mix-blend-mode:difference;color:#fff;pointer-events:none;justify-content:space-between;align-items:center;padding:18px clamp(16px,3vw,44px);display:flex;position:fixed;top:0;left:0;right:0}.head-bar a{pointer-events:auto;text-decoration:none}.brand{letter-spacing:.08em;font-family:Josefin Sans,sans-serif;font-size:24px;font-weight:600}.head-bar nav ul{gap:clamp(14px,2vw,32px);margin:0;padding:0;list-style:none;display:flex}.head-bar nav a{letter-spacing:.14em;font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:400}.head-bar nav a[aria-current=page]{text-underline-offset:6px;text-decoration:underline}@media (width<=700px){.head-bar{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px}.brand{font-size:19px;line-height:1.15}.head-bar nav ul{flex-wrap:wrap;gap:14px 11px;font-size:10px;line-height:1.4}.head-bar nav a{letter-spacing:.09em;padding:7px 0;font-size:10px}}.intro-veil{display:none}html.-intro .intro-veil{background:var(--bg);z-index:90;pointer-events:none;transition:opacity .5s;display:block;position:fixed;inset:0}html.-intro.-intro-end .intro-veil{opacity:0}html.-intro .brand{pointer-events:none;opacity:0;will-change:transform;transition:none;position:relative}html.-intro .brand.-ready{opacity:1}html.-intro.-intro-end .brand{transition:transform 1.15s cubic-bezier(.22,.75,.2,1) .5s}.brand .ch{opacity:0}.brand .ch.-on{opacity:1}.brand .caret{background:currentColor;width:.06em;height:.78em;animation:.9s step-end infinite caret-blink;position:absolute;top:.14em;left:0}@keyframes caret-blink{50%{opacity:0}}html.-intro .head-bar nav{opacity:0}html.-intro.-intro-end .head-bar nav{opacity:1}.head-bar nav{transition:opacity .5s}.page-head{z-index:2;background:var(--bg);color:var(--ink);padding:clamp(96px,17svh,190px) clamp(16px,3vw,44px) clamp(40px,7svh,88px);position:relative}.page-head .head-en{letter-spacing:-.03em;margin:0 0 10px;font-family:Josefin Sans,sans-serif;font-size:clamp(34px,6vw,72px);font-weight:400;line-height:1}.page-head .head-ja{letter-spacing:.14em;color:var(--muted);margin:0;font-size:clamp(14px,1.5vw,17px);font-weight:700}body.-chrome-solid .site-foot{z-index:2;background:var(--bg);margin-top:0;position:relative}.site-foot{border-top:1px solid var(--line);margin-top:120px;padding:64px clamp(16px,5vw,80px) 48px;font-size:13px}.foot-brand{letter-spacing:.1em;margin:0 0 28px;font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:600}.foot-nav{flex-wrap:wrap;gap:20px 40px;margin:0 0 36px;padding:0;list-style:none;display:flex}.foot-nav a{letter-spacing:.1em;font-family:Josefin Sans,sans-serif;text-decoration:none}.foot-nav span{color:var(--muted);letter-spacing:0;font-family:Noto Sans JP,sans-serif;font-size:11px;display:block}.foot-info{grid-template-columns:max-content 1fr;gap:6px 24px;margin:0 0 28px;display:grid}.foot-info dt{letter-spacing:.12em;color:var(--muted);font-family:Josefin Sans,sans-serif;font-size:11px}.foot-info dd{margin:0}.foot-links a{color:var(--muted)}.copy{color:var(--muted);margin:24px 0 0;font-size:11px}@media (prefers-reduced-motion:reduce){.sheen{animation:none}}
