.search-result-page {
  margin-top: 40px;
}
.s .search-result-page {
  margin-top: 70px;
}
.page {
  padding: 0px 60px 20px;
  position: relative;
}
.s .page {
  padding: 64px 0px 110px;
}
/* PC/SPでキーワード入力のplaceholderを出し分け */
.vkfs-input-pc {
  display: block;
}
.vkfs-input-sp {
  display: none;
}
.s .vkfs-input-pc {
  display: none !important;
}
.s .vkfs-input-sp {
  display: block !important;
}
.vkfs-hero {
  max-width: 1388px;
  width: 100%;
  margin: 0 auto;
}
.vkfs-hero__panel {
  --card: #fff;
  --accent: #0c5bd9;
  --accent-2: #143a8f;
  --txt: #103255;
  --muted: #7b8aa0;
  --radius: 14px;
  background: #ffffff4d;
  border-radius: var(--radius);
  border: 2px solid #fff;
  margin-bottom: 100px;
}
.vkfs-hero__fields {
  display: flex;
  align-items: center;
  width: 100%;
}
.vkfs-hero__tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.vkfs-hero__tabs button {
  appearance: none;
  border: 0;
  background: #e8f0ff;
  color: var(--txt);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
}
.vkfs-hero__tabs button:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}
.vkfs-hero__tabs button.is-active {
  background: var(--accent);
  color: #fff;
}

/* .vkfs-hero__form {
  margin: 10px 0 16px;
} */
.vkfs-hero__form-inner {
  padding: 30px 60px 35px;
}

.vkfs-hero__search-wrapper {
  max-width: 836px;
  width: 100%;
  position: relative;
}
/* 保存した条件のボタン */
.vkfs-hero__saveConditions {
  position: fixed;
  max-width: 72px;
  top: max(
    24%,
    calc(var(--ybp-header-nav-bottom, var(--ybp-header-height, 160px)) + 5vh)
  );
  right: 0%;
  line-height: 1.2;
  font-weight: 700;
  z-index: 1;
}
.vkfs-hero__saveConditions a {
  position: relative;
  display: block;
  width: 100%;
  background: #fff;
  border-radius: 10px 0 0 10px;
  box-shadow: 0 -8px 24px 0 #0132742e;
  padding: 20px 24px 20px 30px;
  text-decoration: none;
  color: #0c72be;
  transition-duration: 0.4s;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  font-size: 1.125rem /* 18px (基準16px) */;
}
.vkfs-hero__saveConditions a:hover {
  transform: scale(1.1);
}
.vkfs-hero__saveConditions a:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}
.vkfs-hero__saveConditions a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 19px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-save.png)
    no-repeat center;
  background-size: 100% 100%;
  margin-bottom: 6px;
}
/* 検索履歴の各項目のアイコン画像 */
/* .vkfs-autocomplete__text::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-history.svg)
    no-repeat center;
  background-size: 100% 100%;
} */
.vkfs-hero__search-mode {
  display: flex;
  justify-content: center;
  gap: 16px;
  font-size: 14px;
  background-color: #fff;
  padding: 14px 0;
}

.vkfs-hero__search-mode label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  color: var(--txt);
}
.vkfs-hero__search-mode input[type="radio"] {
  cursor: pointer;
  width: 20px;
  height: 20px;
}

.vkfs-hero__search {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #fff;
  border-radius: 999px;
  padding: 10px 12px;
  box-shadow: 4px 4px 10px #00648029;
}
.vkfs-hero__searchIcon::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-left: 6px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-search_03.png)
    no-repeat center;
  background-size: 100% 100%;
}
.vkfs-hero__search input {
  flex: 1;
  border: 0;
  outline: 0;
  font-size: 16px;
  padding: 8px 6px;
  background: transparent;
}
.vkfs-hero__search:has(input:focus-visible) {
  box-shadow: 4px 4px 10px #00648029;
}
.vkfs-hero__search input:focus-visible {
  outline: none;
}
.vkfs-hero__clear {
  position: relative;
  font-size: 14px;
  margin-left: 25px;
  padding-left: 20px;
  width: fit-content;
}
.vkfs-hero__clear::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 16px;
  transform: translateY(-50%);
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-clear.png)
    no-repeat center;
  background-size: 100% 100%;
  font-size: 14px;
}
.vkfs-hero__clear a {
  display: inline-block;
  max-width: 100px;
  color: #666666;
}
.vkfs-hero__clear a:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
  border-radius: 4px;
}
.s .vkfs-hero__clear a {
  max-width: 90px;
}

/* オートコンプリート */
.vkfs-hero__autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  background: var(--card);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(12, 91, 217, 0.15);
  list-style: none;
  padding: 0;
  margin: 4px 0 0 0;
  max-height: 280px;
  overflow-y: auto;
  z-index: 100;
}

.vkfs-hero__autocomplete li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f2;
  transition: background-color 0.2s;
  color: var(--txt);
  font-size: 14px;
  gap: 8px;
}

.vkfs-hero__autocomplete li:last-child {
  border-bottom: none;
}

.vkfs-hero__autocomplete li:hover,
.vkfs-hero__autocomplete li.is-selected {
  background-color: #f1f7ff;
}

.vkfs-autocomplete__text {
  flex: 1;
  cursor: pointer;
}

.vkfs-autocomplete__delete {
  background: none;
  border: none;
  color: #98a6ba;
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  transition: color 0.2s;
  flex-shrink: 0;
}

.vkfs-autocomplete__delete:hover {
  color: #5b6b83;
}

.vkfs-hero__actions {
  text-align: center;
  margin: 30px 0 40px;
}

.vkfs-hero__submit {
  position: relative;
  background: #003274;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.1em;
  border: 0;
  padding: 15px 28px 15px 68px;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 4px 4px 10px 0 #00648042;
}
.vkfs-hero__submit::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  width: 22px;
  height: 25.3px;
  transform: translateY(-50%);
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-search_02.png)
    no-repeat center;
  background-size: 100% 100%;
  margin-left: 35px;
}
.vkfs-hero__submit:hover {
  background: #0c72be;
}
.vkfs-hero__popularWrap {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.vkfs-hero__popularTitle {
  max-width: 200px;
  width: 100%;
  font-size: 13px;
}

.vkfs-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  line-height: 38px;
}
.vkfs-chip {
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 6px;
  padding: 8px 12px;
  line-height: 1;
  color: #222222;
  font-size: 14px;
  position: relative;
  border-radius: 30px;
}
.vkfs-chip__close {
  margin-left: 8px;
  color: #98a6ba;
  font-weight: 700;
}
.vkfs-chip__close:hover {
  color: #5b6b83;
}

@media (max-width: 768px) {
  .vkfs-hero__submit {
    padding: 10px 14px;
  }
}

/* リスト全体 */
ul.selectLabel-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
/* ul.selectLabel-list li {
  width: 100%;
} */
.selectLabel-btn {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 10px 18px 10px 10px;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
  background-color: #fff;
  border-radius: 6px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 4px 4px 10px #00648042;
  font-size: 14px;
}
.s .selectLabel-btn {
  font-size: 12px;
  padding: 8px 12px 8px 8px;
}
/* チェック時 */
.selectLabel-btn:has(input:checked) {
  background-color: #0c72be;
  color: #fff;
  border-color: #0c72be;
}
/* ホバー時 */
.selectLabel-btn:hover {
  background-color: #e0e0e0;
}
.selectLabel-btn:has(input:focus-visible) {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}
/* チップ内のテキスト */
.checkbox-round {
  position: relative;
  width: 16px;
  height: 16px;
  background-color: #dddddd;
  border-radius: 50%;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  margin-right: 6px;
}
.checkbox-round:focus-visible {
  outline: 2px solid #0058c0;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(0, 88, 192, 0.18);
}
.s .checkbox-round {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  box-sizing: border-box;
}
/* チェック時 */
.checkbox-round:checked {
  background-color: #ffffff;
}

.checkbox-round:checked::after {
  content: "";
  position: absolute;
  top: 4.1px;
  left: 3px;
  width: 10px;
  height: 5px;
  border-bottom: 2.5px solid #0c72be;
  border-left: 2.5px solid #0c72be;
  transform: rotate(-45deg);
}
.s .checkbox-round:checked::after {
  top: 4px;
  left: 2.8px;
  width: 9px;
  height: 5px;
}

.vkfs-hero:not(:first-child) {
  margin-top: 14px;
}

/* 保存した条件の表示スタイル */
.vkfs-hero {
  position: relative;
}

.vkfs-hero__delete:hover {
  color: #333;
}

/* 保存した条件のキーワード・地域エリア */
.js-vkfs-saved-keywords,
.js-vkfs-saved-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.s .js-vkfs-saved-keywords,
.s .js-vkfs-saved-regions,
.s .js-vkfs-saved-categories,
.s .js-vkfs-saved-purposes {
  font-size: 12px;
}

/* 検索条件表示 */
.search-conditions {
  display: none;
}

.s .search-conditions {
  display: block;
  background: #fff;
  border: 1px solid #ccc;
  /* padding: 6px 12px; */
  margin: 1rem 1rem 0;
  border-radius: 8px;
}

.search-conditions__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f8f8f8;
  padding: 8px 10px;
  border-radius: 0 0 8px 8px;
}

.search-conditions__label {
  margin: 0;
  font-size: 11px;
}

.search-conditions__change-btn {
  background: #013274;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.search-conditions__change-btn:hover {
  background: #0a5da0;
  transform: translateY(-1px);
}

.search-conditions__list {
  list-style: none;
  padding: 4px 12px;
  margin: 0;
}

.search-conditions__list li {
  padding: 8px 2px 8px 0;
  color: #222;
  font-size: 11px;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-conditions__list li span {
  color: #666;
  font-size: 10px;
  padding-right: 4px;
}
.search-conditions__list li:not(:first-child) {
  border-top: 1px solid #ccc;
}
.vkfs-hero__filterWrap {
  border-top: 1px solid #fff;
}
.vkfs-hero__filterWrap {
  display: flex;
  padding: 20px 0 0;
  margin-top: 20px;
}
.vkfs-hero__field-title {
  display: block;
  max-width: 200px;
  width: 100%;
  color: #222;
}
.vkfs-hero__field-title h3 {
  font-size: 18px;
  position: relative;
  padding-left: 28px;
}
.vkfs-hero__field-title--keyword h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  margin-right: 8px;
  width: 21px;
  height: 21px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-keyword.png)
    no-repeat center;
  background-size: 100% 100%;
}
.vkfs-hero__field-title--region h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  margin-right: 8px;
  width: 18px;
  height: 20px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-region.png)
    no-repeat center;
  background-size: 100% 100%;
}
.vkfs-hero__field-title--category h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  margin-right: 8px;
  width: 21px;
  height: 21px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-category.png)
    no-repeat center;
  background-size: 100% 100%;
}
.vkfs-hero__field-title--purpose h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  margin-right: 8px;
  width: 16px;
  height: 20px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-purpose.png)
    no-repeat center;
  background-size: 100% 100%;
}

.category-name {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* ========================================
   検索結果ページ
   ======================================== */

/* タイトルと条件保存のレイアウト */
.search-page-title-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
.vkfs-hero__saveConditionBtn {
  padding-left: 16px;
}
.s .vkfs-hero__saveConditionBtn {
  padding-right: 16px;
  padding-left: 0;
}

/* 検索結果ページのレイアウト */
.search-page-container {
  display: flex;
  flex-direction: column;
  padding: 0 3.75rem /* 60px (基準16px) */;
}
.s .search-page-container {
  padding: 0;
}

.search-main {
  width: 100%;
}

/* コンパクト検索フォーム */
.vkfs-compact-search {
  /* background: var(--bg, #f1f7ff); */
  border-radius: 12px;
  padding: 1.5rem;
}
.s .vkfs-compact-search {
  padding: 0 0.9rem;
}
.vkfs-compact-search,
.vkfs-compact-search * {
  box-sizing: border-box;
}
.vkfs-compact-form {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
}
.s .vkfs-compact-form {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 0.5rem;
}

.vkfs-compact-row {
  display: flex;
  column-gap: 0.625rem /* 10px (基準16px) */;
  align-items: center;
  flex-wrap: nowrap;
}
.vkfs-compact-field--narrowDown .vkfs-compact-field:nth-of-type(1) {
  max-width: 120px;
}
/* 1行を優先しつつ、縮められるようにする */
.vkfs-compact-field--keyword {
  max-width: 350px;
  width: 100%;
  margin-left: -1.875rem /* 30px (基準16px) */;
}
.vkfs-compact-field--narrowDown {
  flex: 1 1 520px;
  min-width: 0;
}
.vkfs-compact-field--options {
  flex: 0 1 auto;
  min-width: 0;
}

.vkfs-compact-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  white-space: normal;
  min-width: 0;
}
.s .vkfs-compact-field {
  gap: 0;
}
/* 絞り込みとオプション内は横並びのままでOK */
.vkfs-compact-field--narrowDown {
  display: flex;
  gap: 0.5rem;
  white-space: normal;
  /* flex-wrap: wrap; */
  min-width: 0;
}

/* SP: キーワード入力と絞り込みを非表示 */
.s .vkfs-compact-field--keyword,
.s .vkfs-compact-field--narrowDown {
  display: none;
}

.vkfs-compact-field--options {
  display: flex;
  /* flex-wrap: wrap; */
  gap: 0.625rem /* 10px (基準16px) */;
  justify-content: flex-end; /* 右端寄せにしたい場合 */
}
.s .vkfs-compact-field--options {
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-start;
}
.vkfs-compact-field--options select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url(../../../themes/yokohama_bosai_platform/assets/common/img/arrow-bottom.png);
  background-repeat: no-repeat;
  background-size: 12px auto; /* 画像のサイズ（幅 高さ）*/
  background-position: right 12px center; /* 画像の位置 */
}
.vkfs-compact-field label {
  font-weight: 400;
  font-size: 0.875rem /* 14px (基準16px) */;
  color: #333333;
  word-break: break-all;
}
.vkfs-compact-label {
  max-width: 63px !important;
  width: 100%;
}

.vkfs-compact-field input[type="search"],
.vkfs-compact-field select {
  padding: 8px 12px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  font-size: 15px;
  background: white;
  transition: border-color 0.2s;
  width: 100%;
  min-width: 0;
}

/* タブレット幅では必要に応じて折り返す */
@media (max-width: 1024px) {
  .vkfs-compact-row {
    flex-wrap: wrap;
    row-gap: 0.75rem;
  }

  .vkfs-compact-field--keyword,
  .vkfs-compact-field--narrowDown {
    flex: 1 1 420px;
    min-width: 0;
  }

  /* .vkfs-compact-field--options {
    flex: 1 1 260px;
    justify-content: flex-start;
    flex-wrap: nowrap;
  } */
}
.vkfs-compact-field input[type="search"] {
  border-radius: 999px;
}
.vkfs-compact-field input[type="search"]:focus,
.vkfs-compact-field select:focus {
  outline: none;
  border-color: var(--accent, #0c5bd9);
}
.vkfs-compact-field input[type="search"]:focus-visible,
.vkfs-compact-field select:focus-visible {
  outline: none;
  border-color: #0058c0;
}

.vkfs-compact-select {
  cursor: pointer;
}

.vkfs-compact-submit {
  padding: 0px 15px;
  background: #013274;
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.875rem /* 14px (基準16px) */;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(12, 91, 217, 0.2);
}
.vkfs-compact-submit:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}

.vkfs-compact-submit:hover {
  background: var(--accent-2, #143a8f);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(12, 91, 217, 0.3);
}
.search-results-container {
  max-width: 1332px;
  width: 100%;
  margin: 0 auto;
  background: #ffffff4d;
  border-radius: 32px;
  border: 2px solid #fff;
  margin-bottom: 120px;
  padding: 24px 32px 35px;
}
.s .search-results-container {
  margin-top: 14px;
  width: 95%;
  padding: 4.3% 5.4%;
  border-radius: 16px;
}
/* 検索結果グリッド（3カラム縦積み） */
.search-results {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin: 0;
  list-style: none;
}
.s .search-results {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.search-results a {
  flex: 0 1 calc((100% - 32px) / 3);
  text-decoration: none;
}
.s .search-results a {
  width: 100%;
  word-break: break-all;
}

@media screen and (max-width: 1202px) and (min-width: 860px) {
  .search-results a {
    flex: 0 1 calc((100% - 16px) / 2);
  }
}
@media screen and (max-width: 859px) {
  .search-results a {
    flex: 0 1 100%;
  }
}
.search-result-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 14px;
  transition: all 0.3s ease;
  box-shadow: 4px 4px 10px #00648042;
  position: relative;
}
.s .search-result-item {
  border-radius: 10px;
}
.search-result-item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  border-color: #0c5bd9;
}

.search-result-title-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  padding: 1rem;
}
.s .search-result-title-container {
  padding: 12px 15px 8px;
}

.search-result-thumbnail {
  /* width: 140px;
  height: 140px; */
  /* overflow: hidden; */
  flex-shrink: 0;
  max-width: 72px;
  padding: 3px 3px;
  border-radius: 7px;
}
.s .search-result-thumbnail {
  width: 64px;
  height: 64px;
}
.search-result-thumbnail img {
  border-radius: 14px;
  border: 2px solid #ccc;
  border-radius: 7px;
}
.s .search-result-thumbnail img {
  border-radius: 7px;
  border: 1px solid #ccc;
}
.search-result-thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}

.search-result-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.search-result-footer {
  margin-top: auto;
  text-align: right;
}

.search-result-date {
  font-size: 0.875rem;
  color: #666;
  white-space: nowrap;
}
.s .search-result-date {
  font-size: 10px;
}

.search-result-thumbnail a {
  display: block;
  line-height: 0;
}

.search-result-image {
  /* width: 100%;
  height: 100%; */
  width: 64px;
  height: auto;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.search-result-item:hover .search-result-image {
  transform: scale(1.05);
}

.search-result-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.3rem;
}

.search-result-title {
  max-width: 315px;
  text-align: left;
  overflow: hidden;
  font-size: 1rem /* 16px (基準16px) */;
  line-height: 1.4;
  color: #111;
  padding-right: 20px;
}
.s .search-result-title {
  font-size: 13px;
  padding-right: 12px;
}

.search-result-title.is-short, .search-result-title.is-short {
    justify-content: center;
    align-items: center;
    text-align: center;
}

.search-result-title a {
  color: #103255;
  text-decoration: none;
  transition: color 0.2s;
}

.search-result-title a:hover {
  color: #0c5bd9;
}

.search-result-excerpt {
  background-color: #f8f8f8;
  width: 100%;
  padding-right: 12px;
  padding: 1rem;
  border-radius: 0 0 14px 14px;
  height: 5.2em;
}
.search-result-excerpt p {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.6;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.s .search-result-excerpt {
  font-size: 12px;
  padding-right: 6px;
  height: 6.2em;
}
.s .search-result-excerpt p {
  font-size: 12px;
}

.search-result-link {
  color: #0c5bd9;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  transition: color 0.2s;
}

.search-result-link:hover {
  color: #143a8f;
}
/* 条件保存するボタン */
/* .vkfs-hero__saveConditionBtn {
  position: absolute;
  top: -96%;
  right: 30%;
  text-align: center;
  margin: 30px 0 40px;
}
.s .vkfs-hero__saveConditionBtn {
  position: relative;
  top: 0;
  right: 0;
  margin: 0;
} */
.vkfs-hero__saveBtn {
  display: block;
  position: relative;
  padding: 10px 10px 10px 30px;
  color: #222;
  background-color: #fff;
  border-radius: 6px;
  text-align: center;
  transition: all 0.2s;
  box-shadow: 4px 4px 10px #00648042;
  font-size: 14px;
  font-weight: 700;
  border: none;
}
.vkfs-hero__saveBtn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  width: 14px;
  height: 15px;
  background: url("../../../themes/yokohama_bosai_platform/assets/common/img/icon-save.png")
    no-repeat center;
  background-size: 100% 100%;
}
.s .vkfs-hero__saveBtn {
  font-size: 12px;
  padding: 8px 8px 8px 28px;
}
/* ページネーション */
.custom-pagination {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
.s .custom-pagination {
  margin-top: 0px;
  gap: 0.4rem;
}
.custom-pagination a {
  font-size: 14px;
  width: 2.25rem /* 36px (基準16px) */;
  min-width: 2.25rem /* 36px (基準16px) */;
  max-width: 2.25rem /* 36px (基準16px) */;
  height: 2.25rem /* 36px (基準16px) */;
  line-height: 2.25rem /* 36px (基準16px) */;
  padding: 0;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  color: #1b1464;
  transition: all 0.2s;
  background-color: #fff;
  box-shadow: 2px 2px 4px #00648042;
  font-weight: 700;
  display: inline-block;
}
.s .custom-pagination a {
  font-size: 0.813rem /* 13px (基準16px) */;
  width: 2rem /* 32px (基準16px) */;
  min-width: 2rem /* 32px (基準16px) */;
  max-width: 2rem /* 32px (基準16px) */;
  height: 2rem /* 32px (基準16px) */;
  line-height: 2rem /* 32px (基準16px) */;
  padding: 0;
  border-radius: 4px;
}

.custom-pagination a:hover {
  background: #0c72be;
  color: #fff;
  border-color: #0c72be;
}

.custom-pagination a.current {
  background: #013274;
  color: #fff;
  border: none;
}

/* 前へ・次へボタン */
.custom-pagination .pagination-prev,
.custom-pagination .pagination-next {
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #013274;
  color: #fff;
  padding: 0;
}
.custom-pagination .pagination-prev::before {
  content: "";
  position: absolute;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/arrow-left.svg)
    no-repeat center;
  background-size: 100% 100%;
  width: 6px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.custom-pagination .pagination-next::before {
  content: "";
  position: absolute;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/arrow-right.svg)
    no-repeat center;
  background-size: 100% 100%;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.custom-pagination .pagination-prev:hover,
.custom-pagination .pagination-next:hover {
  background: #0c72be;
}

.custom-pagination .pagination-prev.disabled,
.custom-pagination .pagination-next.disabled {
  display: none;
}

/* 省略表示 */
.custom-pagination .pagination-ellipsis {
  font-size: 0.875rem /* 14px (基準16px) */;
  color: #1b1464;
  font-weight: 700;
}
.s .custom-pagination .pagination-ellipsis {
  font-size: 0.688rem; /* 11px (基準16px) */
}
.custom-pagination a.pagination-prev,
.custom-pagination a.pagination-next {
  position: relative;
  width: 2.25rem /* 36px (基準16px) */;
  min-width: 2.25rem /* 36px (基準16px) */;
  max-width: 2.25rem /* 36px (基準16px) */;
  height: 2.25rem /* 36px (基準16px) */;
  border-radius: 999px;
  margin: 0 10px;
}
.s .custom-pagination a.pagination-prev,
.s .custom-pagination a.pagination-next {
  width: 2rem /* 32px (基準16px) */;
  min-width: 2rem /* 32px (基準16px) */;
  max-width: 2rem /* 32px (基準16px) */;
  height: 2rem /* 32px (基準16px) */;
  margin: 0 4px;
}

/* Newページアイコン */
.icon-newWindow,
.icon-external {
  position: absolute;
  width: 16px;
  height: 16px;
  top: 6%;
  right: 2%;
}
.s .icon-newWindow,
.s .icon-external {
  width: 10px;
  height: 10px;
}
/* タクソノミータグ */
.search-result-taxonomies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.search-result-taxonomy-tag {
  display: block;
  background-color: #fff;
  color: #003274;
  border: 1px solid #003274;
  padding: 2px 4px;
  font-size: 12px;
}
.s .search-result-taxonomy-tag {
  font-size: 11px;
  padding: 1px 3px;
}

/* レスポンシブ対応 */

@media (max-width: 768px) {
  .vkfs-compact-row {
    flex-direction: column;
    align-items: stretch;
  }

  .vkfs-compact-submit {
    width: 100%;
  }
}

/* ========================================
   保存した条件ページ
   ======================================== */
.search-save-page {
  margin-bottom: 60px;
}
.s .search-save-page {
  padding: 0 20px;
  margin-bottom: 20px;
}
.js-vkfs-saved-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 1040px;
  margin: 30px auto 0;
}
.js-vkfs-saved-container .vkfs-hero-saved {
  --card: #fff;
  --accent: #0c5bd9;
  --accent-2: #143a8f;
  --txt: #103255;
  --muted: #7b8aa0;
  --radius: 14px;
  background: #fff;
  border-radius: var(--radius);
  position: relative;
  padding: 15px 20px 20px;
  box-shadow: 4px 4px 10px #00648042;
}
.s .js-vkfs-saved-container .vkfs-hero-saved {
  padding: 12px;
  display: flex;
  flex-direction: column;
}
/* .js-vkfs-saved-container .vkfs-hero {
  position: relative;
  background: var(--card);
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease;
} */

.js-vkfs-saved-container .vkfs-hero:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* メタ情報エリア */
.vkfs-hero__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 保存時間 */
.vkfs-hero__timestamp {
  font-size: 14px;
  color: #666666;
  font-weight: 500;
}

/* 検索モードラベル（すべてを含む・以下いずれかを含む） */
.vkfs-hero__search-mode-label {
  font-size: 13px;
  padding: 2px 10px 4px;
  background: #fff;
  color: #222222;
  border: 1px solid #ccc;
  border-radius: 20px;
  font-weight: 700;
  white-space: nowrap;
}

/* 削除ボタン（右上） */
.vkfs-hero__delete {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border: none;
  color: #666666;
  font-size: 20px;
  background: none;
  cursor: pointer;
}

/* 保存条件の内容エリア */
.vkfs-hero__saved {
  padding: 14px 24px 80px;
  margin-top: 10px;
  background-color: #f8f8f8;
  border-radius: 12px;
}

.vkfs-hero__saved h2 {
  font-size: 16px;
  font-weight: 700;
  color: #222222;
}
.s .vkfs-hero__saved h2 {
  font-size: 11px;
}
.vkfs-hero__saved-block {
  display: grid;
  grid-template-columns: 1fr 5fr;
  margin-bottom: 8px;
}
.s .vkfs-hero__saved-block {
  grid-template-columns: 1fr 3fr;
}
.js-vkfs-saved-keywords,
.js-vkfs-saved-regions,
.js-vkfs-saved-categories,
.js-vkfs-saved-purposes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

/* この条件で検索ボタン（右下） */
.vkfs-hero__search-btn {
  position: absolute;
  bottom: 35px;
  right: 35px;
  padding: 14px 20px 14px 50px;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
}
.vkfs-hero__search-btn::before {
  margin-left: 20px;
}
.s .vkfs-hero__search-btn::before {
  margin-left: 5px;
  flex-shrink: 0;
  position: absolute;
  left: 12px;
}
/* 条件なしメッセージ */
.js-vkfs-saved-container > p {
  text-align: center;
  padding: 40px 20px;
  color: var(--muted);
  font-size: 1rem;
}
.s .vkfs-hero__saved {
  padding: 12px 15px;
  margin-top: 5px;
}
.s .vkfs-hero__meta {
  top: 12px;
  left: 12px;
  gap: 6px;
}
.s .vkfs-hero__timestamp {
  font-size: 12px;
}
.s .vkfs-hero__search-mode-label {
  font-size: 0.7rem;
  padding: 2px 8px;
}
/* レスポンシブ */
@media (max-width: 768px) {
  .js-vkfs-saved-container {
    gap: 16px;
  }
}
.s .vkfs-hero__delete {
  width: 28px;
  height: 28px;
  font-size: 18px;
  top: 8px;
  right: 10px;
}
.s .vkfs-hero__search-btn {
  position: static;
  width: 100%;
  margin-top: 16px;
  padding: 12px 20px 12px 40px;
  font-size: 14px;
  box-sizing: border-box;
  white-space: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 10;
}
.s .vkfs-hero-saved [data-panel="saved"] {
  order: 5;
}
.s .vkfs-hero-saved .vkfs-hero__submit {
  width: 70%;
  margin: 10px auto 0;
  padding: 12px 20px;
}
.saved-conditions-container {
  background-color: #f1f7ff;
}

/* トリガーボタン＋パネルのコンテナ */
.filter-dropdown {
  position: relative;
  display: flex;
}
.filter-dropdown p {
  font-weight: 400;
  font-size: 0.875rem /* 14px (基準16px) */;
  color: #333333;
  /* white-space: nowrap; */
}
.s .filter-dropdown p {
  font-size: 10px;
}
/* トリガーボタン */
.filter-dropdown__trigger {
  display: flex;
  align-items: center;
  gap: 0.5rem /* 8px (基準16px) */;
  border: 1px solid #0c72be;
  background: #ffffff;
  font-size: 0.875rem /* 14px (基準16px) */;
  cursor: pointer;
  padding: 8px 6px 8px 12px;
  border: 1px solid #cccccc;
  border-radius: 8px;
  background: white;
  transition: border-color 0.2s;
  max-width: 100%;
  min-width: 0;
  /* width: 100%; */
}

/* 文言が長い（翻訳など）ときはラベルを縮めて省略 */
.filter-dropdown__trigger-label {
  flex: 1 1 auto;
  /* min-width: 0; */
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 矢印アイコン部分 */
.filter-dropdown__trigger-icon {
  position: relative;
  display: inline-block;
  transition: transform 0.15s ease;
  margin-right: 20px;
  flex: 0 0 auto;
}
.s .filter-dropdown__trigger-icon {
  margin-right: 8px;
}
.filter-dropdown__trigger-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/arrow-bottom.svg)
    no-repeat center;
  background-size: 100% 100%;
  margin-left: 10px;
}
/* 開いているときのスタイル */
.filter-dropdown__trigger--open {
  color: #0c72be;
  font-weight: 700;
}
.filter-dropdown__trigger--open .filter-dropdown__trigger-icon {
  position: relative;
}
/* 開いているときのスタイル */
.filter-dropdown__trigger--open .filter-dropdown__trigger-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 10px;
  background: url(../../../themes/yokohama_bosai_platform/assets/common/img/arrow-top.svg)
    no-repeat center;
  background-size: 100% 100%;
  margin-left: 10px;
}

/* パネル */
.filter-dropdown__panel {
  position: absolute;
  right: -200%;
  top: calc(100% + 8px);
  z-index: 50;
  max-width: calc(100vw - 24px);
}

.filter-dropdown__panel[hidden] {
  display: none;
}

.filter-dropdown__panel-inner {
  width: min(var(--vkfs-filter-panel-width, 35.625rem), calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  padding: 24px 30px;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

/* パネル内の選択肢ラベルは折り返し可能にする（翻訳で長文化してもはみ出さない） */
.filter-dropdown__panel-inner .selectLabel-btn {
  white-space: normal;
}

/* ============================================
   ドロップダウン（縦積み＋幅調整）
   - 検索モード / 並び替え / 表示件数
   ============================================ */

@media (min-width: 769px) {
  .vkfs-compact-search .filter-dropdown[data-filter="search_mode"] {
    --vkfs-filter-panel-width: 16rem;
  }
  .vkfs-compact-search .filter-dropdown[data-filter="orderby"] {
    --vkfs-filter-panel-width: 16rem;
  }
  .vkfs-compact-search .filter-dropdown[data-filter="posts_per_page"] {
    --vkfs-filter-panel-width: 12rem;
  }

  /* 共通の right:-200% を打ち消して、トリガーの真下へ */
  .vkfs-compact-search
    .filter-dropdown[data-filter="search_mode"]
    .filter-dropdown__panel,
  .vkfs-compact-search
    .filter-dropdown[data-filter="orderby"]
    .filter-dropdown__panel,
  .vkfs-compact-search
    .filter-dropdown[data-filter="posts_per_page"]
    .filter-dropdown__panel {
    right: -30%;
    left: auto;
  }

  /* 検索モードは ul に --column が付いていないので data-filter で縦積みにする */
  .vkfs-compact-search
    .filter-dropdown[data-filter="search_mode"]
    .selectLabel-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* 並び替え・表示件数は selectLabel-list--column を横幅いっぱい使う */
  .vkfs-compact-search
    .filter-dropdown[data-filter="orderby"]
    .selectLabel-list--column,
  .vkfs-compact-search
    .filter-dropdown[data-filter="posts_per_page"]
    .selectLabel-list--column {
    max-width: none;
    width: 100%;
  }
}

/* チップ状のボタン群（既存のselectLabelを活かす） */
.selectLabel-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 8px 10px;
}

.selectLabel-list > li {
  min-width: 0;
}

.s .selectLabel-list-region {
  grid-template-columns: 1fr 1fr 1fr !important;
}
.selectLabel-checksAll {
  white-space: nowrap;
  margin-right: 8px;
}

.s .selectLabel-checksAll {
  width: 100%;
  margin: 0;
}

/* パネルの閉じるボタン */
.filter-dropdown__close {
  position: absolute;
  background-color: #fff;
  border: none;
  color: #666666;
  top: 3%;
  right: 1%;
  cursor: pointer;
  line-height: 1;
  font-size: 20px;
  font-weight: 700;
}
.region-btn,
.category-btn,
.purpose-btn {
  padding: 6px 16px 6px 8px;
}

.selectLabel-list--column {
  max-width: 90px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.s .selectLabel-list--column {
  display: flex !important;
  flex-direction: column !important;
  padding-top: 20px;
}
/* 条件保存したらボタンをグレーアウトさせる */
.vkfs-hero__saveBtn.is-disabled {
  background: #eee !important;
  color: #aaa !important;
  cursor: not-allowed !important;
  opacity: 0.7;
}
/* ============================================
   SP用スタイル（.sクラス）
   ============================================ */

/* .s .vkfs-hero {
  overflow-x: hidden;
} */
.s .vkfs-hero__panel {
  border-radius: 20px;
  margin: 0 10px;
  border: 1px solid #fff;
}
.s .vkfs-hero__fields {
  gap: 10px;
  flex-direction: column;
}

.s .vkfs-hero__form-inner {
  padding: 16px 20px 24px;
}

.s .vkfs-hero__search-wrapper {
  max-width: 100%;
}
.s .vkfs-hero__saveConditions {
  position: fixed;
  width: 100%;
  max-width: 100%;
  background-color: #0c72be;
  padding: 26px 24px 12px;
  top: calc(
    var(--ybp-header-nav-bottom, var(--ybp-header-height, 100px)) + 5vh
  );
  text-align: center;
  z-index: 200;
  transition:
    opacity 0.3s,
    visibility 0.3s;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.s .vkfs-hero__saveConditions.is-fixed-visible {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.s .vkfs-hero__saveConditions a {
  padding: 16px 8px 16px;
  border-radius: 10px;
  width: 100%;
  writing-mode: horizontal-tb;
}

.s .vkfs-hero__saveConditions a::before {
  width: 15px;
  height: 16px;
  margin: 0 5px -2px 0;
}

.s .vkfs-hero__search-mode {
  gap: 12px;
  font-size: 12px;
  padding: 12px 0;
}

.s .vkfs-hero__search-mode input[type="radio"] {
  width: 16px;
  height: 16px;
}

.s .vkfs-hero__search {
  border-radius: 24px;
  padding: 8px 14px;
  min-height: 44px;
  gap: 5px;
}

.s .vkfs-hero__searchIcon::before {
  width: 16px;
  height: 15.5px;
  margin-left: 4px;
}

.s .vkfs-hero__search input {
  font-size: 12px;
  padding: 8px 4px;
}

.s .vkfs-hero__clear {
  position: absolute;
  top: 1%;
  right: 5%;
  font-size: 12px;
  padding-left: 18px;
}
.s .vkfs-filter-modal__section--keyword .vkfs-hero__clear {
  top: 11%;
  right: 6%;
}
.s .vkfs-hero__clear::before {
  width: 12px;
  height: 13.5px;
}

.s .vkfs-hero__autocomplete {
  border-radius: 8px;
  max-height: 200px;
}

.s .vkfs-hero__autocomplete li {
  padding: 10px 12px;
  font-size: 13px;
}

.s .vkfs-hero__actions {
  width: 75%;
  margin: 20px auto;
}

.s .vkfs-hero__submit {
  font-size: 16px;
  padding: 14px 20px;
  border-radius: 8px;
  width: 100%;
}
.s .vkfs-hero__submit::before {
  position: static;
  display: inline-block;
  width: 16px;
  height: 18px;
  margin-left: 0;
  margin-right: 8px;
  transform: none;
  vertical-align: middle;
}

.s .vkfs-hero__popularWrap {
  flex-direction: column;
  align-items: flex-start;
  margin-top: 16px;
}

.s .vkfs-hero__popularTitle {
  max-width: 100%;
  font-size: 12px;
  margin-bottom: 8px;
}

.s .vkfs-hero__chips {
  gap: 6px;
  line-height: 32px;
}

.s .vkfs-chip {
  padding: 5px 8px;
  font-size: 12px;
}

.s .vkfs-hero__filterWrap {
  flex-direction: column;
  padding: 16px 0 0;
  margin-top: 16px;
}

.s .vkfs-hero__field-title {
  max-width: 210px;
  margin-right: auto;
}

.s .vkfs-hero__field-title h3 {
  font-size: 16px;
  padding-left: 24px;
}
.s .vkfs-hero__field-title--keyword h3::before {
  width: 17px;
  height: 17px;
}
.s .vkfs-hero__field-title--region h3::before {
  width: 17px;
  height: 19px;
}
.s .vkfs-hero__field-title--category h3::before {
  width: 19px;
  height: 19px;
}
.s .vkfs-hero__field-title--purpose h3::before {
  width: 15px;
  height: 20px;
}

/* .s ul.selectLabel-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
} */

.s .selectLabel-btn {
  font-size: 12px;
  padding: 8px 12px 8px 6px;
  width: 100%;
  height: 100%;
}

.s .checkbox-round {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px;
  min-height: 12px;
  max-width: 162px;
  max-height: 12px;
  margin-right: 4px;
  box-sizing: border-box;
}

.s .checkbox-round:checked::after {
  top: 3.5px;
  left: 2.5px;
  width: 8px;
  height: 4px;
  border-bottom-width: 2px;
  border-left-width: 2px;
}

.s .filter-dropdown__trigger {
  font-size: 12px;
  padding: 6px 8px;
  border-radius: 4px;
  margin-left: 2px;
}

.s .filter-dropdown__trigger-icon::before {
  width: 10px;
  height: 8px;
  margin-left: 3px;
}

.s .filter-dropdown__panel {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  box-sizing: border-box;
}

.s .filter-dropdown__panel-inner {
  width: min(var(--vkfs-filter-panel-width-sp, 120px), calc(100vw - 24px));
  max-width: min(var(--vkfs-filter-panel-width-sp, 120px), calc(100vw - 24px));
  padding: 12px 16px;
  border-radius: 12px;
  box-sizing: border-box;
}

.s .selectLabel-list {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr;
  gap: 6px 8px;
}

/* SP: フィルターモーダル */
.vkfs-filter-modal {
  display: none;
  position: fixed;
  top: 8%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  background: #eef9ff;
  overflow: auto;
}

.vkfs-filter-modal.is-open {
  display: block;
}

/* .vkfs-filter-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
} */

.vkfs-filter-modal__content {
  position: absolute;
  top: 0%;
  right: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  animation: slideInRight 0.3s ease-out;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

.vkfs-filter-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  position: relative;
}

.vkfs-filter-modal__title {
  margin: 0 auto;
  font-size: 22px;
  font-weight: 700;
  color: #103255;
}

.vkfs-filter-modal__close {
  position: absolute;
  top: 20px;
  right: 8px;
  width: 26px;
  height: 26px;
  border: 1.5px solid #ccc;
  background: #fff;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.2s;
}
.vkfs-filter-modal__close:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}

.vkfs-filter-modal__body {
  flex: 1;
  overflow-y: visible;
  /* padding-bottom: 180px; */
}

/* .vkfs-filter-modal__section {
  margin-bottom: 16px;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
} */

.vkfs-filter-modal__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  /* background: #fff; */
  cursor: pointer;
  border-bottom: 1px solid #e8e8e8;
}

.vkfs-filter-modal__section-title {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #103255;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vkfs-filter-modal__section-title::before {
  content: "";
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.vkfs-filter-modal__section:nth-child(1)
  .vkfs-filter-modal__section-title::before {
  background-image: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-keyword.png);
}

.vkfs-filter-modal__section:nth-child(2)
  .vkfs-filter-modal__section-title::before {
  background-image: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-region.png);
}

.vkfs-filter-modal__section:nth-child(3)
  .vkfs-filter-modal__section-title::before {
  background-image: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-category.png);
}

.vkfs-filter-modal__section:nth-child(4)
  .vkfs-filter-modal__section-title::before {
  background-image: url(../../../themes/yokohama_bosai_platform/assets/common/img/icon-purpose.png);
}

.vkfs-filter-modal__toggle {
  width: 25px;
  height: 25px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
  position: relative;
  background-color: #003274;
  padding: 0;
}
.vkfs-filter-modal__toggle:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}

.vkfs-filter-modal__toggle-icon {
  width: 12px;
  height: 12px;
  position: relative;
}

.vkfs-filter-modal__toggle-icon::before,
.vkfs-filter-modal__toggle-icon::after {
  content: "";
  position: absolute;
  background: #fff;
  transition: transform 0.3s;
}

.vkfs-filter-modal__toggle-icon::before {
  width: 12px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.vkfs-filter-modal__toggle-icon::after {
  width: 2px;
  height: 12px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.vkfs-filter-modal__toggle[aria-expanded="true"]
  .vkfs-filter-modal__toggle-icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

.vkfs-filter-modal__section-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  /* border-bottom: 1px solid #e8e8e8; */
}

.vkfs-filter-modal__section-content.is-open {
  max-height: 800px;
  padding: 10px 20px;
  opacity: 1;
}

.vkfs-filter-modal__section--keyword {
  border: none;
  padding: 0;
  margin: 0 16px 16px;
}

.vkfs-filter-modal__section--keyword .vkfs-filter-modal__section-header {
  border-bottom: none;
  padding: 14px 0;
}

.vkfs-filter-modal__keyword-input {
  padding: 0;
}

.vkfs-filter-modal__keyword-input input[type="search"] {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

.vkfs-filter-modal__keyword-input input[type="search"]:focus {
  border-color: #0c72be;
}
.vkfs-filter-modal__keyword-input input[type="search"]:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 2px;
  border-color: #0058c0;
  box-shadow: 0 0 0 4px rgba(0, 88, 192, 0.18);
}

.vkfs-filter-modal__keyword-input input[type="search"]::placeholder {
  color: #999;
}

.selectLabel-list--modal {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.selectLabel-list--modal .selectLabel-btn {
  font-size: 13px;
  padding: 10px 12px;
}

.vkfs-filter-modal__mode {
  padding: 16px;
  background: #fff;
  display: flex;
  gap: 12px;
  justify-content: center;
}

.vkfs-filter-modal__mode-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #103255;
}

.vkfs-filter-modal__mode-label input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #0c72be;
}
.vkfs-filter-modal__apply {
  width: 80%;
  margin: 24px auto 140px;
  padding: 14px;
  background: #003274;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.vkfs-filter-modal__apply:focus-visible {
  outline: 3px solid #0058c0;
  outline-offset: 3px;
}

.vkfs-filter-modal__apply::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.vkfs-filter-modal__apply:hover {
  background: #0a5da0;
}

/* 検索結果が0件の時 */
.no-data-message {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1328px;
  width: 100%;
  height: 400px;
  /* margin: 32px auto 0; */
  padding: 80px 20px;
  text-align: center;
}
.s .no-data-message {
  max-width: unset;
  width: 100%;
  height: 300px;
  padding: 20px;
  border-radius: 16px;
}
.no-data-message p {
  font-size: 24px;
  color: #222;
}
.s .no-data-message p {
  font-size: 19px;
}
.no-data-message span {
  display: inline-block;
  margin-top: 20px;
  font-size: 18px;
}

.s .no-data-message span {
  margin-top: 10px;
  font-size: 14px;
}
