#fv {
    position: relative;
    z-index: 0;
    width: 100%;
    max-width: 1920px;
    box-sizing: border-box;
}

.fv-container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}


/* SP用 */
@media screen and (max-width: 768px) {
    #fv {
        width: 100%;
        max-width: 1920px;
        overflow: hidden;
        height: 750px;
    }

    .fv-container {
        width: 100%;
        margin: 0 auto;
        position: relative;
        z-index: 1;
    }

    /* 無限スクロール用ラッパー */
    .fv-scroll-wrapper {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .fv-bg-loop {
        display: flex;
        width: 600%;
        height: 100%;
        animation: scroll-fv 95s linear infinite;
        will-change: transform;
        transform: translateX(0) translateZ(0) scale3d(1,1,1);
    }

    .fv-bg-loop img {
        width: 100%;
        height: 100vh;
        object-fit: cover;
    }

    /* 固定テキスト */
    .fv-text {
        position: absolute;
        top: 32%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
        z-index: 2;
    }

    /* アニメーション定義 */
    @keyframes scroll-fv {
        0%   { transform: translateX(0); }
        50%  { transform: translateX(-50%); }
        100% { transform: translateX(-100%); }
    }

    /* PC用非表示 */
    .header-contact-img.pc-only {
        display: none;
    }
}

@media screen and (max-width: 390px) {
    .fv-text {
        top: 41%;
    }

    .fv-bg-loop {
        animation: scroll-fv 75s linear infinite;
    }
}
