@charset "utf-8";

/* ローディング ---------------------------------------------------------- */
#splash {
    position: fixed;
    z-index: 100;
    width: 100%;
    height: 100%;
    background: #fff;
    text-align: center;
    color: #000;
}

#splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fadeup .text01 {
    font-size: .9rem;
    letter-spacing: .1em;
    padding-left: 10px;
    font-weight: normal;
}

.fadeup .text02 {
    font-size: 1.5rem;
    font-weight: normal;
    letter-spacing: .175em;
}

.fadeup {
    animation-name: fadeupAnime;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    opacity: 0;
    width: 300px;
}

@keyframes fadeupAnime {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ローディング後　画面繊維 ----------------------------------------- */
.splash_bg {
    display: none;
}

body.appear .splash_bg {
    display: block;
    content: "";
    position: fixed;
    z-index: 100;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    transform: scaleX(0);

    /* 伸びる背景 */
    background-color: #8e2a32;
    animation-name: PageAnime;
    animation-duration: 1.2s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes PageAnime {
    0% {
        transform-origin: left;
        transform: scaleX(0);
    }
    50% {
        transform-origin: left;
        transform: scaleX(1);
    }
    50.00000000000001% {
        transform-origin: right;
    }
    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}

.container {
    opacity: 0;
}

body.appear .container {
    animation-name: PageAnimeAppear;
    animation-duration: 1.0s;
    animation-delay: .8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes PageAnimeAppear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}