:root{--color-bg: #141414;--color-surface: #1e1e1e;--color-accent: #c23a2e;--color-text: #e8e8e8;--color-text-muted: #888888;--font-heading: "Bebas Neue", sans-serif;--font-body: "Noto Sans JP", sans-serif;--max-width: 1200px;--spacing: 1.5rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.6}body{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing)}main{flex:1}.site-header{border-bottom:1px solid #2a2a2a;padding:1rem 0}.site-header .container{display:flex;align-items:center;justify-content:space-between}.site-logo{font-family:var(--font-heading);font-size:1.8rem;letter-spacing:.05em;color:var(--color-text)}.site-logo span{color:var(--color-accent)}.site-nav{display:flex;gap:2rem}.site-nav a{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);transition:color .2s}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.site-footer{border-top:1px solid #2a2a2a;padding:2rem 0;margin-top:4rem;text-align:center;font-size:.8rem;color:var(--color-text-muted)}.sns-links{display:flex;align-items:center;gap:1.5rem}.sns-link{display:flex;align-items:center;gap:.45rem;color:var(--color-text-muted);text-decoration:none;transition:color .2s}.sns-link:hover{color:var(--color-accent)}.sns-link svg{flex-shrink:0}.about-sns{margin-top:2rem;font-size:.95rem}.footer-sns{justify-content:center;margin-bottom:.75rem}.hero{position:relative;aspect-ratio:16 / 7;overflow:hidden;background:#0a0a0a}.hero img{width:100%;height:100%;object-fit:cover;opacity:.8}.hero-label{position:absolute;bottom:2rem;left:2rem;font-family:var(--font-heading);font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.08em;line-height:1.1;text-shadow:0 2px 8px rgba(0,0,0,.8)}.section{padding:3rem 0}.section-title{font-family:var(--font-heading);font-size:1.6rem;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:1.5rem;border-left:3px solid var(--color-accent);padding-left:.75rem}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.event-card{display:block;background:var(--color-surface);overflow:hidden;transition:transform .2s}.event-card:hover{transform:translateY(-2px)}.event-card-thumb{aspect-ratio:3 / 2;overflow:hidden}.event-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.event-card:hover .event-card-thumb img{transform:scale(1.03)}.event-card-body{padding:.875rem 1rem}.event-card-title{font-size:.95rem;font-weight:500;line-height:1.4;margin-bottom:.25rem}.event-card-meta{font-size:.78rem;color:var(--color-text-muted)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{cursor:pointer;aspect-ratio:3 / 2;overflow:hidden;background:#0a0a0a;border:none;padding:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.gallery-item:hover img{opacity:.85}.event-detail-header{padding:2.5rem 0 1.5rem}.event-detail-title{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.05em;line-height:1.1;margin-bottom:.5rem}.event-detail-meta{font-size:.875rem;color:var(--color-text-muted);display:flex;gap:1rem;flex-wrap:wrap}.event-detail-meta .accent{color:var(--color-accent)}.event-detail-body{max-width:720px;margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8;color:#ccc}.about-content{max-width:600px;padding:3rem 0}.about-content h1{font-family:var(--font-heading);font-size:3rem;letter-spacing:.1em;margin-bottom:1.5rem}.about-content p{line-height:1.8;color:#ccc;margin-bottom:1rem}.lightbox-overlay{display:none;position:fixed;inset:0;background:#000000eb;z-index:1000;align-items:center;justify-content:center}.lightbox-overlay.is-open{display:flex}.lightbox-img-wrap{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-img-wrap img{max-width:90vw;max-height:85vh;object-fit:contain}.lightbox-btn{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2rem;padding:.75rem 1rem;cursor:pointer;z-index:1001;line-height:1;transition:background .2s}.lightbox-btn:hover{background:#fff3}.lightbox-btn-prev{left:1rem}.lightbox-btn-next{right:1rem}.lightbox-close{position:fixed;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:1001;line-height:1;padding:.5rem}.lightbox-counter{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);font-size:.8rem;color:#ffffff80;letter-spacing:.1em;z-index:1001}.page-header{padding:2.5rem 0 1.5rem;border-bottom:1px solid #2a2a2a;margin-bottom:2rem}.page-title{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.5rem);letter-spacing:.1em}.all-events-link{margin-top:2rem;text-align:center}.all-events-link a{font-family:var(--font-heading);font-size:1rem;color:var(--color-text-muted);letter-spacing:.05em;border-bottom:1px solid var(--color-border);padding-bottom:2px;transition:color .2s,border-color .2s}.all-events-link a:hover{color:var(--color-accent);border-color:var(--color-accent)}.empty-state{padding:3rem 0;color:var(--color-text-muted);font-size:.9rem}
