*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#141414;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#fafaf8;min-width:320px;margin:0;font-family:Noto Sans JP,sans-serif;font-weight:300}#root{min-height:100svh}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}h1,h2,h3,p{margin:0}::selection{color:#fafaf8;background:#141414}@media (hover:hover) and (pointer:fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}}.img-reveal{position:relative;overflow:hidden}.img-reveal>img{object-fit:cover;transform-origin:50%;will-change:transform;width:100%;height:100%;transition:transform 1.35s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.1)}.img-reveal.is-visible>img{transform:scale(1)}@media (hover:hover) and (pointer:fine){.img-reveal.is-visible:hover>img{transition-duration:.3s;transition-timing-function:ease;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.img-reveal>img{transition:none!important;transform:none!important}}.scroll-badge{pointer-events:none;-webkit-user-select:none;user-select:none;line-height:0}.scroll-badge svg{width:100%;height:100%;animation:24s linear infinite scrollBadgeSpin;display:block}.scroll-badge text{fill:#14141461;letter-spacing:.28em;text-transform:uppercase;font-family:Noto Sans JP,sans-serif;font-size:13.5px;font-weight:500}@media (prefers-reduced-motion:reduce){.scroll-badge svg{animation:none}}@keyframes scrollBadgeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
