/*-------------
site-loading
（styles.css の 538〜628行目あたり、旧 site-loading ブロックと丸ごと差し替え）
-------------*/
html.is-loading,
html.is-loading body{
    overflow: hidden;
}

.site-loading{
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    inset: 0;
    z-index: 999;
    width: 100%;
    height: 100dvh;
    background: #fff;
    opacity: 1;
    transition: opacity .8s ease; /* JSの FADE_DURATION と揃える */
}
.site-loading._loaded{
    opacity: 0;
    pointer-events: none;
}

/* ロゴ */
.site-loading-logo{
    display: block;
    width: min(320px, 62vw);
    height: auto;
    opacity: 0;
    transform: translateY(8px) scale(.96);
    transition:
        opacity 1s cubic-bezier(.22,.61,.36,1),
        transform 1s cubic-bezier(.22,.61,.36,1);
}
.site-loading._show .site-loading-logo{
    opacity: 1;
    transform: translateY(0) scale(1);
}

@media screen and (max-width:768px){
    .site-loading-logo{
        width: min(240px, 70vw);
    }
}

/* アニメーションを好まないユーザー向け */
@media (prefers-reduced-motion: reduce){
    .site-loading,
    .site-loading-logo{
        transition-duration: .01ms !important;
    }
    .site-loading-logo{
        transform: none;
    }
}
