.fv {
    position: relative;
    width: 100%;
    height: 100vh;
}
.fv_imgBx {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}
.fv_imgBx video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fv h2 {
    position: absolute;
    display: flex;
    flex-direction: column;
    top: 50%;
    left: 50%;

    color: #fff;
    font-size: 88px;
    font-weight: 700;
    letter-spacing: 5px;

    transform: translate(-50%, -50%);
}
.fv h2 span {
    margin-top: 60px;

    font-size: 20px;
    letter-spacing: 2px;
}
.fv_arrow {
    position: absolute;
    bottom: 60px;
    right: 50%;
    width: 1px;
    height: 80px;

    background: #fff;

    animation: fv_arrow 2s ease-in-out infinite;
}
@keyframes fv_arrow {
    0% {
        top: auto;
        bottom: 20px;
        height: 100px;
    }
    25% {
        top: auto;
        bottom: 20px;
        height: 0px;
    }
    26% {
        top: calc(100vh - 120px);
        bottom: auto;
        height: 0;
    }
    37.5% {
        top: calc(100vh - 120px);
        bottom: auto;
        height: 100px;
    }
    50% {
        top: calc(100vh - 120px);
        bottom: auto;
        height: 100px;
    }
    100% {
        top: calc(100vh - 120px);
        bottom: auto;
        height: 100px;
    }
}
.fv_arrow::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;

    background: #fff;

    transform-origin: bottom;
    transform: rotate(15deg);

    animation: fv_arrowBefore 2s ease-in-out infinite;
}
@keyframes fv_arrowBefore {
    0% {
        height: 30px;
    }
    25% {
        height: 0px;
    }
    26% {
        height: 0;
    }
    37.5% {
        height: 30px;
    }
    50% {
        height: 30px;
    }
    100% {
        height: 30px;
    }
}

@media screen and (max-width:1024px) {
    .fv h2 {
        position: absolute;
        display: flex;
        flex-direction: column;
        top: 50%;
        left: 30px;

        color: #fff;
        font-size: 52px;
        font-weight: 700;
        letter-spacing: 5px;

        transform: translate(0, -50%);
    }
    .fv h2 span {
        margin-top: 60px;

        font-size: 15px;
        letter-spacing: 2px;
    }
    .fv_arrow {
        position: absolute;
        bottom: 50%;
        right: 50px;
        width: 1px;
        height: 100px;

        background: #fff;

        transform: translateY(50%);
        animation: fv_arrow 2s ease-in-out infinite;
    }
    @keyframes fv_arrow {
        0% {
            top: auto;
            bottom: 50%;
            height: 100px;
        }
        25% {
            top: auto;
            bottom: calc(50% - 50px);
            height: 0px;
        }
        26% {
            top: calc(50vh - 100px);
            bottom: auto;
            height: 0;
        }
        37.5% {
            top: calc(50vh - 100px);
            bottom: auto;
            height: 100px;
        }
        50% {
            top: calc(50vh - 100px);
            bottom: auto;
            height: 100px;
        }
        100% {
            top: calc(50vh - 100px);
            bottom: auto;
            height: 100px;
        }
    }
}