/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 9998;
    background: #0f345b;
    text-align: center;
    color: #fff;
    top: 0;
    left: 0;
    margin-top: 0!important;
}

/* Loading画像中央配置　*/
#splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(140px, 22vw, 300px);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
    width: 700px;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

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

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.splashbg1,
.splashbg2 {
    display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg1,
body.appear .splashbg2 {
    display: block;
}

/*上に消えるエリア*/
body.appear .splashbg1 {
    animation-name: PageAnime;
    animation-duration: 1.4s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    bottom: 50%;
    left: 0;
    transform: scaleY(1);
    background-color: #fc6a2b;
    /*伸びる背景色の設定*/
}

@keyframes PageAnime {
    0% {
        transform-origin: top;
        transform: scaleY(1);
    }

    100% {
        transform-origin: top;
        transform: scaleY(0);
    }
}

/*下に消えるエリア*/
body.appear .splashbg2 {
    animation-name: PageAnime2;
    animation-duration: 1.4s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    top: 50%;
    left: 0;
    transform: scaleY(1);
    background-color: #fc6a2b;
    /*伸びる背景色の設定*/
}

@keyframes PageAnime2 {
    0% {
        transform-origin: bottom;
        transform: scaleY(1);
    }

    100% {
        transform-origin: bottom;
        transform: scaleY(0);
    }
}

body.appear.no-animation #splash,
body.appear.no-animation .splashbg1,
body.appear.no-animation .splashbg2 {
    animation: none;
    /* animation を無効化 */
    transition: none;
    /* transition を無効化 */
    display: none;
}

/* まず、デフォルトで #splash 関連を非表示にする */
/*#splash {
  display: none;
}*/

/* 通常時は白 */
html,
body {
    /*background: #fff;*/
}

/* 初回訪問時だけ、ページ全体をオレンジにする */
html:not(.visited),
html:not(.visited) body {
    /*background: #fc6a2b;*/
}

/* デフォルトではスプラッシュ非表示 */
#splash,
#splash_logo {
    display: none;
}

/* 初回訪問時だけスプラッシュ表示 */
html:not(.visited) #splash {
    display: block;
}

html:not(.visited) #splash_logo {
    display: block;
}

/* 2回目以降は絶対に表示しない */
html.visited #splash,
html.visited #splash_logo,
html.visited .splashbg1,
html.visited .splashbg2 {
    display: none !important;
    animation: none !important;
    transition: none !important;
}

@media (max-width: 767px) {
    #splash_logo {
    width: clamp(160px, 28vw, 320px);
}
}