.map-text {
    position: relative;
    z-index: 2;
    padding: 75px 0 0 0;
}

.map-text__bg {
    position: absolute;
    width: calc(100% + 100px);
    max-width: inherit;
    top: 0;
    left: -50px;
    z-index: -1;
    height: auto;
}

.map-text__wrap h2 {
    color: var( --color-black-01 );
}

.map-text__wrap {
    margin-bottom: 80px;
}

.carousels-slider {
    position: relative;
    z-index: 3;
}

.carousels-slider + .cards:not(.bg-light-blue) {
    padding-top: 0;
}

.carousels-slider-homepage {
    position: relative;
    z-index: 3;
}


@media (min-width: 768px) {
    .map-text {
        padding: 80px 0 0 0;
    }

    .map-text__bg {
        width: 1070px;
        left: -151px;
    }

    .map-text__wrap {
        background: rgba(255,255,255,0.8);
        border-radius: 13px;
        box-shadow: 0 3px 12px rgba(0,0,0,0.25);
        padding: 40px 38px;
        max-width: 985px;
        margin: 0 auto 80px auto;
    }

    .map-text__wrap p {
        padding-bottom: 25px;
    }
    
}

@media (min-width: 1025px) {

    .map-text__bg {
        width: 100%;
        left: 0;
        object-fit: cover;
    }
    
}


@media (min-width: 1200px) {
    .map-text {
        padding: 80px 0 50px 0;
    }

    .map-text::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 357px;
        bottom: -120px;
        left: 0;
        z-index: -1;
        background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgb(255 255 255 / 51%) 100%);
    }

    .map-text__wrap {
        margin-bottom: 100px;
    }

    .carousels-slider-homepage {
        margin-top: -70px;
        position: relative;
        background: rgb(255,255,255);
        background: linear-gradient(76deg, rgba(255,255,255,1) 12%, rgba(255,255,255,0.15449929971988796) 24%);
    }
}

.carousels h2 {
    color: var( --color-dark-blue-01 );
    padding-bottom: 4px;
}

.js-carousel {
    margin: 0 -52px 0 -16px;
}

.carousel {
    padding: 8px;
    width: 239px;
    height: 120px;
    background: var( --color-white );
    box-shadow: 0 3px 15px rgba(3,48,65,0.16);
    border-radius: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    overflow: hidden;
}

.carousel img {
    height: auto;
}

.carousel-item {
    padding: 16px;
}

.js-carousel .slick-arrow {
    top: -30px;
}

.js-carousel .slick-prev {
    left: auto;
    margin-left: 0;
    right: 86px;
}

.js-carousel .slick-next {
    right: 52px;
    margin-right: 0;
}

@media (max-width: 400px) {
    .carousels h2 {
        padding-bottom: 60px;
    }
}

@media (min-width: 768px) {
    .carousels h2 {
        padding-bottom: 14px;
    }

    .js-carousel .slick-arrow {
        top: -50px;
    }

    .js-carousel .slick-prev {
        right: 100px;
    }
}

@media (min-width: 1200px) {
    .js-carousel {
        margin: 0 -16px;
    }

    .js-carousel .slick-prev {
        left: auto;
        margin-left: 0;
        right: 82px;
    }
    
    .js-carousel .slick-next {
        right: 22px;
        margin-right: 0;
    }

    .carousel:not(.no-hover):hover {
        box-shadow: 0 3px 15px rgba(3,48,65,0.32);
    }

    .carousel.no-hover {
        cursor: default;
    }
}