body:not(#top) #loading {
    opacity: 0;
}

body:not(#top) #loading.show {
    opacity: 1;
}

body:not(#top) #loading.hide {
    opacity: 0;
}

body:not(#top) #loading.non-transition {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none !important;
    transition-delay: 0ms !important;
    transition-duration: 0ms !important;
}

body:not(#top) #wrap .bg-video-container {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    opacity: 0;
}

body:not(#top) #wrap .bg-video-container.show {
    opacity: 1;
}

body:not(#top) #wrap .bg-video-container video {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    max-width: none;
}

body:not(#top) #wrap .bg-video-container.hide {
    opacity: 0 !important;
    transition: 1200ms;
}

body:not(#top) #wrap .bg {
    position: fixed;
    width: 100%;
    height: 100%;
    min-width: 1920px;
    min-height: 1080px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body:not(#top) #wrap h1,
body:not(#top) #wrap .bg_contents {
    pointer-events: none;
    transform: translate(0, 25px);
}

body:not(#top) #wrap h1.show,
  body:not(#top) #wrap .bg_contents.show {
    opacity: 1 !important;
    transition: all 0ms !important;
    transition-delay: 0ms !important;
    pointer-events: auto;
    transform: translate(0, 0) !important;
}

body:not(#top) #wrap.anime h1,
body:not(#top) #wrap.anime .bg_contents {
    opacity: 1;
    transition: all 1000ms;
    transition-delay: 0ms;
    pointer-events: auto;
    transform: translate(0, 0);
}

body:not(#top) #wrap.anime .bg_contents {
    transition-delay: 130ms;
}

.common-scroll-anime-header {
    transition-delay: 300ms !important;
}

.common-scroll-anime-illust {
    transition-delay: 450ms !important;
}

.common-scroll-anime-movie {
    transition-delay: 600ms !important;
}

.scroll-anime.common-fade,
.scroll-anime .common-fade {
    opacity: 0;
    transition: opacity 1200ms;
}

.scroll-anime .common-fade-up, .scroll-anime.common-fade-up {
    opacity: 0;
    transform: translate(0, 20px);
    transition: all 800ms;
}

.scroll-anime.anime.common-fade,
.scroll-anime.anime .common-fade {
    opacity: 1;
}

.scroll-anime.anime .common-fade-up, .scroll-anime.anime.common-fade-up {
    opacity: 1;
    transform: translate(0, 0);
}

@media print, screen and (min-width: 769px) {
    header .bg_header.show {
        transform: translate(0, 0px);
    }
}
