@charset "UTF-8";
.search_field_wrap {
  --search-ttl-height: 50px;
  width: 100%;
  max-height: 100vh;
  position: fixed;
  bottom: 0;
  left: 0;
  border-top: 1px solid #FFF;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
  z-index: 100;
}
.search_field_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--search-ttl-height);
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.search_field_ttl::after {
  content: "▼";
  display: inline-block;
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}
.search_field_ttl.is_open::after {
  transform: rotate(180deg);
}
.search_field_form {
  max-height: 0;
  padding-bottom: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.search_field_form.is_open {
  max-height: calc(100vh - var(--header-height) - var(--search-ttl-height));
  padding-bottom: 2rem;
  overflow: scroll;
  opacity: 1;
}
.search_field_list:not(:first-child) {
  margin-top: 1rem;
}
.search_field dt {
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: bold;
}
.search_keyword_wrap {
  width: 100%;
}
.search_keyword_wrap input[type=text] {
  width: 100%;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 5px 8px;
  font-size: 16px;
}
.search_keyword_wrap input[type=text]:focus {
  outline: none;
  border-color: var(--txt-pink, #ff7ac1);
}
.search_checkbox {
  display: none;
}
.search_checkbox_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.search_checkbox_item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.search_checkbox_label {
  display: block;
  opacity: 0.5;
}
.search_checkbox:checked + .search_checkbox_label {
  opacity: 1;
}
.search_rule {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 1rem;
}