:root{--bg-color: #ffffff;--text-color: #222222;--accent-color: #b8924b;--accent-hover: #e0be80;--header-bg: rgba(255, 255, 255, .95);--font-primary: "Inter", sans-serif;--font-secondary: "Noto Serif JP", serif;--section-padding: 100px 0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}.container{width:90%;max-width:1200px;margin:0 auto}header{position:fixed;top:0;left:0;width:100%;padding:0;background-color:#d10000;z-index:1000;box-shadow:0 2px 10px #0003}.global-nav{width:100%;overflow-x:auto}.global-nav ul{display:flex;justify-content:center;align-items:center;gap:3vw;padding:15px 20px;min-width:800px}.global-nav a{font-size:.95rem;font-weight:600;color:#fff4f4;letter-spacing:2px;white-space:nowrap;transition:color .3s ease,text-shadow .3s ease}.global-nav a:hover{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8)}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer}.mobile-menu-btn span{display:block;width:25px;height:2px;background-color:var(--text-color);margin:5px 0;transition:.3s}.performance{padding:var(--section-padding);background-color:#fafafa}.performance-grid{display:flex;gap:40px;align-items:flex-start;margin-top:40px}.performance-flyer{flex:1;max-width:50%;text-align:center}.performance-flyer img{width:100%;max-width:450px;height:auto;box-shadow:0 10px 30px #00000026;border-radius:4px;transition:transform .3s ease}.performance-flyer img:hover{transform:translateY(-5px)}.performance-info{flex:1;padding:20px 0}.performance-title{font-size:1.8rem;line-height:1.4;margin-bottom:30px;color:var(--text-color);font-family:var(--font-secondary);border-bottom:2px solid var(--accent-color);padding-bottom:15px}.performance-details{margin-bottom:40px}.detail-item{display:flex;margin-bottom:20px;align-items:flex-start}.detail-label{flex:0 0 80px;font-weight:700;color:#555;background:#eee;padding:4px 10px;font-size:.85rem;margin-right:20px;text-align:center;border-radius:3px}.detail-item p{flex:1;margin:0;line-height:1.6}.text-placeholder{margin-top:30px;padding:20px;background-color:#fff;border:1px dashed #ccc;border-radius:4px}.text-placeholder p{color:#888;font-size:.9rem;text-align:center}.performance-action{text-align:center}.ticket-btn{font-size:1.2rem;padding:15px 50px;background-color:var(--accent-color);color:#fff;border:none;font-weight:700;border-radius:5px;box-shadow:0 4px 15px #b8924b66}.ticket-btn:hover{background-color:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #b8924b99}.history{padding:100px 0;background-color:#111}.history .section-subtitle{color:#c8933f}.history .section-title{color:#fff}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.history-card{position:relative;overflow:hidden;border-radius:6px;background:#1a1a1a;box-shadow:0 6px 20px #00000080;transition:transform .3s ease,box-shadow .3s ease;cursor:default}.history-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px #000000b3}.history-card--special{border:2px solid #d10000}.history-card-img{width:100%;aspect-ratio:3 / 4;overflow:hidden;background:#222}.history-card-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s ease;display:block}.history-card:hover .history-card-img img{transform:scale(1.07)}.history-card-info{padding:12px 14px 16px;background:linear-gradient(to top,#1a1a1a 80%,#1a1a1a00)}.history-card-label{display:block;font-size:.65rem;letter-spacing:3px;color:#c8933f;text-transform:uppercase;margin-bottom:4px}.history-card-title{font-family:var(--font-secondary);font-size:.85rem;color:#efefef;line-height:1.5;margin-bottom:4px}.history-card-date{font-size:.7rem;color:#888;letter-spacing:1px}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background-color:#111}.slider-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center 20%;opacity:0;transition:opacity 1.5s ease-in-out}.slide.active{opacity:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2;pointer-events:none}.hero-content{position:relative;z-index:3;animation:fadeInUp 1s ease-out forwards;opacity:0;transform:translateY(30px)}.hero-main-logo{max-width:80%;width:500px;height:auto;filter:drop-shadow(0 0 10px rgba(0,0,0,.1));mix-blend-mode:multiply;animation:logoFadeIn 1.5s ease-out forwards}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn{display:inline-block;padding:12px 30px;border:1px solid var(--accent-color);color:var(--accent-color);font-size:.9rem;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease;background:transparent;cursor:pointer}.btn-primary:hover{background:var(--accent-color);color:#fff;box-shadow:0 0 20px #b8924b66}main>section:not(.is-active){display:none!important}main>section.is-active{animation:sectionFadeIn .8s ease forwards}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-header{text-align:center;margin-bottom:60px}.section-subtitle{display:block;font-size:.8rem;letter-spacing:4px;color:var(--accent-color);margin-bottom:10px}.section-title{font-family:var(--font-secondary);font-size:2.5rem;letter-spacing:2px}.goods{padding:var(--section-padding);background-color:var(--bg-color);min-height:80vh;display:flex;flex-direction:column;justify-content:center}.about{padding:var(--section-padding);background:linear-gradient(to bottom,#fff,#f9f9f9)}.news{padding:var(--section-padding);background-color:var(--bg-color)}.news-list{max-width:800px;margin:0 auto}.news-item{display:flex;align-items:flex-start;padding:25px 0;border-bottom:1px solid #eee;transition:background-color .3s ease}.news-item:hover{background-color:#fcfcfc}.news-item:first-child{border-top:1px solid #eee}.news-meta{flex:0 0 160px;display:flex;flex-direction:column;gap:8px}.news-meta time{font-family:var(--font-primary);font-size:.9rem;color:#777;letter-spacing:1px}.news-category{display:inline-block;padding:4px 10px;font-size:.7rem;letter-spacing:1px;color:#fff;background-color:#333;width:fit-content}.category-stage{background-color:#d10000}.category-media{background-color:var(--accent-color)}.news-content{flex:1}.news-content h3{font-size:1.1rem;font-weight:400;line-height:1.5;margin-bottom:8px}.news-content h3 a{transition:color .3s ease}.news-content h3 a:hover{color:var(--accent-color)}.news-content p{font-size:.9rem;color:#666;line-height:1.6}.news-more-container{margin-top:40px}@media (max-width: 600px){.news-item{flex-direction:column;gap:15px}.news-meta{flex:none;flex-direction:row;align-items:center;gap:15px}}.about-content{text-align:center;max-width:800px;margin:0 auto}.about-content p{font-family:var(--font-secondary);font-size:1.1rem;line-height:2;color:#444}.cast{padding:var(--section-padding);background:#f9f9f9}.cast-leader{display:flex;justify-content:center;margin-bottom:50px}.cast-leader .cast-card{width:100%;max-width:320px}.cast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,280px));justify-content:center;gap:30px;margin-bottom:50px}.cast-card{position:relative;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0000000d;transition:transform .4s ease,box-shadow .4s ease}.cast-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #0000001a}.cast-img-wrapper{width:100%;aspect-ratio:400 / 517;overflow:hidden;position:relative}.cast-img-wrapper img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s ease}.cast-card:hover .cast-img-wrapper img{transform:scale(1.05)}.cast-info{padding:25px 20px;text-align:center;position:relative;z-index:2;background:linear-gradient(to top,#fff 70%,#fff0);margin-top:-60px}.cast-info h3{font-family:var(--font-secondary);font-size:1.5rem;margin-bottom:5px;letter-spacing:2px}.cast-info p{font-size:.8rem;color:var(--accent-color);letter-spacing:1px;text-transform:uppercase}footer{padding:60px 0 30px;background:#f1f1f1;border-top:1px solid rgba(0,0,0,.05)}.footer-content{text-align:center}.footer-logo{font-family:var(--font-secondary);font-size:1.5rem;color:var(--accent-color);letter-spacing:3px;margin-bottom:20px}.footer-logo-img{max-width:250px;mix-blend-mode:multiply;display:block;margin:0 auto}.footer-content p{font-size:.8rem;color:#777;letter-spacing:1px}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.global-nav ul{display:none;flex-direction:column;position:absolute;top:70px;left:0;width:100%;background-color:#d10000;padding:20px 0;text-align:center}.global-nav.nav-open ul{display:flex}.mobile-menu-btn{display:block;background:none;border:none;cursor:pointer;padding:10px;z-index:1000}.mobile-menu-btn span{display:block;width:25px;height:3px;background-color:#fff;margin:5px 0;transition:all .3s ease}.hero-title{font-size:2.5rem}.hero-main-logo{width:80%;max-width:300px}.footer-logo-img{max-width:200px}}@media (max-width: 900px){.performance-grid{flex-direction:column;align-items:center}.performance-flyer{max-width:100%;margin-bottom:30px}}.contact-form-wrapper{max-width:700px;margin:0 auto;text-align:left}.contact-form .form-group{margin-bottom:25px}.contact-form label{display:block;margin-bottom:8px;font-weight:700;color:#333}.contact-form .required{color:#d10000}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:15px;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-color);outline:none}.contact-form textarea{resize:vertical}.contact-form .form-submit{text-align:center;margin-top:40px}.contact-form .form-submit button{background-color:var(--accent-color);color:#fff;padding:15px 50px;font-size:1.1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;letter-spacing:2px;box-shadow:0 4px 15px #b8924b66;transition:all .3s ease}.contact-form .form-submit button:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #b8924b99}.contact-form .notes{margin-top:15px;font-size:.8rem;color:#888;text-align:center}.header-logo{height:40px;width:auto;filter:drop-shadow(0 0 5px rgba(0,0,0,.15));transition:transform .3s ease}.header-logo:hover{transform:scale(1.05)}.footer-logo-img{height:50px;width:auto;margin-bottom:20px;filter:drop-shadow(0 0 5px rgba(0,0,0,.1))}
