@charset "UTF-8";

.shutter {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1e1e1e;
    z-index: 9999;
}

.shutter::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    width: 0;
    height: 1px;
}

.shutter::after {
    /*『nfmaa』の文字*/
    content: 'nfmaa';
    position: absolute;
    top: 45%;
    right: 0;
    transform: translate(-20%, -50%);
    color: #000000;
    font-size: 7em;
    font-family: 'Alegreya Sans SC', sans-serif;
    opacity: 0;
}

.shutter {
    /*3番：シャッターが消えてメイン画面が現れるまでのフェードアウト時間*/
    -webkit-animation: byeShutter 4s forwards;
    animation: byeShutter 4s forwards;
}

.shutter::before {
    /*1番：線が入ってシャッターが開くまでのフェードイン時間*/
    -webkit-animation: shutterOpen 2.6s forwards;
    animation: shutterOpen 2.6s forwards;
}

.shutter::after {
    /*２番：『nfmaa』の文字のフェードインからアウトの時間*/
    -webkit-animation: fontsFade 2.6s forwards;
    animation: fontsFade 2.6s forwards;
}

.content {
    -webkit-animation: contentScale 2.6s forwards;
    animation: contentScale 2.6s forwards;
}

@media (max-width: 767px) {
    .shutter::after {
        transform: translate(-5%, -50%);       
    }
}

@keyframes byeShutter {
    80% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        display: none;
        z-index: -1;
    }
}

@keyframes shutterOpen {
    0% {
        width: 0;
        height: 1px;
    }

    50% {
        width: 100%;
        height: 1px;
    }

    90% {
        width: 100%;
        height: 100%;
    }

    100% {
        width: 100%;
        height: 100%;
    }
}

@keyframes fontsFade {
    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

}

@keyframes contentScale {
    70% {
        -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
        transform: perspective(800px) scale(0.9) rotateX(15deg);
    }

    100% {
        -webkit-transform: perspective(800px) scale(1) rotateX(0);
        transform: perspective(800px) scale(1) rotateX(0);
    }
}