:root{--bg:#0d0b08;--bg2:#141209;--gold:#c9a84c;--gold-light:#e8d08a;--gold-dim:#7a6530;--cream:#f2ead8;--cream-dim:#a09070;--white:#faf7f0;--border:#c9a84c40;--border-bright:#c9a84c99;--nav-height:92px;--content-width:1100px;--space-sm:24px;--space-md:40px;--space-lg:52px;--space-xl:80px;--space-2xl:100px;--space-3xl:120px;--transition-fast:.3s;--transition-normal:.5s;--transition-slow:.7s}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--cream);margin:0;font-family:Noto Sans JP,sans-serif;font-weight:300}body:before{content:"";z-index:1000;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#root{position:relative}.app-shell{background:var(--bg);min-height:100vh;color:var(--cream)}.app-main{min-height:100vh;padding-top:var(--nav-height)}.route-transition{animation:.7s cubic-bezier(.4,0,.2,1) route-fade}.page-loading{min-height:100dvh}@keyframes route-fade{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.site-nav{z-index:500;padding:28px var(--space-lg);transition:border-color var(--transition-normal), background-color var(--transition-normal);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.site-nav.scrolled{border-color:var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0b08eb}.nav-logo{align-items:center;display:flex}.nav-logo-img{filter:grayscale()brightness(.65);opacity:.85;width:auto;height:32px;transition:filter var(--transition-fast), opacity var(--transition-fast)}.nav-logo:hover .nav-logo-img{filter:grayscale(0%)brightness();opacity:1}.nav-links{gap:40px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{letter-spacing:.18em;color:var(--cream-dim);text-transform:uppercase;transition:color var(--transition-fast);font-family:Noto Sans JP,sans-serif;font-size:.7rem}.nav-links a:hover,.nav-links a.active{color:var(--gold)}.page{position:relative}.page-section{padding:var(--space-3xl) var(--space-lg) var(--space-xl)}.page-container{max-width:var(--content-width);margin:0 auto}.page-home{min-height:calc(100vh - var(--nav-height))}.hero{min-height:calc(100vh - var(--nav-height));text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:100px 40px 60px;display:flex;position:relative;overflow:hidden}.hero-ring{border:1px solid var(--border);pointer-events:none;border-radius:50%;animation:6s ease-in-out infinite ring-pulse;position:absolute}.hero-ring:first-child{width:500px;height:500px;animation-delay:0s}.hero-ring:nth-child(2){border-color:#c9a84c1a;width:700px;height:700px;animation-delay:1.5s}.hero-ring:nth-child(3){border-color:#c9a84c0f;width:900px;height:900px;animation-delay:3s}@keyframes ring-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.04)}}.hero-eyebrow,.hero-title,.hero-subtitle,.hero-desc,.hero-cta,.scroll-hint{opacity:0;animation:1s forwards fade-up}.hero-eyebrow{color:var(--gold);letter-spacing:.4em;margin-bottom:28px;font-family:Cinzel,serif;font-size:.65rem;animation-delay:.3s}.hero-title{color:var(--white);margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,9vw,8rem);font-weight:300;line-height:1;animation-delay:.5s}.hero-title em,.page-title em,.contact-title em{color:var(--gold-light);font-style:italic}.hero-subtitle{color:var(--cream-dim);letter-spacing:.05em;margin-bottom:48px;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.4rem);font-style:italic;animation-delay:.7s}.hero-desc{z-index:2;max-width:460px;color:var(--cream-dim);letter-spacing:.08em;font-size:.82rem;line-height:2;animation-delay:1.1s;position:relative}.hero-cta{z-index:2;margin-top:52px;animation-delay:1.3s;position:relative}.btn-outline{border:1px solid var(--border-bright);color:var(--gold);letter-spacing:.3em;text-transform:uppercase;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:14px 44px;font-family:Cinzel,serif;font-size:.65rem;display:inline-block}.btn-outline:hover{border-color:var(--gold);background:var(--gold);color:var(--bg)}.scroll-hint{flex-direction:column;align-items:center;gap:8px;animation-delay:1.8s;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-hint span{color:var(--gold-dim);letter-spacing:.2em;text-transform:uppercase;font-size:.6rem}.scroll-line{background:linear-gradient(to bottom, var(--gold-dim), transparent);width:1px;height:40px;animation:1.8s ease-in-out 2s infinite scroll-drop}@keyframes scroll-drop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header{align-items:flex-end;gap:24px;margin-bottom:72px;display:flex}.page-number{color:var(--gold-dim);opacity:.4;font-family:Cormorant Garamond,serif;font-size:5rem;font-weight:300;line-height:1}.page-label{color:var(--gold);letter-spacing:.4em;text-transform:uppercase;margin:0 0 6px;font-family:Cinzel,serif;font-size:.6rem}.page-title{color:var(--white);margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,5vw,3.8rem);font-weight:300;line-height:1.1}.collab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.collab-card{border:1px solid var(--border);background:var(--bg2);transition:border-color var(--transition-normal);padding:52px;position:relative;overflow:hidden}.collab-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px;transition:transform var(--transition-normal);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.collab-card:hover{border-color:var(--border-bright)}.collab-card:hover:before{transform:scaleX(1)}.collab-handle{color:var(--gold);letter-spacing:.3em;margin:0 0 6px;font-family:Cinzel,serif;font-size:.65rem}.collab-avatar-wrap{border:1px solid var(--border);border-radius:50%;width:72px;height:72px;margin-bottom:20px;overflow:hidden}.collab-avatar-wrap img{object-fit:cover;width:100%;height:100%}.collab-role{color:var(--cream-dim);letter-spacing:.03em;margin:0 0 28px;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-style:italic}.collab-links{flex-wrap:wrap;gap:16px;display:flex}.link-pill{border:1px solid var(--border);color:var(--cream-dim);letter-spacing:.2em;text-transform:uppercase;padding:6px 18px;font-family:Cinzel,serif;font-size:.6rem;transition:all .3s;display:inline-block}.link-pill:hover{border-color:var(--gold);color:var(--gold);background:#c9a84c12}.products-intro{max-width:var(--content-width);margin:0 auto 64px}.product-table{max-width:var(--content-width);margin:0 auto}.product-row{border-bottom:1px solid var(--border);transition:background-color var(--transition-fast);grid-template-columns:60px 1fr 2fr 120px auto;align-items:center;gap:32px;padding:32px 0;display:grid}.product-row:first-child{border-top:1px solid var(--border)}.product-row:hover{background:#c9a84c08}.product-row:hover .product-arrow{opacity:1;transform:translate(4px)}.product-row:hover .product-img{opacity:1;transform:scale(1.03)}.product-num{color:var(--gold-dim);letter-spacing:.1em;font-family:Cormorant Garamond,serif;font-size:.9rem}.product-name{color:var(--white);letter-spacing:.1em;margin:0 0 4px;font-family:Cinzel,serif;font-size:1rem}.product-tag{border:1px solid var(--border);color:var(--gold);letter-spacing:.2em;text-transform:uppercase;padding:2px 10px;font-family:Cinzel,serif;font-size:.6rem;display:inline-block}.product-desc{color:var(--cream-dim);letter-spacing:.04em;font-size:.78rem;line-height:1.8}.product-arrow{color:var(--gold);opacity:.4;transition:opacity var(--transition-fast), transform var(--transition-fast);font-size:1.2rem}.activity-feature{grid-template-columns:1fr 1fr;gap:2px;display:grid}.activity-main{border:1px solid var(--border);background:var(--bg2);padding:64px 52px;position:relative}.activity-main:after{content:"競";color:#c9a84c0a;pointer-events:none;font-family:Noto Sans JP,sans-serif;font-size:8rem;font-weight:500;line-height:1;position:absolute;bottom:24px;right:32px}.activity-title{color:var(--white);margin:0 0 20px;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300;line-height:1.3}.activity-body{color:var(--cream-dim);letter-spacing:.06em;margin:0 0 32px;font-size:.8rem;line-height:2}.activity-side{flex-direction:column;gap:2px;display:flex}.activity-stat{border:1px solid var(--border);background:var(--bg2);flex-direction:column;flex:1;justify-content:center;padding:40px;display:flex}.stat-number{color:var(--gold);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;line-height:1}.stat-label{color:var(--cream-dim);letter-spacing:.2em;text-transform:uppercase;font-family:Cinzel,serif;font-size:.65rem}.page-contact{min-height:calc(100vh - var(--nav-height));padding:var(--space-3xl) var(--space-lg) var(--space-xl);justify-content:center;align-items:center;display:flex}.contact-panel{width:100%;max-width:var(--content-width);text-align:center;padding:80px 0;position:relative}.contact-bg-text{color:#c9a84c08;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:Cormorant Garamond,serif;font-size:clamp(8rem,20vw,20rem);font-style:italic;font-weight:300;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-eyebrow{color:var(--gold);letter-spacing:.4em;text-transform:uppercase;margin:0 0 28px;font-family:Cinzel,serif;font-size:.6rem;position:relative}.contact-title{color:var(--white);margin:0 0 20px;font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,7vw,6rem);font-weight:300;line-height:1.1;position:relative}.contact-sub{color:var(--cream-dim);letter-spacing:.08em;margin:0 0 52px;font-size:.8rem;line-height:2;position:relative}.contact-email{border-bottom:1px solid var(--border-bright);color:var(--cream);letter-spacing:.05em;padding-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;display:inline-block;position:relative}.contact-note{color:var(--cream-dim);letter-spacing:.25em;text-transform:uppercase;margin-top:1rem;font-family:Cinzel,serif;font-size:.62rem}.site-footer{padding:0 var(--space-lg) 36px}.contact-footer{color:var(--gold-dim);letter-spacing:.3em;text-align:center;margin:0;font-family:Cinzel,serif;font-size:.55rem}@media (width<=768px){:root{--nav-height:78px}.site-nav{padding:20px var(--space-sm)}.nav-links{gap:20px}.nav-links a{font-size:.6rem}.page-section,.page-contact,.hero{padding:var(--space-2xl) var(--space-sm) 60px}.collab-grid{grid-template-columns:1fr}.product-row{grid-template-columns:40px 1fr 80px}.product-desc,.product-arrow{display:none}.activity-feature{grid-template-columns:1fr}.site-footer{padding:0 var(--space-sm) 28px}}
