.section.hero {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: var(--black);
    color: var(--white);
    position: relative;
    overflow: hidden;
    margin-bottom: 4.68vw;
}

.section.hero:nth-child(1) {
    margin-top: -13vw;
}

.section.hero .visual {
    opacity: 0.8;
}

.section.hero .visual.mobile {
    display: none;
}

.section.hero .visual,
.section.hero picture,
.section.hero picture img,
.section.hero video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section.hero .content {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    left: var(--gap-50);
    opacity: 0;
    transition-property: opacity, bottom;
}

.section.hero .content .title {
    display: block;
    width: 100%;
}

.section.hero .content.revealed {
    opacity: 1;
    bottom: 40px;
}

.section.hero .arrow-down {
    width: 4.17vw;
    height: 4.17vw;
    display: block;
    background-image: url(../../images/arrow-down.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 60px;
    bottom: 60px;
    opacity: 0;
    border-radius: 50%;
}

.section.hero .arrow-down:hover {
    background-image: url(../../images/arrow-down-hover.svg);
    background-color: var(--color-f3);
}

.section.hero .arrow-down.revealed {
    opacity: 1;
    transition-delay: 0.4s;
}

@media only screen and (max-width: 768px) {
    .section.hero {
        height: 100vh;
        margin-bottom: 20vw;
    }

    .section.hero:nth-child(1) {
        margin-top: -36vw;
    }

    .section.hero .content {
        width: 100%;
        padding: 0 var(--gap-50);
        left: 0;
        text-align: center;
    }

    .section.hero .visual.mobile {
        display: block;
    }

    .section.hero .visual.desktop {
        display: none;
    }

    .section.hero .arrow-down {
        display: none;
    }
}