#map,
#map .map {
    height: 550px !important
}

#map,
.map_legende {
    max-width: 70vw;
    position: relative;
    width: 100%
}

#map,
#map .map,
.map_legende {
    position: relative
}

.container.map {
    font-family: Inter;
    text-align: center;
    padding-top: 5vh;
    padding-bottom: 5vh;
}

.map .headline p {
    font-size: 6rem
}

.container.map .headline {
    color: #333;
    margin-bottom: 44px;
    font-weight: 800;
    padding: 32px 0 12px;
    font-size: 4rem;
    line-height: 4rem;
    font-family: 'Sawarabi Mincho';
}

.map .headline h3 {
    font-size: 8vh
}

.map .headline p b,
.map .headline p strong {
    font-weight: 700
}

#map {
    overflow: hidden;
    z-index: 9;
    margin: auto;
    -webkit-box-shadow: 2px 15px 75px 0 rgba(0, 0, 0, .54);
    -moz-box-shadow: 2px 15px 75px 0 rgba(0, 0, 0, .54);
    box-shadow: 2px 15px 75px 0 rgba(0, 0, 0, .54)
}

#map .leaflet-marker-icon,
.map_legende .marker .marker_dot {
    width: 30px !important;
    height: 30px !important;
    border-radius: 100px;
    padding: 5px;
    display: flex;
    font-size: 20px;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, .25))
}

#map .leaflet-marker-icon {
    background: #00677B;
    align-items: center;
    justify-content: center;
    transition: background .5s, color .5s;
    color: #fff
}

#map .leaflet-marker-icon:hover,
.leaflet-marker-icon.active {
    background: #5f191f !important;
    color: #fff !important
}

#map .leaflet-marker-icon:first-child {
    background: #000000 !important;
    color: #fff
}

#map .leaflet-popup-content-wrapper {
    font-size: 16px
}

#map .leaflet-popup-content a {
    color: #00677B;
    padding-top: 15px;
    font-size: 12px
}

.map_legende {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 0 !important;
    margin: 28px auto auto
}

.map_legende .marker {
    padding: 10px;
    flex: 1 1 calc(33.333% - 10px);
    box-sizing: border-box;
    text-align: left;
    display: flex;
    align-items: center
}

.map_legende .marker .marker_dot {
    background: #fff;
    align-items: center;
    justify-content: center;
    color: #000000
}

.map_legende .marker .marker_text {
    margin-left: 15px;
    color: #333
}

.map_legende .marker.active .marker_dot {
    background: #5f191f;
    color: #fff
}

.leaflet-map-pane {
    width: 100%;
    height: 100%
}

@media screen and (max-width:900px) {
    .map_legende {
        flex-direction: column !important
    }

    .container.map .headline {
        color: #333;
        margin-bottom: 32px;
        font-size: 2rem;
        font-weight: 800;
        padding: 32px 0 12px
    }

    #map {
        max-width: 77vw
    }
}