#content-wrapper .leaflet-control-layers {
        display: none !important;
    }

    /* 推定救急搬送時間: オフ=白、オン=背景地図ボタン（outline-secondary.active）と同色 */
    #nav-toggle-travel.btn-outline-secondary:not(.active),
    #nav-toggle-travel.btn-outline-secondary:not(.active):hover,
    #nav-toggle-travel.btn-outline-secondary:not(.active):focus,
    #nav-toggle-travel.btn-outline-secondary:not(.active):active {
        background-color: #fff;
        border-color: #ced4da;
        color: #212529;
    }
    #nav-toggle-travel.btn-outline-secondary.active,
    #nav-toggle-travel.btn-outline-secondary.active:hover,
    #nav-toggle-travel.btn-outline-secondary.active:focus,
    #nav-toggle-travel.btn-outline-secondary.active:active {
        background-color: var(--bs-secondary);
        border-color: var(--bs-secondary);
        color: #fff;
        box-shadow: none;
    }
    #nav-toggle-travel.btn-outline-secondary:focus-visible {
        outline: 2px solid #6c757d;
        outline-offset: 2px;
    }

    html, body {
        height: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden; /* スクロールを防止 */
    }
    #content-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }
    #map {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }
    #content-wrapper .leaflet-top.leaflet-right,
    #content-wrapper .leaflet-top.leaflet-left {
        margin-top: 54px;
    }
    .leaflet-popup {
        z-index: 1000;
    }
    .leaflet-popup-content-wrapper {
        max-height: 80vh;
        overflow-y: auto;
    }
    .legend {
        background: white;
        padding: 10px;
        border-radius: 5px;
        box-shadow: 0 0 15px rgba(0,0,0,0.2);
        line-height: 1.5;
        font-size: 0.9rem;
        z-index: 1000;
    }
    .legend i {
        width: 18px;
        height: 18px;
        float: left;
        margin-right: 8px;
        opacity: 0.8;
        border-radius: 50%;
    }
    .legend .training {
        background: red;
    }
    .legend .related {
        background: blue;
    }
    .legend .other {
        background: gray;
    }
    .travel-time-params {
        min-width: 220px;
        max-width: min(280px, 92vw);
    }
    .travel-time-params .param-row {
        margin-top: 0.5rem;
    }
    .travel-time-params .travel-scenario-radios {
        margin-bottom: 0.25rem;
    }
    .travel-time-params .travel-scenario-radios .travel-scenario-radio-group {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
    }
    .travel-time-params .travel-scenario-radio-item {
        margin-bottom: 0;
    }
    .travel-time-params .travel-scenario-radio-item .form-check-input {
        margin-top: 0.2em;
    }
    .travel-time-params .travel-scenario-radio-item .form-check-label {
        line-height: 1.35;
    }
    .travel-time-params input[type="range"] {
        width: 100%;
        vertical-align: middle;
    }
    .travel-time-params .travel-time-colorbar {
        margin-top: 0.75rem;
        padding-top: 0.65rem;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
    .travel-time-params .travel-map-legend-strip-wrap {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        width: 100%;
    }
    .travel-time-params .travel-map-legend-strip-wrap #travel-map-legend-min,
    .travel-time-params .travel-map-legend-strip-wrap #travel-map-legend-max {
        flex: 0 0 auto;
        font-size: 0.74rem;
        white-space: nowrap;
        line-height: 1.2;
    }
    .travel-time-params .travel-map-legend-strip-wrap .travel-turbo-strip {
        flex: 1 1 auto;
        min-width: 0;
        height: 18px;
    }
    .travel-time-params .travel-map-legend-note {
        font-size: 0.6rem;
        opacity: 0.75;
        margin-top: 4px;
        line-height: 1.35;
        text-align: center;
    }
    .nav-travel-scenario-mobile-select {
        width: auto;
        min-width: 6.5rem;
        max-width: 10rem;
        font-size: 0.8rem;
    }
    /* スマホ: スライダー・搬送先ラジオは非表示。搬送レイヤ ON 時はカラーバー凡例のみ表示（パネル表示は JS） */
    @media (max-width: 767.98px) {
        #travel-tile-range-panel-host.travel-time-params {
            width: calc(100vw - 20px);
            max-width: calc(100vw - 20px);
            min-width: 0;
            padding: 6px 8px;
            box-sizing: border-box;
        }
        #travel-tile-range-panel-host .travel-scenario-radios,
        #travel-tile-range-panel-host .param-row {
            display: none !important;
        }
        #travel-tile-range-panel-host .travel-time-colorbar {
            margin-top: 0;
            padding-top: 0;
            border-top: none;
        }
        #travel-tile-range-panel-host .travel-map-legend-note {
            display: none;
        }
        #travel-tile-range-panel-host .travel-map-legend-strip-wrap {
            gap: 0.35rem;
        }
        #travel-tile-range-panel-host .travel-map-legend-strip-wrap #travel-map-legend-min,
        #travel-tile-range-panel-host .travel-map-legend-strip-wrap #travel-map-legend-max {
            font-size: 0.65rem;
        }
        /* ラベルに幅を取られて帯が消えないよう、帯に最小幅を保証 */
        #travel-tile-range-panel-host .travel-map-legend-strip-wrap .travel-turbo-strip {
            height: 16px;
            min-width: 5rem;
            flex: 1 1 5rem;
        }
    }
    @media (max-width: 768px) {
        .legend {
            font-size: 0.8rem;
            padding: 8px;
            margin-bottom: 10px;
            margin-right: 10px;
        }
        .legend i {
            width: 14px;
            height: 14px;
            margin-right: 6px;
        }
        .leaflet-control-zoom {
            margin-bottom: 10px !important;
            margin-right: 10px !important;
        }
        .leaflet-popup-content-wrapper {
            max-height: 60vh;
        }
    }
    .travel-turbo-strip {
        border-radius: 4px;
        border: 1px solid rgba(0, 0, 0, 0.2);
        box-sizing: border-box;
        background: linear-gradient(
            to right,
            #30123b 0%,
            #4661e9 12%,
            #1ac7c2 24%,
            #5ae622 36%,
            #ecf700 48%,
            #ffc400 60%,
            #ff6b00 72%,
            #e83a1a 84%,
            #9b1b6b 100%
        );
    }

.marker-cluster-small,
    .marker-cluster-medium,
    .marker-cluster-large {
        background-color: rgba(255, 192, 203, 0.6) !important;
    }
    .marker-cluster-small div,
    .marker-cluster-medium div,
    .marker-cluster-large div {
        background-color: rgba(255, 182, 193, 0.9) !important;
        color: #000 !important;
    }
