.facilities,
.container.facilities {
    width: 100%;
    padding-top: calc(100vw * 20 / var(--page-width));
}

.facilities:before {
    content: "";
    display: block;
    width: 79.6vw;
    height: 2px;
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    left: 9.7vw;
}

.facilities .title {
    -webkit-grid-column: 2 / span 10;
    grid-column: 2 / span 10;
    margin-bottom: calc(100vw * 40 / var(--page-width));
}

.facilities .grid12.grid-facilities {
    -webkit-grid-gap: calc(100vw * 12 / var(--page-width));
    grid-gap: calc(100vw * 12 / var(--page-width));
}

.facility-block {
    -webkit-grid-column: span 12;
    grid-column: span 12;
    display: flex;
    align-items: flex-start;
    gap: calc(100vw * 40 / var(--page-width));
}

.facility-block > * {
    width: 50%;
}

.facility-block .facility-info {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 12 / var(--page-width));
}

.facilities-swiper .swiper-slide {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.facilities-swiper .swiper-slide:after {
    content: "";
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 60%;
}

.facilities-swiper .swiper-slide picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.facilities-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* RESPONSIVE */
@media only screen and (max-width: 740px) {
    .facilities,
    .container.facilities {
        padding-top: 0;
        margin-top: calc(100vw * 80 / var(--page-width));
    }

    .facilities:before {
        position: relative;
        width: 100%;
        left: 0;
        margin-bottom: calc(100vw * 20 / var(--page-width));
    }

    .facilities .title {
        font-size: var(--font-size-h2);
        line-height: var(--line-height-h2);
        letter-spacing: var(--letter-spacing-h2);
    }

    .facilities .title,
    .facility-block {
        -webkit-grid-column: span 12;
        grid-column: span 12;
    }

    .facilities .grid12.grid-facilities {
        -webkit-grid-gap: calc(100vw * 44 / var(--page-width))
            calc(100vw * 20 / var(--page-width));
        grid-gap: calc(100vw * 44 / var(--page-width))
            calc(100vw * 20 / var(--page-width));
    }

    .facility-block {
        gap: calc(100vw * 20 / var(--page-width));
        flex-direction: column;
    }

    .facility-block > * {
        width: 100%;
    }

    .facility-block .facility-info .font-size-h3 {
        font-size: 1.5868rem;
        line-height: 1.666rem;
        letter-spacing: -0.02em;
    }

    .facility-block .facility-info .font-size-t1 {
        font-size: var(--font-size-body);
        line-height: var(--line-height-body);
    }
}
