:root{--color-bg:#fff;--color-bg-soft:#f6f4f1;--color-bg-deep:#efece7;--color-line:#e2ddd4;--color-text:#333330;--color-text-sub:#777067;--color-accent:#2b2925;--color-accent-brown:#5b4f42;--font-mincho:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--font-gothic:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--font-latin:"Inter","Helvetica Neue",Arial,sans-serif;--space-section:clamp(5rem,11vw,9.5rem);--space-block:clamp(2rem,5vw,4rem);--maxw:1180px;--pad-x:clamp(1.5rem,5vw,4rem)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-gothic);font-weight:400;font-size:16px;line-height:2;letter-spacing:.06em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad-x)}.section{padding-block:var(--space-section)}.heading-jp{font-family:var(--font-mincho);font-weight:400;letter-spacing:.12em;line-height:1.7;color:var(--color-accent)}.label-en{font-family:var(--font-latin);font-weight:400;letter-spacing:.14em;color:var(--color-text-sub);font-size:.8rem}.text-body{font-family:var(--font-gothic);font-weight:400;line-height:2.1;letter-spacing:.13em;color:var(--color-text)}.vertical{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed;font-feature-settings:"vpal" 1,"vkrn" 1;line-height:1.9}.vrule{width:1px;align-self:stretch;background-color:var(--color-line)}.text-sub{color:var(--color-text-sub);font-size:.9rem;line-height:1.9;letter-spacing:.1em}@media (max-width:640px){body{font-size:15px}.text-body{font-size:.875rem;letter-spacing:.07em}.text-sub{font-size:.83rem}}.reveal-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform .85s ease;transition-delay:var(--reveal-delay,0s);will-change:opacity,transform}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}