/* lbox =================================== */
html.menu-fixed {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.lbox {
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .95);
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    cursor: pointer;
}

.lbox .close-btn {
    width: 2em;
    height: 2em;
    position: fixed;
    right: 20px;
    top: 20px;
    right: min(3vw, 20px);
    top: min(3vw, 20px);
}

.lbox .close-btn::before,
.lbox .close-btn::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    background-color: #222;
}

.lbox .close-btn::after {
    transform: translateY(-50%) rotate(-45deg);
}

/* mov-box */
.lbox .lmov-box,
.lbox .limg-box {
    width: 960px;
    height: 540px;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .9);
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity .4s ease 1s;
    z-index: 1001;
    visibility: hidden;
}

@media only screen and (max-width:640px) {

    .lbox .lmov-box,
    .lbox .limg-box {
        width: 90%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}

.lbox.show .lmov-box,
.lbox.show .limg-box {
    opacity: 1;
    visibility: visible;
}

.lbox .lmov-box iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* img-box */
.lbox .limg-box {
    width: 90vw;
    height: 88vh;
    transform: translate(-50%, calc(-50% + 1vh));
}

.lbox .limg-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* load html */
.lbox .lhtml-box {
    height: 100vh;
    overflow: scroll;
}