/* ===== ANIMATIONS ===== */

/* 基本回転アニメーション */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* スクロールバウンスアニメーション */
@keyframes scrollBounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

/* PC版About ENGINEギアアニメーション */
@keyframes pcAboutGear1 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pcAboutGear2 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pcAboutGear3 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pcAboutGear4 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pcAboutGear5 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* スライドライン */
@keyframes sdl01 {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

/* ぽよよんアニメーション */
@keyframes poyoyon3 {
    0%, 40% {
        transform: skew(0deg, 0deg);
    }
    5% {
        transform: skew(5deg, 5deg);
    }
    10% {
        transform: skew(-4deg, -4deg);
    }
    15% {
        transform: skew(3deg, 3deg);
    }
    20% {
        transform: skew(-2deg, -2deg);
    }
    25% {
        transform: skew(1deg, 1deg);
    }
    30% {
        transform: skew(-1deg, -1deg);
    }
    35% {
        transform: skew(0deg, 0deg);
    }
}

/* ブランドスライド */
@keyframes brandSlide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-120px * 9 - 16px * 9)); /* 9個の画像分の正確な幅で移動 */
    }
}

/* スクロールテキスト右 */
@keyframes scrollTextRight {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* フッターギア回転アニメーション */
@keyframes rotateAnimation1 {
    from {
        transform: translateY(4px) rotate(0deg);
    }
    to {
        transform: translateY(4px) rotate(360deg);
    }
}

@keyframes rotateAnimation2 {
    from {
        transform: translateY(0px) rotate(0deg);
    }
    to {
        transform: translateY(0px) rotate(360deg);
    }
}

@keyframes rotateAnimation3 {
    from {
        transform: translateY(3px) rotate(0deg);
    }
    to {
        transform: translateY(3px) rotate(360deg);
    }
}

/* プロダクトスライド */
@keyframes slideProducts {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* ギア回転 */
@keyframes rotateGear {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}