:root {
  --base-width-sp: 375;
  --base-width-pc: 1440;
}

.addresssearch-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: calc(40 / var(--base-width-sp) * 100vw);
  background-color: #f5f5f5;
}

.addresssearch-inner {
  width: calc(325 / var(--base-width-sp) * 100vw);
  display: flex;
  flex-direction: column;
  gap: 0;
  height: calc(806 / var(--base-width-sp) * 100vw);
}

.addresssearch-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: calc(15 / var(--base-width-sp) * 100vw) 0;
  background: #231815;
  width: 100%;
  height: calc(54 / var(--base-width-sp) * 100vw);
}

.addresssearch-label-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(7 / var(--base-width-sp) * 100vw);
  height: calc(24 / var(--base-width-sp) * 100vw);
}

.addresssearch-icon {
  font-size: calc(16 / var(--base-width-sp) * 100vw);
  color: #ffffff;
}

.addresssearch-label {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: calc(16 / var(--base-width-sp) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  display: flex;
  align-items: center;
  text-align: center;
  height: calc(24 / var(--base-width-sp) * 100vw);
}

.addresssearch-body {
  display: flex;
  flex-direction: column;
  gap: calc(30 / var(--base-width-sp) * 100vw);
  padding: calc(30 / var(--base-width-sp) * 100vw) 0;
  background: #ffffff;
  height: calc(712 / var(--base-width-sp) * 100vw);
  width: 100%;
  align-items: center;
}

.addresssearch-list {
  width: calc(280 / var(--base-width-sp) * 100vw);
  height: calc(315 / var(--base-width-sp) * 100vw);
  margin: 0 auto;
  padding: calc(10 / var(--base-width-sp) * 100vw);
  background-color: #f5f5f5;
  display: flex;
  flex-direction: column;
  gap: calc(10 / var(--base-width-sp) * 100vw);
  overflow-y: auto;
  border-radius: 4px;
}

.addresssearch-list label {
  display: flex;
  align-items: center;
  gap: calc(10 / var(--base-width-sp) * 100vw);
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  color: #231815;
  font-weight: 500;
}

.addresssearch-list input[type="checkbox"] {
  width: calc(20 / var(--base-width-sp) * 100vw);
  height: calc(20 / var(--base-width-sp) * 100vw);
  border: 1px solid #231815;
  appearance: none;
  background-color: #fff;
  cursor: pointer;
  position: relative;
}

.addresssearch-list input[type="checkbox"]:checked::before {
  content: "\2713";
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  color: #231815;
  position: absolute;
  top: 0;
  left: 3px;
}

.addresssearch-conditions {
  width: calc(280 / var(--base-width-sp) * 100vw);
  display: flex;
  flex-direction: column;
  gap: calc(31 / var(--base-width-sp) * 100vw);
}

.addresssearch-condition-section {
  display: flex;
  flex-direction: column;
  gap: calc(20 / var(--base-width-sp) * 100vw);
}

.addresssearch-condition-row-top,
.addresssearch-condition-row-bottom {
  display: flex;
  flex-direction: row;
  gap: calc(20 / var(--base-width-sp) * 100vw);
  align-items: center;
}

.addresssearch-selectcondition-row {
  display: flex;
  flex-direction: row;
  gap: calc(10 / var(--base-width-sp) * 100vw);
  align-items: center;
}

.addresssearch-selectcondition-section {
  display: flex;
  flex-direction: row;
  justify-content: space-between; /* ✅ 両端に配置 */
  gap: calc(10 / var(--base-width-sp) * 100vw); /* あってもOK */
}

.addresssearch-condition-row-top label {
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
  width: calc(58 / var(--base-width-sp) * 100vw);
}

.addresssearch-condition-row-bottom label,
.addresssearch-price-select label,
.addresssearch-roomtype-select label,
.addresssearch-area-select label,
.addresssearch-walk-select label,
.addresssearch-brokeragefee-select label,
.addresssearch-handover-select label,
.addresssearch-landarea-select label,
.addresssearch-pastyear-select label,
.addresssearch-zone-select label {
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
}

.addresssearch-price-select,
.addresssearch-roomtype-select,
.addresssearch-area-select,
.addresssearch-walk-select,
.addresssearch-brokeragefee-select,
.addresssearch-handover-select,
.addresssearch-landarea-select,
.addresssearch-pastyear-select,
.addresssearch-zone-select {
  display: flex;
  flex-direction: column;
  gap: calc(5 / var(--base-width-sp) * 100vw);
}

.addresssearch-price-select select,
.addresssearch-area-select select,
.addresssearch-walk-select select,
.addresssearch-brokeragefee-select select,
.addresssearch-handover-select select,
.addresssearch-landarea-select select,
.addresssearch-pastyear-select select,
.addresssearch-zone-select select {
  width: calc(134 / var(--base-width-sp) * 100vw);
  height: calc(41 / var(--base-width-sp) * 100vw);
  background: #e9e9e9;
  border-radius: 5px;
  padding: calc(9 / var(--base-width-sp) * 100vw) calc(15 / var(--base-width-sp) * 100vw);
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
}

.addresssearch-roomtype-select {
  display: flex;
  flex-direction: column;
  gap: calc(5 / var(--base-width-sp) * 100vw);
}

.addresssearch-roomtype-select .choices__inner {
  width: calc(134 / var(--base-width-sp) * 100vw);
  height: calc(41 / var(--base-width-sp) * 100vw);
  background: #e9e9e9;
  border-radius: 5px;
  padding: calc(9 / var(--base-width-sp) * 100vw) calc(15 / var(--base-width-sp) * 100vw);
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
  display: flex;
  align-items: center;
}

/* ▼ 選択された複数値の見た目 */
.addresssearch-roomtype-select .choices__list--multiple .choices__item {
  font-size: calc(13 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
  background-color: #e9e9e9;
  padding: calc(4 / var(--base-width-sp) * 100vw) calc(6 / var(--base-width-sp) * 100vw);
  border-radius: none !important;
  border: none !important;
  margin-right: calc(4 / var(--base-width-sp) * 100vw);
}


/* ▼ プレースホルダーの見た目を制御 */
.addresssearch-roomtype-select .choices__placeholder {
  color: #231815; 
  font-weight: 400; /* 少し軽めに */
  font-size: calc(14 / var(--base-width-sp) * 100vw);
}

.choices__input--cloned {
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important; /* 完全に画面外に飛ばす */
  pointer-events: none !important;
}

.choices__input {
  font-weight: 700;

}

.addresssearch-roomtype-select .choices__list--multiple:empty::before {
  content: attr(data-placeholder);
  color: #231815;
  font-size: calc(14 / var(--base-width-sp) * 100vw);
  font-weight: 400;
  pointer-events: none;
  position: absolute;
  left: calc(15 / var(--base-width-sp) * 100vw);
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}



.addresssearch-button {
  display: flex;
  justify-content: center;
  align-items: center;
}

.addresssearch-btn-search {
  width: calc(280 / var(--base-width-sp) * 100vw);
  height: calc(45 / var(--base-width-sp) * 100vw);
  background: #fee600;
  font-size: calc(16 / var(--base-width-sp) * 100vw);
  font-weight: 700;
  color: #231815;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(10 / var(--base-width-sp) * 100vw);
  border: none;
  cursor: pointer;
  font-family: 'Noto Sans JP', sans-serif;
  
}

.addresssearch-select-block {
  display: flex;
  flex-direction: column;
  gap: calc(10 / var(--base-width-sp) * 100vw);
}

@media (min-aspect-ratio: 1/1) {

  .addresssearch-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: calc(40 / var(--base-width-pc) * 100vw);
    background-color: #f5f5f5;
  }

  .addresssearch-inner {
    width: calc(1000 / var(--base-width-pc) * 100vw);
    height: calc(457 / var(--base-width-pc) * 100vw);
    display: flex;
    flex-direction: column;
  }

  .addresssearch-inner-toppart {
    height: calc(60 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    background: #231815;
    width: 100%;
    padding: calc(15 / var(--base-width-pc) * 100vw) 0;
  }

  .addresssearch-label-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(12 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-icon {
    font-size: calc(18 / var(--base-width-pc) * 100vw);
    color: #ffffff;
  }

  .addresssearch-label {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: calc(20 / var(--base-width-pc) * 100vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #ffffff;
    display: flex;
    align-items: center;
  }

  .addresssearch-body {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: calc(50 / var(--base-width-pc) * 100vw);
    background: #ffffff;
    padding: calc(30 / var(--base-width-pc) * 100vw) 0;
    height: calc(397 / var(--base-width-pc) * 100vw);
    width: 100%;
  }

  .addresssearch-layout-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: calc(50 / var(--base-width-pc) * 100vw); /* 左右の間隔 */
    width: calc(800 / var(--base-width-pc) * 100vw); /* ← list + conditions 幅の合計 + α */
    margin: 0 auto;
  }


  .addresssearch-list {
    width: calc(247 / var(--base-width-pc) * 100vw);
    height: calc(337 / var(--base-width-pc) * 100vw);
    background: #f5f5f5;
    padding: calc(20 / var(--base-width-pc) * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--base-width-pc) * 100vw);
    overflow-y: auto;
    border-radius: 4px;
  }

  .addresssearch-list label {
    display: flex;
    align-items: center;
    gap: calc(10 / var(--base-width-pc) * 100vw);
    font-size: calc(16 / var(--base-width-pc) * 100vw);
    color: #231815;
    font-weight: 500;
  }

  .addresssearch-list input[type="checkbox"] {
    width: calc(23 / var(--base-width-pc) * 100vw);
    height: calc(23 / var(--base-width-pc) * 100vw);
    border: 1px solid #231815;
    appearance: none;
    background-color: #fff;
    cursor: pointer;
    position: relative;
  }

  .addresssearch-list input[type="checkbox"]:checked::before {
    content: "\2713";
    font-size: calc(16 / var(--base-width-pc) * 100vw);
    color: #231815;
    position: absolute;
    top: 0;
    left: 3px;
  }

  .addresssearch-conditions {
    display: flex;
    flex-direction: column;
    gap: calc(70 / var(--base-width-pc) * 100vw);
    width: calc(480 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-condition-section {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-condition-row {
    display: flex;
    flex-direction: row;
    gap: calc(20 / var(--base-width-pc) * 100vw);
    align-items: center;
  }

.addresssearch-condition-row label,
.addresssearch-price-select label,
.addresssearch-roomtype-select label,
.addresssearch-area-select label,
.addresssearch-walk-select label,
.addresssearch-brokeragefee-select label,
.addresssearch-handover-select label,
.addresssearch-landarea-select label,
.addresssearch-pastyear-select label,
.addresssearch-zone-select label {
  font-size: calc(14 / var(--base-width-pc) * 100vw);
  font-weight: 700;
  color: #231815;
  width: calc(100 / var(--base-width-pc) * 100vw);
}


  .addresssearch-select-inner-block {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-selectcondition-section {
    display: flex;
    flex-direction: row;
    gap: calc(15 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-price-select,
  .addresssearch-roomtype-select,
  .addresssearch-area-select,
  .addresssearch-walk-select,
  .addresssearch-brokeragefee-select,
  .addresssearch-handover-select,
  .addresssearch-landarea-select,
  .addresssearch-pastyear-select,
  .addresssearch-zone-select  {
    display: flex;
    flex-direction: column;
    gap: calc(5 / var(--base-width-pc) * 100vw);
    width: calc(150 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-price-select select,
  .addresssearch-area-select select,
  .addresssearch-walk-select select,
  .addresssearch-brokeragefee-select select,
  .addresssearch-handover-select select,
  .addresssearch-landarea-select select,
  .addresssearch-pastyear-select select,
  .addresssearch-zone-select select {
    background: #e9e9e9;
    border-radius: 5px;
    padding: calc(9 / var(--base-width-pc) * 100vw) calc(15 / var(--base-width-pc) * 100vw);
    font-size: calc(14 / var(--base-width-pc) * 100vw);
    font-weight: 700;
    color: #231815;
    height: calc(41 / var(--base-width-pc) * 100vw);
    width: 100%;
  }

.choices {
  height: calc(41 / var(--base-width-pc) * 100vw);
  border-radius: 5px;
}

.addresssearch-roomtype-select .choices__inner {
  width: 100%;
  height: calc(41 / var(--base-width-pc) * 100vw);
  background: #e9e9e9;
  border-radius: 5px;
  padding: calc(9 / var(--base-width-pc) * 100vw) calc(15 / var(--base-width-pc) * 100vw);
  font-size: calc(14 / var(--base-width-pc) * 100vw);
  font-weight: 700;
  color: #231815;
  display: flex;
  align-items: center;
}

/* ▼ 横長用：選択された値（タグ表示） */
.addresssearch-roomtype-select .choices__list--multiple .choices__item {
  font-size: calc(13 / var(--base-width-pc) * 100vw);
  font-weight: 700;
  color: #231815;
  background-color: #e9e9e9;
  padding: calc(4 / var(--base-width-pc) * 100vw) calc(6 / var(--base-width-pc) * 100vw);
  border-radius: 3px;
  margin-right: calc(4 / var(--base-width-pc) * 100vw);
}

.addresssearch-roomtype-select .choices__placeholder {
  font-size: calc(14 / var(--base-width-pc) * 100vw);
}

.addresssearch-roomtype-select .choices__list--multiple:empty::before {
  content: attr(data-placeholder);
  color: #231815;
  font-size: calc(14 / var(--base-width-pc) * 100vw);
  font-weight: 400;
  pointer-events: none;
  position: absolute;
  left: calc(15 / var(--base-width-pc) * 100vw);
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}


  .addresssearch-button {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(50 / var(--base-width-pc) * 100vw);
  }

  .addresssearch-btn-search {
    width: calc(480 / var(--base-width-pc) * 100vw);
    height: calc(45 / var(--base-width-pc) * 100vw);
    background: #fee600;
    font-size: calc(16 / var(--base-width-pc) * 100vw);
    font-weight: 700;
    color: #231815;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(10 / var(--base-width-pc) * 100vw);
    border: none;
    cursor: pointer;
    font-family: 'Noto Sans JP', sans-serif;
  }


}