/* Lightbox用 */
.lightbox-overlay {
position: fixed;top: 0;left: 0;width: 100vw;
height: 100vh;
background: rgba(0,0,0,0.85);display: flex;justify-content: center;align-items: center;opacity: 0;pointer-events: none;transition: opacity 0.3s;z-index: 9999;}
.lightbox-overlay.active {
opacity: 1;pointer-events: auto;}
.lightbox-overlay img {
max-width: 90vw;
max-height: 90vh;
box-shadow: 0 0 20px rgba(0,0,0,0.7);position: absolute;transition: transform 0.3s ease, opacity 0.3s ease;top: 50%;left: 50%;transform: translate(-50%, -50%);opacity: 1;}
.lightbox-slide {
position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);opacity: 0;}
.lightbox-arrow {
position: absolute;top: 50%;transform: translateY(-50%);font-size: 8vw;color: #fff;cursor: pointer;user-select: none;padding: 0 3vw;z-index: 10001;}
.lightbox-arrow.left { left: 3vw; }
.lightbox-arrow.right { right: 3vw; }
.close-btn {position: absolute;top: 5vw;right: 5vw;font-size: 10vw;color: #fff;cursor: pointer;z-index: 10002;}

@media (max-width: 768px) {.lightbox-overlay img {max-width: 95vw;max-height: 85vh;}}
@media (min-width: 769px) {.lightbox-arrow {font-size: 3rem;padding: 0 15px;}.close-btn {font-size: 2rem;top: 20px;right: 30px;}}