:root{--sumi: #1a1814;--sumi-mid: #2d2926;--sumi-light: #4a4540;--washi: #f5f0e8;--washi-dark: #ede6d8;--kinpaku: #c9a84c;--kinpaku-light: #e8c97a;--kinpaku-pale: #f5e9c8;--beni: #c0392b;--shiro: #ffffff;--gray-warm: #8a8278;--gray-pale: #d4cfc8;--font-serif: "Noto Serif JP", "Cormorant Garamond", serif;--font-sans: "Noto Sans JP", sans-serif;--font-display: "Cormorant Garamond", "Noto Serif JP", serif;--nav-h: 72px;--section-pad: clamp(80px, 10vw, 140px);--container: 1160px;--radius: 2px;--transition: .45s cubic-bezier(.25, .1, .25, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--washi);color:var(--sumi);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-serif);line-height:1.3}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--washi-dark)}::-webkit-scrollbar-thumb{background:var(--kinpaku);border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.container{max-width:var(--container);margin:0 auto;padding:0 clamp(20px,5vw,60px)}.gold-line{width:48px;height:2px;background:var(--kinpaku);margin-bottom:24px;transform-origin:left}
