/* videoをスクロールで制御********************************************************************** */
.video-scroll_box-pc {
    position: relative;
    height: 150vh;
    top: -80px;
    z-index: -1;
}

.video-scroll_box-pc canvas {
    width: 100vw;
}

.video-scroll_box-pc .vision-top-video-pc {
    height: auto !important;
    position: fixed !important;
}

.video-scroll_box-pc .vision-top-video-pc video {
    width: 100%;
}

.video-scroll_box-sp {
    display: none;
}

@media screen and (max-width:768px) {
    .video-scroll_box-pc {
        display: none;
    }

    .video-scroll_box-sp {
        display: block;
        width:100vw;
        position: fixed !important;
        top: 50%;
        transform: translateY(-50%);
        z-index: -1;
    }

    .video-scroll_box-sp img {
        width: 100%;
    }


    /* スクロールで動画をコントロール */
    /* .video-scroll_box-sp {
        display: block;
        position: relative;
        height: 200vh;
        top: -50px;
        z-index: -1;
    }

    .video-scroll_box-sp canvas {
        width: 100vw;
    }

    .video-scroll_box-sp .vision-top-video-sp {
        height: auto !important;
        position: fixed !important;
    }

    .video-scroll_box-sp .vision-top-video-sp video {
        width: 100%;
    } */
    /* スクロールで動画をコントロール end */
}

/* vision-inn********************************************************************** */
.vision-inn {
    background-image: url(../img/vision/vision_inn-back_img.png);
    background-size: cover;
    background-position: center top;
    padding-top: 70vw;
    /* padding-bottom: 50vw; */
}

.vision_sec {
    text-align: center;
    max-width: 1200px;
    width: 62.5vw;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 16vw;
    color: white;

    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.vision_sec img {
    width: 100%;
}

@media screen and (max-width:768px) {
    .vision-inn {
        margin-top: calc(100vh - 50px)
    }

    .vision_sec {
        width: 90vw;
    }
}

/* vision_ttl_sec */
.vision_ttl {
    width: 50vw;
    margin-left: auto;
    margin-right: auto;
}

.vision_ttl img {
    padding-bottom: 1.25vw;
}

.vision_ttl p {
    padding-bottom: 9vw;
    font-size: 1.5rem;
}

.vision_ttl_txt {
    line-height: 2.5;
}

.vision_ttl_txt p {
    padding-bottom: 5vw;
    font-size: min(1.6vw, 24px);
}

@media screen and (max-width:768px) {
    .vision_ttl {
        width: 90vw;
    }

    .vision_ttl p {
        font-size: 1rem;
    }

    .vision_ttl_txt p {
        font-size: max(1.6vw, 12px);
    }
}

/* vision_video_sec */
.vision_video_sec {
    display: flex;
    flex-direction: column;
}

.vision-sec_video {
    width: 51vw;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.vision-sec_video video {
    width: 100%;
}

.vision-sec_video::before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 58vw;
    height: 39vw;
    background-image: url("../img/vision/vision_sec_video_frame.png");
    background-size: cover;
    vertical-align: middle;
    left: -3.3vw;
    top: -5.2vw;
}

@media screen and (max-width:768px) {
    .vision-sec_video {
        width: 81.6vw;
    }

    .vision-sec_video::before {
        width: 90vw;
        height: 59vw;
        left: -4vw;
        top: -7.5vw;
    }
}

.vision-sec_txt {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
    padding-top: 1.25vw;
}

.vision-sec_no-sp {
    display: none;
}

.vision-sec_txt .vision-sec_no-pc {
    width: 12vw;
    margin-left: 7vw;
    margin-right: 7vw;
}

.vision-sec_txt .vision-sec_txt-box {
    background-image: url(../img/vision/vision_sec_txt_frame.png);
    background-size: cover;
    width: 42vw;
    height: 28.4vw;
    max-width: 720px;
    max-height: 540px;
}

.vision-sec_txt .vision-sec_txt-box p {
    line-height: 2;
    margin-bottom: 2.1vw;
    font-size: 1.25vw;
}

.vision-sec_txt .vision-sec_txt-box .vision_sec_txt_ttl {
    width: 18.75vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.4vw;
    margin-bottom: 2.8vw;
}

.vision-sec_txt .vision-sec_txt-box .vision_sec_txt_no {
    width: 7.3vw;
    margin-left: auto;
    margin-right: 3.4vw;
}

@media screen and (max-width:768px) {
    .vision-sec_no-sp {
        display: block;
        width: 30vw;
        margin-left: auto;
        margin-right: auto;
    }

    .vision-sec_txt .vision-sec_no-pc {
        display: none;
    }

    .vision-sec_txt {
        padding-top: 10vw;
        justify-content: center;
    }

    .vision-sec_txt .vision-sec_txt-box {
        width: 80vw;
        height: 60vw;
    }

    .vision-sec_txt .vision-sec_txt-box p {
        font-size: max(3vw, 11px);
        margin-bottom: 2.4vw;
    }

    .vision-sec_txt .vision-sec_txt-box .vision_sec_txt_ttl {
        width: 50vw;
        margin-top: 2.4vw;
        margin-bottom: 2.4vw;
    }

    .vision-sec_txt .vision-sec_txt-box .vision_sec_txt_no {
        width: 20vw;
        margin-top: 2.4vw;
        margin-bottom: 2.4vw;
    }
}