    /* --- デザイン調整：シンプルかつ視認性の高いレイアウト --- */
    #search-new-filters {
        max-width: 1200px; 
        margin: 0 auto; 
        padding-right: 20px; 
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }

    /* メインコンテナ：過度な装飾を廃止し、清潔感を出す */
    .filter-main-container {
        background: #fff;
        padding: 20px 0;
    }

    /* セクション見出し：シンプルに青い下線のみ */
    .filter-section-title {
        font-size: 22px;
        font-weight: bold;
        color: #333;
        padding-bottom: 4px;
        margin-bottom: 20px;
        display: inline-block;
        border-bottom: 3px solid #2ea7e1;
    }

    /* 各フィルターグループのコンテナ */
    .filter-group {
        margin-bottom: 40px;
    }
    .filter-accordion-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        text-align: left;
        cursor: pointer;
    }
    .filter-accordion-toggle .filter-section-title {
        margin: 0;
    }
    .filter-accordion-content {
        padding-top: 12px;
    }
    #suzuki_manage .filter-accordion-toggle {
        margin-bottom: 20px;
    }
    #suzuki_manage .suzuki_title {
        flex: 1;
        margin-bottom: 0;
    }

    /* グリッドレイアウト：横2列を基本とする */
    .filter-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 30px;
        margin-top: 10px;
    }

    /* 個別アイテムのスタイル：シンプルに */
    .filter-item {
        display: flex;
        align-items: center;
        cursor: pointer;
        padding: 4px 0;
        font-size: 20px;
        color: #333;
        transition: color 0.2s;
    }
    .filter-item:hover {
        color: #0066cc;
    }
    .filter-item input {
        width: 18px !important;
        height: 18px !important;
        margin-right: 10px;
        cursor: pointer;
        flex-shrink: 0;
    }
    .facet-count {
color: #666;
  font-size: 15px;
  margin-left: 2px;
  font-weight: normal;
    }

    /* 物件タイプ専用：画像通りの配置 */
    .type-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 30px;
    }
    .type-full {
        grid-column: span 2;
    }
    .jisha-highlight {
        background: #fcfcfc;
        border: 1px solid #eef;
        padding: 15px;
        border-radius: 4px;
        margin-bottom: 10px;
    }

    /* 自社管理専用エリア：背景色のみで区別 */
    #suzuki_manage {
        background-color: #f9f9f9;
        border: 1px solid #eee;
        padding: 25px;
        border-radius: 8px;
        margin-bottom: 40px;
    }
    .suzuki_title {
        font-weight: bold;
        display: block;
        text-align: center;
        margin-bottom: 25px;
        color: #00796b;
        font-size: 23px;
        border-bottom: 1px solid #ccc;
        padding-bottom: 10px;
    }

    /* 入力フィールド：シンプルに */
    .filter-input {
        width: 100%;
        padding: 8px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        font-size: 20px;
    }

    /* 結果パネル */
    .results-panel { 
        background: #fff;
  border-top: 4px solid #eee;
  margin-top: 50px;
  width: 945px;
  padding: 0;
  margin-right: 16px;
    }
    .hit-count-area {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 15px;
    }
    .hit-count-number {
        color: crimson; 
        font-weight: bold; 
        font-size: 14px;
    }

    /* --- 駅セクションの詳細調整 --- */
    /* 主要駅：表形式（グリッド）再現 */
    .station-table-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-top: 1px solid #ddd;
        border-left: 1px solid #ddd;
        margin-bottom: 30px;
    }
    .station-table-item {
        display: flex;
        align-items: center;
        padding: 10px;
        border-right: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        cursor: pointer;
        font-size: 10px;
        color: #333;
    }
    .station-table-item:hover {
        background-color: #f9f9f9;
    }
    .station-table-item input {
        width: 18px !important;
        height: 18px !important;
        margin-right: 10px;
        flex-shrink: 0;
    }

    /* 路線別グループ：アコーディオン形式 */
    .station-line-group {
        border: 1px solid #ddd;
        border-radius: 4px;
        margin-bottom: 10px;
        overflow: hidden;
    }
    .station-line-header {
        background: #fff;
        padding: 12px 15px;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: bold;
        color: #444;
        border-bottom: 1px solid transparent;
        transition: background 0.2s;
    }
    .station-line-header:hover {
        background: #f5f5f5;
    }
    .station-line-header.active {
        border-bottom: 1px solid #ddd;
    }
    .station-line-icon {
        font-size: 12px;
        transition: transform 0.3s;
    }
    .station-line-icon.rotated {
        transform: rotate(45deg);
    }
    .station-line-content {
        padding: 15px;
        background: #fff;
    }
    .station-line-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 20px;
    }

    /* --- 物件カード用スタイル (list83.latte から移植) --- */
    .items.jisha .building_datail.pc {
        font-size: medium;
        color: #c24200;
        font-weight: bold;
    }
    .items.jisha dl.rent, 
    .items.jisha dl.rent2 {
        margin-top: 3px;
        background-color: #e8f5d370;
        margin-top: 20px;
        padding: 8px;
        border-radius: 5px;
    }
    .genre4-text-highlight {
        font-size: medium;
        color: #c24200;
        font-weight: bold;
    }
    .genre4-box-highlight {
        background-color: #e8f5d370;
        margin-top: 20px;
        padding: 8px;
        border-radius: 5px;
    }
    .genre4-label-width {
        width: 100px;
    }
    .genre4-text-large {
        font-size: 28px;
        line-height: 30px;
    }
    .standard-text-size {
        font-size: 20px;
    }
    .owner-no {
        padding-left: 16px;
        color: #267bae;
        font-size: 20px;
    }
    /* ラベルと値の横並びレイアウトを強制的に適用 */
    .building_info dl {
        overflow: hidden; /* float解除 */
    }
    .building_info dl dt, 
    .building_info dl dd {
        float: left;
        margin: 0;
        padding: 0;
    }
    .info-label, .building_info dl dt {
        width: 125px;
        color: #267bae;
        clear: left;
    }
    .info-value, .building_info dl dd {
        width: calc(100% - 125px);
        font-weight: 700;
        color: #267bae;
    }
    .corporate-badge {
        font-size: large;
        position: absolute;
        padding: 3px;
        right: 14px;
        border: double;
        color: crimson;
    }
    .sale-price {
        display: inline-block; 
        vertical-align: bottom;
        font-size: 18px;
        font-weight: bold;
    }
    .promo-badge {
        color: white;
        padding: .4em;
        border: 2px solid;
        border-radius: .2em;
        display: inline-block;
        font-size: 1.3em;
        font-weight: bold;
        background-color: #00aefd;
    }
    .other-rooms-link {
        border: double 2px;
        color: darkblue;
        padding: 2.5px 2.5px;
        border-radius: 3px;
        font-size: 3vw;
        float: right;
        text-decoration: none; 
        display: inline;
    }

    /* 行列レイアウト */
    .row-flex {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }
    .col-half {
        flex: 1;
        min-width: 300px;
    }
/* 物件名入力欄のスタイル改善 */
.autocomplete-input-container {
    position: relative;
    display: flex;
    align-items: center;
}
.autocomplete-input {
    padding-left: 30px !important; /* アイコン分空ける */
    background-image: url('/common/css/images/search.svg');
    background-size: 20px;
    background-position: left 7.5px center;
    background-repeat: no-repeat;
}
.autocomplete-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    max-height: 300px;
    overflow-y: auto;
    margin-top: -1px; /* 入力欄と密着させる */
}
.autocomplete-item {
    width: 100%;
    text-align: left;
    padding: 12px 15px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 10px;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}
.autocomplete-item:hover {
    background-color: #f5faff;
    color: #0066cc;
}
.autocomplete-item:last-child {
    border-bottom: none;
}
    @media screen and (max-width: 700px) {
        #search-new-filters {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            padding-left: 8px;
            padding-right: 8px;
        }
        #search-new-filters .results-panel,
        #search-new-filters #property-list {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            margin-right: 0;
        }
        #search-new-filters .items,
        #search-new-filters .azukari {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
        }
        .row-flex {
            flex-direction: column;
        }
        .col-half {
            width: 100%;
        }
        .filter-grid, .type-grid, .station-table-grid, .station-line-grid {
            grid-template-columns: 1fr;
        }
        .type-full {
            grid-column: span 1;
        }
    }


/* ---- dual range slider ---- */
.dual-range { position: relative; height: 60px; margin-top: 12px; }
.dual-range-track, .dual-range-fill { position: absolute; top: 27px; height: 6px; border-radius: 3px; }
.dual-range-track { left: 0; right: 0; background: #d5dce6; z-index: 1; }
.dual-range-fill { background: linear-gradient(90deg, #2e9be6 0%, #43c98a 100%); z-index: 2; }
.dual-range-fill.single { background: #2e9be6; }
.dual-range input[type="range"] {
    position: absolute; top: 14px; left: 0; width: 100%; height: 24px; margin: 0;
    -webkit-appearance: none; appearance: none; background: transparent;
    pointer-events: none; z-index: 3;
}
.dual-range input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 18px; height: 18px; margin-top: 0;
    border-radius: 50%; border: 3px solid #fff; cursor: grab; pointer-events: auto;
    box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.dual-range input[type="range"]::-moz-range-thumb {
    width: 18px; height: 18px; border-radius: 50%; border: 3px solid #fff;
    cursor: grab; pointer-events: auto; box-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.dual-range input[type="range"].dual-range-min::-webkit-slider-thumb { background: #2e9be6; }
.dual-range input[type="range"].dual-range-min::-moz-range-thumb { background: #2e9be6; }
.dual-range input[type="range"].dual-range-max::-webkit-slider-thumb { background: #43c98a; }
.dual-range input[type="range"].dual-range-max::-moz-range-thumb { background: #43c98a; }
.dual-range-legend { display: flex; align-items: center; gap: 14px; margin-top: 4px; font-size: 11px; color: #444; }
.dual-range-legend .lg-min::before, .dual-range-legend .lg-max::before {
    content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%;
    margin-right: 5px; vertical-align: -1px;
}
.dual-range-legend .lg-min::before { background: #2e9be6; }
.dual-range-legend .lg-max::before { background: #43c98a; }
