:root{--primary:#6366f1;--primary-dark:#4f46e5;--accent:#f43f5e;--success:#10b981;--warning:#ffad1f;--danger:#f4212e;--bg-main:#0f172a;--bg-card:rgba(255, 255, 255, 0.08);--modal-bg:rgba(15, 23, 42, 0.4);--modal-overlay:rgba(0, 0, 0, 0.5);--modal-blur:blur(15px);--modal-border:rgba(255, 255, 255, 0.2);--modal-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.8);--modal-input-bg:rgba(0, 0, 0, 0.3);--text:#ffffff;--text-white:#ffffff;--text-muted:#cbd5e1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;background:var(--bg-main);line-height:1.6}img{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;-webkit-touch-callout:none;pointer-events:none}.event-card img:not(.img-protect-overlay),.goods-slide img:not(.img-protect-overlay),.liver-image-wrapper img:not(.img-protect-overlay),.news-thumbnail-link img:not(.img-protect-overlay),.product-card img:not(.img-protect-overlay),img.clickable-image{pointer-events:auto}.img-protect-overlay{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:10!important;object-fit:cover;opacity:0;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important;pointer-events:auto!important}img.allow-download{user-select:auto!important;-webkit-user-select:auto!important;-webkit-user-drag:auto!important;-webkit-touch-callout:default!important;pointer-events:auto!important}button,input,select,textarea{color:inherit;font-family:inherit}.logo-link{font-weight:800;color:var(--primary);font-size:1.5rem;text-decoration:none;letter-spacing:-.5px}.logo-link:hover{opacity:.8}header{background:rgba(15,23,42,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:15px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000}.btn-header{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:8px 20px;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-radius:25px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,255,255,.1)}.btn-header:hover{background:rgba(255,255,255,.2);border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(99,102,241,.3)}.glass-card{background:var(--modal-bg);backdrop-filter:var(--modal-blur);-webkit-backdrop-filter:var(--modal-blur);border:1px solid var(--modal-border);border-radius:28px;box-shadow:var(--modal-shadow)}.glass-input{background:rgba(15,23,42,.4);border:1px solid var(--modal-border);color:#fff;backdrop-filter:blur(10px)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-overlay);z-index:9000;display:none;justify-content:center;align-items:center;padding:20px}.modal-glass-content{background:var(--modal-bg);backdrop-filter:var(--modal-blur);-webkit-backdrop-filter:var(--modal-blur);border:1px solid var(--modal-border);border-radius:28px;box-shadow:var(--modal-shadow);color:var(--text);position:relative;max-width:550px;width:100%;padding:40px;overflow-y:auto;max-height:90vh}.page-title{font-size:2.5rem;font-weight:800;margin-bottom:40px;text-align:center;background:linear-gradient(135deg,#fff 0,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.container{margin:40px auto;padding:0 20px}@media (max-width:768px){header{padding:12px 15px;flex-wrap:wrap;gap:8px}header>div{flex-wrap:wrap;gap:8px!important}.btn-header{padding:6px 12px;font-size:.75rem;gap:4px}.container{padding:0 15px}.page-title{font-size:1.8rem}}@media (max-width:640px){header{padding:10px 15px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}header>div{flex-wrap:nowrap;justify-content:flex-end;gap:8px!important}.logo-link{font-size:1.25rem;text-align:left;flex-shrink:0}.btn-header{padding:6px 12px;font-size:.75rem;border-radius:20px;white-space:nowrap}#userEmail{font-size:.7rem;padding:4px 8px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none!important}a[href="contact.html"].btn-header{display:none!important}#guestNav,#userNav{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end}.page-title{font-size:1.5rem}.modal-body{padding:25px}.modal-title{font-size:1.5rem}}.site-footer{margin-top:60px;padding:40px 20px;background:rgba(15,23,42,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);text-align:center}.footer-links{display:flex;justify-content:center;gap:25px;margin-bottom:12px;flex-wrap:wrap}.footer-link{color:#fff;text-decoration:none;font-size:.85rem;font-weight:400;transition:all .3s}.footer-link:hover{color:var(--primary)}.footer-copyright{display:block;font-size:.75rem;color:#fff;opacity:.8}.image-lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:30000}.image-lightbox.show{display:block}.lightbox-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.lightbox-close{position:absolute;top:20px;right:20px;color:#fff;font-size:2rem;cursor:pointer;z-index:30001}.lightbox-close:hover{color:#ccc}.lightbox-bottom-controls{position:absolute;bottom:30px;left:0;width:100%;display:flex;justify-content:center;align-items:center;gap:30px;z-index:30001}.lightbox-nav-btn{background:rgba(0,0,0,.6);border:none;color:#fff;font-size:1.8rem;width:50px;height:50px;cursor:pointer;border-radius:50%;display:none;align-items:center;justify-content:center;transition:background .3s ease,transform .2s ease}.lightbox-nav-btn:hover{background:rgba(255,255,255,.2)!important;transform:scale(1.1)!important}.lightbox-nav-btn:active{transform:scale(.95)!important}.lightbox-counter{color:#fff;font-size:1.1rem;font-weight:700;background:rgba(0,0,0,.6);padding:8px 20px;border-radius:20px;min-width:80px;text-align:center;display:none}@media (max-width:768px){.lightbox-nav-btn{width:44px;height:44px;font-size:1.5rem}.lightbox-counter{font-size:1rem;padding:6px 16px}.lightbox-close{font-size:1.8rem;top:15px;right:15px}}