#title-logo-animation {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--vh, 1vh)* 100);
    background-color: #fff;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.5s ease;
}

#title-logo-animation.fade-out {
    transform: translateX(-100%);
}

.animation-container {
    position: relative;
    width: 100%;
    height: calc(var(--vh, 1vh)* 100);
    display: flex;
    justify-content: center;
    align-items: center;
}

.title-logo {
    max-width: 110px;
    height: auto;
    opacity: 0;
    animation: fadeIn 1s ease forwards;
}

.animation-overlay {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    background-color: #fff;
    z-index: 2;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

body.loading {
    overflow: hidden;
}

/* アニメーション中はスクロールを無効化 */
body.animation-active {
    overflow: hidden;
}