body{overflow-x:hidden}.hero{justify-content:center;align-items:flex-end;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.bg-text{color:#f5f5f5;white-space:nowrap;letter-spacing:-.05em;pointer-events:none;z-index:1;font-family:Bodoni Moda,serif;font-size:20vw;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-bg-shape{z-index:5;background:radial-gradient(at bottom,#7f1d1d0f 0%,#7f1d1d05 40%,#0000 70%);border-radius:50% 50% 0 0;width:60%;height:70%;position:absolute;bottom:-10%;left:50%;transform:translate(-50%)}.photo-container{z-index:10;width:50%;max-width:600px;animation:1.2s ease-out .3s both fadeInUp;position:relative}.hero-photo img{filter:drop-shadow(0 20px 40px #7f1d1d26);width:100%;height:auto}.hero-left{z-index:20;position:absolute;top:50%;left:60px;transform:translateY(-50%)}.hero-tagline{letter-spacing:.5em;color:#7f1d1d;margin-bottom:24px;font-size:11px;animation:1s ease-out .5s both fadeInLeft}.hero-name{letter-spacing:.02em;color:#1a1a1a;margin-bottom:8px;font-family:Bodoni Moda,serif;font-size:52px;font-weight:400;line-height:1.1;animation:1s ease-out .7s both fadeInLeft}.hero-name-jp{color:#666;margin-bottom:8px;font-size:16px;font-weight:400;animation:1s ease-out .8s both fadeInLeft}.hero-title{letter-spacing:.4em;color:#999;font-family:Bodoni Moda,serif;font-size:12px;animation:1s ease-out .9s both fadeInLeft}.hero-right{z-index:20;gap:16px;animation:1s ease-out 1s both fadeInRight;display:flex;position:absolute;bottom:80px;right:60px}.scroll-indicator{align-items:center;gap:12px;animation:1s ease-out 1.2s both fadeIn;display:flex;position:absolute;bottom:40px;left:60px}.scroll-indicator span{letter-spacing:.2em;color:#999;font-size:10px}.scroll-line{background:#ddd;width:40px;height:1px}.about{background:#fafafa;padding:140px 0}.about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;padding:0 60px;display:grid}.about-image{position:relative}.about-image img{aspect-ratio:3/4;object-fit:cover;width:100%}.about-image:before{content:"";opacity:.2;z-index:-1;background:linear-gradient(135deg,#b8860b,#daa520);width:80px;height:80px;position:absolute;top:-20px;left:-20px}.about-text{color:#555;font-size:15px;line-height:2.2}.about-text p{margin-bottom:20px}.about-text .motto{color:#7f1d1d;font-weight:500}.performance{color:#fff;background:#1a1a2e;padding:140px 0}.performance-inner{text-align:center;max-width:1200px;margin:0 auto;padding:0 60px}.performance .section-label{color:#daa520}.performance .section-title{color:#fff;margin-bottom:48px}.video-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px;display:grid}.video-item{aspect-ratio:16/9;background:#ffffff0d;border-radius:4px;transition:all .3s;position:relative;overflow:hidden}.video-item:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000004d}.video-item iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.performance .btn-secondary{color:#fff;background:0 0;border-color:#ffffff4d}.performance .btn-secondary:hover{border-color:#fff}.service{padding:140px 0}.service-inner{max-width:1200px;margin:0 auto;padding:0 60px}.service-inner .section-label,.service-inner .section-title{text-align:center}.service-grid{grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;display:grid}.service-card{background:#fafafa;padding:48px;transition:all .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #00000014}.service-icon{margin-bottom:24px;font-size:36px}.service-card h3{color:#1a1a1a;margin-bottom:16px;font-family:Bodoni Moda,serif;font-size:24px;font-weight:400}.service-card p{color:#666;margin-bottom:24px;font-size:14px;line-height:1.8}.service-list{margin-bottom:24px;list-style:none}.service-list li{color:#888;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.service-list li:before{content:"";background:#7f1d1d;border-radius:50%;width:4px;height:4px}.service-link{color:#7f1d1d;letter-spacing:.05em;font-size:13px;text-decoration:none}.service-link:hover{text-decoration:underline}.shop{background:#fafafa;padding:140px 0}.shop-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;padding:0 60px;display:grid}.shop-image{overflow:hidden}.shop-image img{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .5s}.shop-image:hover img{transform:scale(1.03)}.shop-btn{color:#fff;letter-spacing:.1em;background:#1a1a1a;margin-top:32px;padding:18px 40px;font-size:13px;text-decoration:none;transition:background .3s;display:inline-block}.shop-btn:hover{background:#333}.contact{text-align:center;background:#1a1a2e;padding:140px 0}.contact-inner{max-width:800px;margin:0 auto;padding:0 60px}.contact .section-label{color:#daa520}.contact .section-title{color:#fff;margin-bottom:24px}.contact-text{color:#ccc;margin-bottom:48px;font-size:15px;line-height:1.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:1024px){.hero-left{left:24px}.hero-right{right:24px}.scroll-indicator{left:24px}.about-inner,.service-inner,.shop-inner,.contact-inner{padding:0 24px}}@media (max-width:768px){.hero{flex-direction:column;justify-content:center;align-items:center;height:auto;min-height:100vh;padding:100px 0 40px}.bg-text{opacity:.3;font-size:30vw}.photo-bg-shape{width:80%;height:50%}.photo-container{order:2;width:70%;max-width:400px;margin-bottom:40px}.hero-left{text-align:center;order:1;margin-bottom:32px;position:static;transform:none}.hero-name{font-size:32px}.hero-name-jp{font-size:14px}.hero-tagline{font-size:10px}.hero-title{font-size:11px}.hero-right{flex-flow:wrap;order:3;justify-content:center;gap:12px;position:static;transform:none}.hero-right .btn-primary,.hero-right .btn-secondary{padding:14px 28px;font-size:12px}.scroll-indicator{display:none}.about-inner,.shop-inner{grid-template-columns:1fr;gap:48px}.video-grid,.service-grid{grid-template-columns:1fr}}
