/**
 * 共通フォームスタイル - c-form-002
 * 複数のフォームで再利用可能な汎用スタイル
 *
 * 使用例：
 * - 検索フォーム
 * - お問い合わせフォーム
 * - 登録フォームなど
 */

/* ============================================
   ベースコンテナ
   ============================================ */
.c-form-002 {
  width: 100%;
  max-width: 100%;
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border--radius--lg);
  box-shadow: var(--wp--custom--shadow--md);
  padding: var(--wp--preset--spacing--base);
}

/* メインタイトル（検索フォーム全体の見出し） */
.c-form-002__main-title {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary-darker);
  margin: 0 0 var(--wp--preset--spacing--lg);
  padding-bottom: var(--wp--preset--spacing--sm);
  border-bottom: 2px solid var(--wp--preset--color--primary-light);
}
.c-form-002__inner {
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
}
.c-form-002__main-title .material-symbols-outlined {
  font-size: 2.8rem;
  color: var(--wp--preset--color--primary);
}

@media (max-width: 767px) {
  .c-form-002__main-title {
    font-size: var(--wp--preset--font-size--lg);
    gap: var(--wp--preset--spacing--xs);
    margin-bottom: var(--wp--preset--spacing--base);
  }

  .c-form-002__main-title .material-symbols-outlined {
    font-size: 2.4rem;
  }
}

@media (min-width: 768px) {
  .c-form-002 {
    padding: var(--wp--preset--spacing--2-xl);
  }
}

/* ============================================
   フォーム要素
   ============================================ */
.c-form-002__form {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--base);
}

/* ============================================
   セクション
   ============================================ */
.c-form-002__section {
  display: grid;
  grid-template-columns: 20rem 1fr;
  gap: var(--wp--preset--spacing--lg);
  align-items: start;
}

@media (max-width: 767px) {
  .c-form-002__section {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--base);
  }
}

.c-form-002__section:not(:last-of-type) {
}

/* セクションタイトル */
.c-form-002__section-title {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--xs);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary-darker);
  margin: 0;
  padding-top: var(--wp--preset--spacing--sm);
}

.c-form-002__section-title .material-symbols-outlined {
  font-size: 2.4rem;
  color: var(--wp--preset--color--primary);
}

/* セクション説明 */
.c-form-002__section-description {
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--gray-dark);
  margin: 0;
  line-height: var(--wp--custom--line-height--base);
}

/* 空メッセージ */
.c-form-002__empty-message {
  color: var(--wp--preset--color--gray);
  font-size: var(--wp--preset--font-size--sm);
  margin: 0;
  padding: var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--gray-lightest);
  border-radius: var(--wp--custom--border--radius--md);
  text-align: center;
}

/* ============================================
   入力フィールド
   ============================================ */
.c-form-002__field {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--xs);
}

.c-form-002__label {
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--basic-text);
}

.c-form-002__label--required::after {
  content: "*";
  color: var(--wp--preset--color--error);
  margin-left: var(--wp--preset--spacing--4-xs);
}

/* テキスト入力 */
.c-form-002__input {
  width: 100%;
  padding: var(--wp--preset--spacing--base);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--basic-text);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--md);
  background: var(--wp--preset--color--white);
  transition: border-color var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out),
    box-shadow var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out);
  outline: none;
}

.c-form-002__input::placeholder {
  color: var(--wp--preset--color--gray);
}

.c-form-002__input:hover {
  border-color: var(--wp--preset--color--primary-light);
}

.c-form-002__input:focus {
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 3px var(--wp--custom--overlay--primary--2);
}

/* クリアボタン付き入力フィールド */
.c-form-002__input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.c-form-002__input--with-clear {
  padding-right: var(--wp--preset--spacing--5-xl);
}

.c-form-002__input-clear {
  position: absolute;
  right: var(--wp--preset--spacing--base);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--wp--custom--border--radius--full);
  color: var(--wp--preset--color--gray);
  cursor: pointer;
  transition: background-color var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out),
    color var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__input-clear:hover {
  background: var(--wp--preset--color--gray-lighter);
  color: var(--wp--preset--color--basic-text);
}

.c-form-002__input-clear:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

.c-form-002__input-clear .material-symbols-outlined {
  font-size: 2rem;
}

/* テキストエリア */
.c-form-002__textarea {
  width: 100%;
  min-height: 12rem;
  padding: var(--wp--preset--spacing--base);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--basic-text);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--md);
  background: var(--wp--preset--color--white);
  resize: vertical;
  transition: border-color var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out),
    box-shadow var(--wp--custom--transition--duration--fast)
      var(--wp--custom--transition--timing--ease-in-out);
  outline: none;
}

.c-form-002__textarea:hover {
  border-color: var(--wp--preset--color--primary-light);
}

.c-form-002__textarea:focus {
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 3px var(--wp--custom--overlay--primary--2);
}

/* ============================================
   バッジフィルター（トグルボタン式チェックボックス）
   ============================================ */
.c-form-002__badge-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--xs);
}

.c-form-002__badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--basic-text);
  background: var(--wp--preset--color--gray-lightest);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--full);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
  user-select: none;
}

.c-form-002__badge:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary-light);
  transform: translateY(-2px);
  box-shadow: var(--wp--custom--shadow--sm);
}

.c-form-002__badge.is-active {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  font-weight: var(--wp--custom--font-weight--bold);
}

.c-form-002__badge.is-active:hover {
  background: var(--wp--preset--color--primary-dark);
  border-color: var(--wp--preset--color--primary-dark);
  transform: translateY(-2px);
}

.c-form-002__badge-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.c-form-002__badge-input:focus-visible + .c-form-002__badge-text {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

.c-form-002__badge-text {
  display: block;
}

/* ============================================
   チェックボックスリスト
   ============================================ */
.c-form-002__checkbox-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--sm);
}

@media (min-width: 768px) {
  .c-form-002__checkbox-group {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .c-form-002__checkbox-group {
    grid-template-columns: repeat(3, 1fr);
  }
}

.c-form-002__checkbox-item {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--gray-lightest);
  border: 2px solid transparent;
  border-radius: var(--wp--custom--border--radius--md);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__checkbox-item:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary-light);
}

.c-form-002__checkbox {
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--wp--preset--color--gray);
  border-radius: var(--wp--custom--border--radius--sm);
  background: var(--wp--preset--color--white);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__checkbox:hover {
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__checkbox:checked {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__checkbox:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.2rem;
  height: 0.8rem;
  border-left: 2px solid var(--wp--preset--color--white);
  border-bottom: 2px solid var(--wp--preset--color--white);
  transform: translate(-50%, -60%) rotate(-45deg);
}

.c-form-002__checkbox:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

.c-form-002__checkbox-label {
  flex: 1;
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--basic-text);
  font-weight: var(--wp--custom--font-weight--medium);
}

.c-form-002__checkbox-count {
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--gray);
  font-weight: var(--wp--custom--font-weight--normal);
}

/* ============================================
   ラジオボタン
   ============================================ */
.c-form-002__radio-group {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--sm);
}

.c-form-002__radio-item {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--gray-lightest);
  border: 2px solid transparent;
  border-radius: var(--wp--custom--border--radius--md);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__radio-item:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary-light);
}

.c-form-002__radio {
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--wp--preset--color--gray);
  border-radius: var(--wp--custom--border--radius--circle);
  background: var(--wp--preset--color--white);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__radio:hover {
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__radio:checked {
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__radio:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 1rem;
  border-radius: var(--wp--custom--border--radius--circle);
  background: var(--wp--preset--color--primary);
}

.c-form-002__radio:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

.c-form-002__radio-label {
  flex: 1;
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--basic-text);
  font-weight: var(--wp--custom--font-weight--medium);
}

/* ============================================
   ボタン
   ============================================ */
/* 予想検索結果数 */
.c-form-002__result-count {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--4-xs);
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--primary-lightest);
  border: 2px solid var(--wp--preset--color--primary-light);
  border-radius: var(--wp--custom--border--radius--md);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
}

.c-form-002__result-count-label {
  color: var(--wp--preset--color--primary-dark);
}

.c-form-002__result-count-number {
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary);
}

.c-form-002__result-count-unit {
  color: var(--wp--preset--color--primary-dark);
}

.c-form-002__actions {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--base);
  padding-top: var(--wp--preset--spacing--base);
  position: relative;
}

@media (min-width: 768px) {
  .c-form-002__actions {
    align-items: center;
    gap: var(--wp--preset--spacing--base);
  }
}

/* プライマリボタン（送信ボタン） */
.c-form-002__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--xs);
  padding: var(--wp--preset--spacing--base) var(--wp--preset--spacing--2-xl);
  font-size: var(--wp--preset--font-size--base);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--primary);
  border: none;
  border-radius: var(--wp--custom--border--radius--full);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
  box-shadow: var(--wp--custom--shadow--sm);
}

.c-form-002__button:hover {
  background: var(--wp--preset--color--primary-dark);
  transform: translateY(-2px);
  box-shadow: var(--wp--custom--shadow--md);
}

.c-form-002__button:active {
  transform: translateY(0);
  box-shadow: var(--wp--custom--shadow--sm);
}

.c-form-002__button:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 3px;
}

.c-form-002__button .material-symbols-outlined {
  font-size: 2rem;
}

/* セカンダリボタン（リセットボタンなど） - アイコン+テキスト形式 */
.c-form-002__button--secondary {
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--gray-darker);
  background: var(--wp--preset--color--gray-lighter);
  border: none;
  box-shadow: none;
  font-weight: var(--wp--custom--font-weight--medium);
  gap: var(--wp--preset--spacing--4-xs);
}

@media (min-width: 768px) {
  .c-form-002__button--secondary {
    margin-left: auto;
  }
}

.c-form-002__button--secondary:hover {
  background: var(--wp--preset--color--gray-light);
  border: none;
  color: var(--wp--preset--color--gray-darkest);
  box-shadow: none;
  text-decoration: none;
}

@media (max-width: 767px) {
  .c-form-002__button--secondary:hover {
    transform: none;
  }
}

.c-form-002__button--secondary:active {
  transform: translateY(-50%) scale(0.95);
}

@media (max-width: 767px) {
  .c-form-002__button--secondary:active {
    transform: scale(0.95);
  }
}

.c-form-002__button--secondary .material-symbols-outlined {
  font-size: 1.6rem;
}

/* ============================================
   バッジ表示エリア（モーダル選択型）
   ============================================ */
.c-form-002__badge-display {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--xs);
  min-height: 4rem;
  padding: var(--wp--preset--spacing--sm);
  background: var(--wp--preset--color--gray-lightest);
  border-radius: var(--wp--custom--border--radius--md);
  border: 2px dashed var(--wp--preset--color--gray-light);
}

.c-form-002__badge-display:empty::after {
  content: "選択されていません";
  color: var(--wp--preset--color--gray);
  font-size: var(--wp--preset--font-size--sm);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* 選択済みバッジ */
.c-form-002__badge-selected {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--4-xs);
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--primary);
  border-radius: var(--wp--custom--border--radius--full);
  transition: background-color var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-selected:hover {
  background: var(--wp--preset--color--primary-dark);
}

/* バッジ削除ボタン */
.c-form-002__badge-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--wp--custom--border--radius--full);
  color: var(--wp--preset--color--white);
  cursor: pointer;
  transition: background-color var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-remove:hover {
  background: var(--wp--custom--overlay--dark--2);
}

.c-form-002__badge-remove .material-symbols-outlined {
  font-size: 1.6rem;
}

/* バッジ追加ボタン */
.c-form-002__badge-add-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--xs);
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--white);
  border: 2px solid var(--wp--preset--color--primary-light);
  border-radius: var(--wp--custom--border--radius--md);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-add-button:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__badge-add-button:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

.c-form-002__badge-add-button .material-symbols-outlined {
  font-size: 2rem;
}

/* ============================================
   モーダル
   ============================================ */

/* モーダル開いている時のbodyスクロール防止 */
body.modal-open,
html.modal-open {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
  height: 100%;
}
.c-form-002__modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--wp--custom--z-index--modal);
}

.c-form-002__modal.is-open {
  display: block;
}

/* モーダルオーバーレイ */
.c-form-002__modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--wp--custom--overlay--dark--5);
  backdrop-filter: blur(4px);
  animation: fadeIn 0.3s ease-in-out;
}

/* モーダルコンテンツ */
.c-form-002__modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 80rem;
  height: 80vh;
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border--radius--lg);
  box-shadow: var(--wp--custom--shadow--2xl);
  display: flex;
  flex-direction: column;
  animation: slideUp 0.3s ease-in-out;
}

@media (min-width: 768px) {
  .c-form-002__modal-content {
    width: 90%;
  }
}

/* モーダルヘッダー */
.c-form-002__modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--wp--preset--spacing--lg);
  border-bottom: 1px solid var(--wp--preset--color--gray-lighter);
}

.c-form-002__modal-title {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary-darker);
  margin: 0;
}

.c-form-002__modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  padding: 0;
  background: var(--wp--preset--color--gray-lighter);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--full);
  color: var(--wp--preset--color--gray-dark);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__modal-close:hover {
  background: var(--wp--preset--color--error-light);
  border-color: var(--wp--preset--color--error);
  color: var(--wp--preset--color--white);
  transform: scale(1.1);
}

.c-form-002__modal-close .material-symbols-outlined {
  font-size: 3.2rem;
  font-weight: bold;
}

/* テーマ別モーダル閉じるボタン色 */
.c-form-002--theme-pink .c-form-002__modal-close:hover {
  background: var(--wp--preset--color--primary-light);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002--theme-gold .c-form-002__modal-close:hover {
  background: var(--treatment-primary-light);
  border-color: var(--treatment-primary);
}

.c-form-002--theme-green .c-form-002__modal-close:hover {
  background: var(--c-column-primary-light);
  border-color: var(--c-column-primary);
}

/* テーマ別バッジフィルターバッジ色（背景色+白文字） */
.c-form-002--theme-pink .c-form-002__badge-container .c-form-002__badge {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--primary-dark);
}

.c-form-002--theme-pink .c-form-002__badge-container .c-form-002__badge:hover {
  background: var(--wp--preset--color--primary-dark);
}

.c-form-002--theme-pink .c-form-002__badge-container .c-form-002__badge-remove {
  color: var(--wp--preset--color--white);
}

.c-form-002--theme-pink
  .c-form-002__badge-container
  .c-form-002__badge-remove:hover {
  background: var(--wp--preset--color--primary-darker);
  color: var(--wp--preset--color--white);
}

.c-form-002--theme-gold .c-form-002__badge-container .c-form-002__badge {
  background: var(--treatment-primary);
  color: var(--wp--preset--color--white);
  border-color: var(--treatment-primary-dark);
}

.c-form-002--theme-gold .c-form-002__badge-container .c-form-002__badge:hover {
  background: var(--treatment-primary-dark);
}

.c-form-002--theme-gold .c-form-002__badge-container .c-form-002__badge-remove {
  color: var(--wp--preset--color--white);
}

.c-form-002--theme-gold
  .c-form-002__badge-container
  .c-form-002__badge-remove:hover {
  background: var(--treatment-primary-darker);
  color: var(--wp--preset--color--white);
}

/* モーダルボディ */
.c-form-002__modal-body {
  flex: 1;
  padding: var(--wp--preset--spacing--lg);
  overflow-y: auto;
}

/* モーダル内のチェックボックスグループ */
.c-form-002__modal-body .c-form-002__checkbox-group {
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .c-form-002__modal-body .c-form-002__checkbox-group {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* モーダルフッター */
.c-form-002__modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--wp--preset--spacing--base);
  padding: var(--wp--preset--spacing--lg);
  border-top: 1px solid var(--wp--preset--color--gray-lighter);
}

.c-form-002__modal-submit {
  flex: none;
  min-width: 16rem;
}

/* アニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    transform: translate(-50%, -40%);
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}

/* ============================================
   レスポンシブ調整
   ============================================ */
@media (max-width: 767px) {
  .c-form-002__button,
  .c-form-002__button--secondary {
    width: 100%;
  }

  .c-form-002__badge {
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
    font-size: 1.3rem;
  }

  .c-form-002__modal-content {
    width: 95%;
    max-height: 90vh;
  }

  .c-form-002__modal-header,
  .c-form-002__modal-body,
  .c-form-002__modal-footer {
    padding: var(--wp--preset--spacing--base);
  }

  .c-form-002__modal-title {
    font-size: var(--wp--preset--font-size--lg);
  }
}

/* ============================================
   バッジフィルター（選択エリア + ドロップダウン方式）
   ============================================ */

/* バッジフィルターエリア全体 */
.c-form-002__badge-filter-area {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--xs);
  min-height: 5.6rem;
  padding: var(--wp--preset--spacing--sm);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--md);
  background: var(--wp--preset--color--white);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-filter-area:hover {
  background: var(--wp--preset--color--gray-lightest);
  border-color: var(--wp--preset--color--primary);
}

/* バッジコンテナ（選択されたバッジを表示） */
.c-form-002__badge-container {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--xs);
  min-height: 4rem;
}

/* プレースホルダー */
.c-form-002__badge-placeholder {
  color: var(--wp--preset--color--gray);
  font-size: var(--wp--preset--font-size--sm);
  font-style: italic;
  padding: var(--wp--preset--spacing--4-xs);
}

/* バッジアイテム（選択済み） */
.c-form-002__badge-item {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--4-xs);
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border--radius--full);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  line-height: 1.5;
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
  animation: badgeAppear 0.2s ease-out;
}

.c-form-002__badge-item:hover {
  background: var(--wp--preset--color--primary-dark);
  transform: scale(1.05);
}

/* バッジ削除ボタン（❌） */
.c-form-002__badge-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  margin-left: var(--wp--preset--spacing--4-xs);
  background: transparent;
  border: none;
  border-radius: var(--wp--custom--border--radius--full);
  color: var(--wp--preset--color--white);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-remove:hover {
  background: var(--wp--custom--overlay--dark--2);
}

/* 条件選択ボタン */
.c-form-002__badge-select-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--4-xs);
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--xs);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--primary);
  border: 2px solid var(--wp--preset--color--primary-light);
  border-radius: var(--wp--custom--border--radius--md);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  white-space: nowrap;
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__badge-select-btn:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__badge-select-btn:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

/* ドロップダウンパネル */
.c-form-002__badge-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  right: 0;
  background: var(--wp--preset--color--white);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--custom--border--radius--md);
  box-shadow: var(--wp--custom--shadow--lg);
  max-height: 40rem;
  overflow-y: auto;
  z-index: var(--wp--custom--z-index--dropdown);
  animation: dropdownSlide 0.2s ease-out;
}

.c-form-002__badge-dropdown.is-open {
  display: block;
}

/* 選択リスト */
.c-form-002__selection-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--base);
}

@media (min-width: 768px) {
  .c-form-002__selection-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .c-form-002__selection-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* 選択アイテム（モーダル内） */
.c-form-002__selection-item {
  display: flex;
  align-items: center;
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--gray-lightest);
  border: 2px solid transparent;
  border-radius: var(--wp--custom--border--radius--md);
  cursor: pointer;
  user-select: none;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__selection-item:hover {
  background: var(--wp--preset--color--primary-lightest);
  border-color: var(--wp--preset--color--primary-light);
  transform: translateX(4px);
}

.c-form-002__selection-item:active {
  transform: scale(0.98);
}

.c-form-002__selection-item label {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--xs);
  cursor: pointer;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--basic-text);
  margin: 0;
  padding: 0;
  line-height: 1.5;
  flex: 1;
  width: 100%;
}

.c-form-002__selection-item input[type="checkbox"] {
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--wp--preset--color--gray);
  border-radius: var(--wp--custom--border--radius--sm);
  background: var(--wp--preset--color--white);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  margin-right: var(--wp--preset--spacing--xs);
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__selection-item input[type="checkbox"]:hover {
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__selection-item input[type="checkbox"]:checked {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__selection-item input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.2rem;
  height: 0.8rem;
  border-left: 2px solid var(--wp--preset--color--white);
  border-bottom: 2px solid var(--wp--preset--color--white);
  transform: translate(-50%, -60%) rotate(-45deg);
}

.c-form-002__selection-item input[type="checkbox"]:focus {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

/* フィルター本体を相対位置に */
.c-form-002__badge-filter-wrapper {
  position: relative;
}

/* バッジフィルターアニメーション */
@keyframes badgeAppear {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes dropdownSlide {
  from {
    opacity: 0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* バッジフィルターのレスポンシブ調整 */
@media (max-width: 767px) {
  .c-form-002__badge-filter-area {
    flex-direction: column;
    align-items: stretch;
  }

  .c-form-002__badge-select-btn {
    width: 100%;
    justify-content: center;
  }

  .c-form-002__selection-list {
    grid-template-columns: 1fr !important;
  }
}

/* タブレット向け調整 (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .c-form-002__modal-body .c-form-002__selection-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   階層構造選択リスト
   ============================================ */

/* 階層構造コンテナ */
.c-form-002__selection-list-hierarchical {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--lg);
  padding: var(--wp--preset--spacing--base);
}

/* 親カテゴリ + 子カテゴリのグループ */
.c-form-002__selection-group {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--sm);
}

.c-form-002__selection-group:not(:last-child) {
}

/* 親カテゴリ（見出しスタイル） */
.c-form-002__selection-item--parent {
  display: flex;
  align-items: center;
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--primary-lightest);
  border: 2px solid var(--wp--preset--color--primary-light);
  border-radius: var(--wp--custom--border--radius--md);
  cursor: pointer;
  transition: all var(--wp--custom--transition--duration--fast)
    var(--wp--custom--transition--timing--ease-in-out);
}

.c-form-002__selection-item--parent:hover {
  background: var(--wp--preset--color--primary-lighter);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__selection-item--parent label {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--xs);
  cursor: pointer;
  font-size: var(--wp--preset--font-size--base);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary-darker);
  margin: 0;
  padding: 0;
  line-height: 1.5;
  flex: 1;
  width: 100%;
}

/* 子カテゴリコンテナ（グリッドレイアウト） */
.c-form-002__selection-children {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--sm);
  padding-left: var(--wp--preset--spacing--base);
}

@media (min-width: 768px) {
  .c-form-002__selection-children {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================
   3階層構造の視覚的な表現（地域フィルター専用）
   ============================================ */

/* 2階層目（都道府県レベル）のスタイル - 横幅いっぱいの区切り */
.c-form-002__selection-item--level-2 {
  grid-column: 1 / -1; /* グリッドの全列を占める */
  width: 100%;
  background: var(--wp--preset--color--gray-lighter);
  border: none;
  border-radius: 0;
  border-bottom: 2px solid var(--wp--preset--color--primary);
  font-weight: var(--wp--custom--font-weight--bold);
  margin: var(--wp--preset--spacing--base) 0;
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--base);
}

.c-form-002__selection-item--level-2:first-child {
  margin-top: 0;
}

.c-form-002__selection-item--level-2:hover {
  background: var(--wp--preset--color--gray-light);
  border-top-color: var(--wp--preset--color--primary-dark);
  border-bottom-color: var(--wp--preset--color--primary-dark);
  transform: none;
}

.c-form-002__selection-item--level-2 label {
  font-size: var(--wp--preset--font-size--base);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary-darker);
  display: flex;
  align-items: center;
  width: 100%;
}

/* 3階層目（区市町村レベル）のスタイル - 2列グリッド */
.c-form-002__selection-item--level-3 {
  /* インデントはc-form-002__selection-childrenのpadding-leftで実装 */
}

.c-form-002__selection-item--level-3 label {
  font-size: var(--wp--preset--font-size--sm);
}

/* タブレット・PC用のレスポンシブ調整 */
@media (min-width: 768px) {
  .c-form-002__selection-item--level-2 {
    padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  }
}

/* クリニック検索（secondaryカラー）の場合の3階層スタイル */
.c-form-002--theme-pink .c-form-002__selection-item--level-2 {
  border-top-color: var(--wp--preset--color--secondary);
  border-bottom-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__selection-item--level-2:hover {
  border-top-color: var(--wp--preset--color--secondary-dark);
  border-bottom-color: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__selection-item--level-2 label {
  color: var(--wp--preset--color--secondary-darker);
}

/* ラベルテキスト */
.c-form-002__selection-label {
  display: inline-block;
  margin-left: var(--wp--preset--spacing--4-xs);
  flex: 1;
}

/* ============================================
   フラットリスト（階層なし）- 2列グリッド
   ============================================ */

/* 子を持たない親カテゴリのコンテナ（2列グリッド） */
.c-form-002__selection-flat-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--sm);
  padding-top: var(--wp--preset--spacing--lg);
  margin-top: var(--wp--preset--spacing--lg);
  border-top: 1px solid var(--wp--preset--color--gray-lighter);
}

@media (min-width: 768px) {
  .c-form-002__selection-flat-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 最初の要素の場合、上部のボーダーとマージンを削除 */
.c-form-002__selection-list-hierarchical
  > .c-form-002__selection-flat-list:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

/* ============================================
   地域タブナビゲーション
   ============================================ */

/* タブナビゲーションラッパー */
.c-form-002__region-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--xs);
  margin-bottom: var(--wp--preset--spacing--base);
  border-bottom: 2px solid var(--wp--preset--color--gray-light);
  padding-bottom: var(--wp--preset--spacing--xs);
}

/* タブボタン */
.c-form-002__region-tab {
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--white);
  border: 2px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--xs) 0
    0;
  font-size: var(--wp--preset--font-size--small);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--text);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  bottom: -2px;
}

.c-form-002__region-tab:hover {
  background: var(--wp--preset--color--gray-lighter);
  border-color: var(--wp--preset--color--primary);
}

.c-form-002__region-tab.is-active {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  font-weight: var(--wp--custom--font-weight--bold);
}

/* タブパネルラッパー */
.c-form-002__region-panels {
  position: relative;
}

/* タブパネル */
.c-form-002__region-panel {
  display: none;
}

.c-form-002__region-panel.is-active {
  display: block;
}

/* タブレット・PC調整 */
@media (min-width: 768px) {
  .c-form-002__region-tabs {
    gap: var(--wp--preset--spacing--sm);
  }

  .c-form-002__region-tab {
    padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
    font-size: var(--wp--preset--font-size--base);
  }
}

/* クリニック検索用カラーオーバーライド（secondary色） */
.c-form-002--theme-pink .c-form-002__region-tab:hover {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__region-tab.is-active {
  background: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary);
}

/* ============================================
   都道府県タブナビゲーション（2重タブ）
   ============================================ */

/* 都道府県タブナビゲーションラッパー */
.c-form-002__prefecture-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--4-xs);
  margin-bottom: var(--wp--preset--spacing--sm);
  border-bottom: 1px solid var(--wp--preset--color--gray-light);
  padding-bottom: var(--wp--preset--spacing--4-xs);
  margin-top: var(--wp--preset--spacing--sm);
}

/* 都道府県タブボタン */
.c-form-002__prefecture-tab {
  padding: var(--wp--preset--spacing--4-xs) var(--wp--preset--spacing--sm);
  background: var(--wp--preset--color--gray-lightest);
  border: 1px solid var(--wp--preset--color--gray-light);
  border-radius: var(--wp--preset--spacing--4-xs)
    var(--wp--preset--spacing--4-xs) 0 0;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--normal);
  color: var(--wp--preset--color--gray-dark);
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  bottom: -1px;
}

.c-form-002__prefecture-tab:hover {
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--primary-light);
  color: var(--wp--preset--color--primary);
}

.c-form-002__prefecture-tab.is-active {
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--primary-light);
  border-bottom-color: transparent;
  color: var(--wp--preset--color--primary);
  font-weight: var(--wp--custom--font-weight--medium);
}

/* 都道府県パネルラッパー */
.c-form-002__prefecture-panels {
  position: relative;
}

/* 都道府県パネル */
.c-form-002__prefecture-panel {
  display: none;
}

.c-form-002__prefecture-panel.is-active {
  display: block;
}

/* タブレット・PC調整 */
@media (min-width: 768px) {
  .c-form-002__prefecture-tabs {
    gap: var(--wp--preset--spacing--xs);
  }

  .c-form-002__prefecture-tab {
    padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--base);
    font-size: var(--wp--preset--font-size--small);
  }
}

/* クリニック検索用カラーオーバーライド（secondary色） */
.c-form-002--theme-pink .c-form-002__prefecture-tab:hover {
  border-color: var(--wp--preset--color--secondary-light);
  color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__prefecture-tab.is-active {
  border-color: var(--wp--preset--color--secondary-light);
  color: var(--wp--preset--color--secondary);
}

/* ============================================
   上に戻るボタン
   ============================================ */
.c-form-002__scroll-to-top {
  position: fixed;
  bottom: var(--wp--preset--spacing--2-xl);
  right: var(--wp--preset--spacing--2-xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--4-xs);
  width: 6rem;
  height: 6rem;
  padding: var(--wp--preset--spacing--xs);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  border: none;
  border-radius: var(--wp--custom--border--radius--full);
  box-shadow: var(--wp--custom--shadow--lg);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10rem);
  transition: all var(--wp--custom--transition--duration--base)
    var(--wp--custom--transition--timing--ease-in-out);
  z-index: var(--wp--custom--z-index--fixed);
}

.c-form-002__scroll-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.c-form-002__scroll-to-top:hover {
  background: var(--wp--preset--color--primary-dark);
  transform: translateY(-0.4rem);
  box-shadow: var(--wp--custom--shadow--xl);
}

.c-form-002__scroll-to-top:active {
  transform: translateY(0);
}

.c-form-002__scroll-to-top .material-symbols-outlined {
  font-size: var(--wp--preset--font-size--lg);
}

.c-form-002__scroll-to-top span:last-child {
  font-size: var(--wp--preset--font-size--base);
  font-weight: var(--wp--custom--font-weight--bold);
  line-height: 1;
}

@media (max-width: 767px) {
  .c-form-002__scroll-to-top {
    bottom: var(--wp--preset--spacing--lg);
    right: var(--wp--preset--spacing--lg);
    width: 5.6rem;
    height: 5.6rem;
  }

  .c-form-002__scroll-to-top .material-symbols-outlined {
    font-size: 2rem;
  }

  .c-form-002__scroll-to-top span:last-child {
    font-size: 1rem;
  }
}

/* ============================================
   選択肢の予想件数表示
   ============================================ */

/* 予想件数 */
.c-form-002__option-count {
  display: inline-block;
  margin-left: auto;
  padding: var(--wp--preset--spacing--4-xs) var(--wp--preset--spacing--xs);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--primary-lightest);
  border-radius: var(--wp--custom--border--radius--md);
  line-height: 1;
  flex-shrink: 0;
}

/* 0件の選択肢 - チェック可能だが目立たない */
.c-form-002__selection-item.is-zero-count {
  opacity: 0.8;
  background: var(--wp--preset--color--gray-lightest);
}

.c-form-002__selection-item.is-zero-count:hover {
  opacity: 0.8;
  background: var(--wp--preset--color--gray-lightest);
  border-color: var(--wp--preset--color--gray-light);
  transform: translateX(2px);
}

.c-form-002__selection-item.is-zero-count .c-form-002__option-count {
  color: var(--wp--preset--color--gray--darker);
  background: var(--wp--preset--color--gray-lighter);
}

.c-form-002__selection-item.is-zero-count label {
  color: var(--wp--preset--color--gray);
  cursor: pointer;
}

.c-form-002__selection-item.is-zero-count input[type="checkbox"] {
  border-color: var(--wp--preset--color--gray-light);
  cursor: pointer;
}

/* ============================================
   アーカイブページ左サイドバー用スタイル
   PC版（1024px以上）でのみ適用
   ============================================ */
/* ============================================
   サイドバーレイアウト用スタイル
   ============================================ */
@media (min-width: 1024px) {
  /* サイドバー内フォーム: ボックススタイルなし */
  .c-form-002--sidebar {
    box-shadow: none;
    border-radius: 0;
    padding: 10rem 0 0;
  }

  /* メインタイトル: サイドバーでは非表示 */
  .c-form-002--sidebar .c-form-002__main-title {
    display: none;
  }

  /* セクション: 縦並びレイアウト（見出しの下に項目） */
  .c-form-002--sidebar .c-form-002__section {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--base);
    padding: var(--wp--preset--spacing--lg) 0;
    border-bottom: 1px solid var(--wp--preset--color--gray-lighter);
  }

  .c-form-002--sidebar .c-form-002__section:first-child {
    padding-top: 0;
  }

  .c-form-002--sidebar .c-form-002__section:last-of-type {
    border-bottom: none;
  }

  /* セクションタイトル: サイドバー用サイズ */
  .c-form-002--sidebar .c-form-002__section-title {
    font-size: var(--wp--preset--font-size--base);
    padding-top: 0;
    margin-bottom: 0;
  }

  /* 入力エリア・フィルターエリア: フル幅 */
  .c-form-002--sidebar .c-form-002__input-wrapper,
  .c-form-002--sidebar .c-form-002__badge-filter-wrapper {
    width: 100%;
  }

  .c-form-002--sidebar .c-form-002__badge-filter-area {
    min-height: 4.8rem;
    width: 100%;
  }

  /* アクションエリア: 固定配置 */
  .c-form-002--sidebar .c-form-002__actions {
    position: sticky;
    bottom: 0;
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--base);
    background: var(--wp--preset--color--white);
    padding: var(--wp--preset--spacing--lg) 0 0;
    margin-top: var(--wp--preset--spacing--xl);
    border-top: 2px solid var(--wp--preset--color--gray-lighter);
    z-index: 10;
  }

  /* 予想検索結果数: サイドバー用スタイル */
  .c-form-002--sidebar .c-form-002__result-count {
    display: flex;
    width: 100%;
    justify-content: center;
    padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
    margin-bottom: var(--wp--preset--spacing--base);
    background: var(--wp--preset--color--gray-lightest);
    border: 2px solid var(--wp--preset--color--gray-light);
  }

  /* 検索ボタン: フル幅 */
  .c-form-002--sidebar .c-form-002__button {
    width: 100%;
  }

  /* リセットボタン: フル幅 */
  .c-form-002--sidebar .c-form-002__button--secondary {
    width: 100%;
    margin-left: 0;
    justify-content: center;
    padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  }

  /* モーダル: サイドバー幅を考慮 */
  .c-form-002--sidebar .c-form-002__modal {
    margin-left: 40rem;
    width: calc(100% - 40rem);
  }

  /* ヘッダー内配置時: 固定位置 */
  .c-form-002--sidebar.c-header-002 {
    position: fixed;
    top: 11rem;
    z-index: 20;
    padding: 1.2rem;
  }
}

/* ============================================
   施術検索用カラーオーバーライド（ピンク系）
   ============================================ */
.c-form-002--theme-gold .c-form-002__main-title {
  color: var(--wp--preset--color--tertiary-darker);
  border-bottom-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-pink .c-form-002__main-title .material-symbols-outlined {
  color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__section-title {
  color: var(--wp--preset--color--secondary-darker);
}

.c-form-002--theme-pink .c-form-002__section-title .material-symbols-outlined {
  color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__input:hover {
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__input:focus {
  border-color: var(--wp--preset--color--secondary);
  box-shadow: 0 0 0 3px rgba(219, 87, 165, 0.2);
}

.c-form-002--theme-pink .c-form-002__input-clear:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__textarea:hover {
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__textarea:focus {
  border-color: var(--wp--preset--color--secondary);
  box-shadow: 0 0 0 3px rgba(219, 87, 165, 0.2);
}

.c-form-002--theme-pink .c-form-002__badge:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__badge.is-active {
  background: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge.is-active:hover {
  background: var(--wp--preset--color--secondary-dark);
  border-color: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink
  .c-form-002__badge-input:focus-visible
  + .c-form-002__badge-text {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__checkbox-item:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__checkbox:hover {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__checkbox:checked {
  background: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__checkbox:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__radio-item:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__radio:hover {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__radio:checked {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__radio:checked::after {
  background: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__radio:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__result-count {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__result-count-label {
  color: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__result-count-number {
  color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__result-count-unit {
  color: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__button {
  background: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__button:hover {
  background: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__button:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-selected {
  background: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-selected:hover {
  background: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__badge-add-button {
  color: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__badge-add-button:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-add-button:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__modal-title {
  color: var(--wp--preset--color--secondary-darker);
}

.c-form-002--theme-pink .c-form-002__badge-filter-area:hover {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-item {
  background: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-item:hover {
  background: var(--wp--preset--color--secondary-dark);
}

.c-form-002--theme-pink .c-form-002__badge-select-btn {
  color: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__badge-select-btn:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__badge-select-btn:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__selection-item:hover {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink
  .c-form-002__selection-item
  input[type="checkbox"]:hover {
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink
  .c-form-002__selection-item
  input[type="checkbox"]:checked {
  background: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink
  .c-form-002__selection-item
  input[type="checkbox"]:focus {
  outline-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__selection-item--parent {
  background: var(--wp--preset--color--secondary-lightest);
  border-color: var(--wp--preset--color--secondary-light);
}

.c-form-002--theme-pink .c-form-002__selection-item--parent:hover {
  background: var(--wp--preset--color--secondary-lighter);
  border-color: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__selection-item--parent label {
  color: var(--wp--preset--color--secondary-darker);
}

.c-form-002--theme-pink .c-form-002__option-count {
  color: var(--wp--preset--color--secondary);
  background: var(--wp--preset--color--secondary-lightest);
}

.c-form-002--theme-pink .c-form-002__scroll-to-top {
  background: var(--wp--preset--color--secondary);
}

.c-form-002--theme-pink .c-form-002__scroll-to-top:hover {
  background: var(--wp--preset--color--secondary-dark);
}

/* ============================================
   クリニック検索用カラーオーバーライド（金色系）
   ============================================ */
.c-form-002--theme-gold .c-form-002__main-title {
  color: var(--wp--preset--color--tertiary-darker);
  border-bottom-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__main-title .material-symbols-outlined {
  color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__section-title {
  color: var(--wp--preset--color--tertiary-darker);
}

.c-form-002--theme-gold .c-form-002__section-title .material-symbols-outlined {
  color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__input:hover {
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__input:focus {
  border-color: var(--wp--preset--color--tertiary);
  box-shadow: 0 0 0 3px rgba(125, 108, 20, 0.2);
}

.c-form-002--theme-gold .c-form-002__input-clear:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__textarea:hover {
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__textarea:focus {
  border-color: var(--wp--preset--color--tertiary);
  box-shadow: 0 0 0 3px rgba(125, 108, 20, 0.2);
}

.c-form-002--theme-gold .c-form-002__badge:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__badge.is-active {
  background: var(--wp--preset--color--tertiary);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge.is-active:hover {
  background: var(--wp--preset--color--tertiary-dark);
  border-color: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold
  .c-form-002__badge-input:focus-visible
  + .c-form-002__badge-text {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__checkbox-item:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__checkbox:hover {
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__checkbox:checked {
  background: var(--wp--preset--color--tertiary);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__checkbox:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__radio-item:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__radio:hover {
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__radio:checked {
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__radio:checked::after {
  background: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__radio:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__result-count {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__result-count-label {
  color: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold .c-form-002__result-count-number {
  color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__result-count-unit {
  color: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold .c-form-002__button {
  background: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__button:hover {
  background: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold .c-form-002__button:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-selected {
  background: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-selected:hover {
  background: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold .c-form-002__badge-add-button {
  color: var(--wp--preset--color--tertiary);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__badge-add-button:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-add-button:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__modal-title {
  color: var(--wp--preset--color--tertiary-darker);
}

.c-form-002--theme-gold .c-form-002__badge-filter-area:hover {
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-item {
  background: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-item:hover {
  background: var(--wp--preset--color--tertiary-dark);
}

.c-form-002--theme-gold .c-form-002__badge-select-btn {
  color: var(--wp--preset--color--tertiary);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__badge-select-btn:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__badge-select-btn:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__selection-item:hover {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold
  .c-form-002__selection-item
  input[type="checkbox"]:hover {
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold
  .c-form-002__selection-item
  input[type="checkbox"]:checked {
  background: var(--wp--preset--color--tertiary);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold
  .c-form-002__selection-item
  input[type="checkbox"]:focus {
  outline-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__selection-item--parent {
  background: var(--wp--preset--color--tertiary-lightest);
  border-color: var(--wp--preset--color--tertiary-light);
}

.c-form-002--theme-gold .c-form-002__selection-item--parent:hover {
  background: var(--wp--preset--color--tertiary-lighter);
  border-color: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__selection-item--parent label {
  color: var(--wp--preset--color--tertiary-darker);
}

.c-form-002--theme-gold .c-form-002__option-count {
  color: var(--wp--preset--color--tertiary);
  background: var(--wp--preset--color--tertiary-lightest);
}

.c-form-002--theme-gold .c-form-002__scroll-to-top {
  background: var(--wp--preset--color--tertiary);
}

.c-form-002--theme-gold .c-form-002__scroll-to-top:hover {
  background: var(--wp--preset--color--tertiary-dark);
}

/* ============================================
   コラム検索用カラーオーバーライド（緑色系）
   ============================================ */

/* CSS変数定義: c-column用のテーマカラー */
:root {
  --c-column-primary: #76c576; /* グリーン系 */
  --c-column-primary-light: #96e0a0;
  --c-column-primary-lighter: #c8f0d0;
  --c-column-primary-lightest: #f1fbf2;
  --c-column-primary-dark: #4aa14b;
  --c-column-primary-darker: #2e7d32;
}

.c-form-002--theme-green .c-form-002__main-title {
  color: var(--c-column-primary-darker);
  border-bottom-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__main-title .material-symbols-outlined {
  color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__section-title {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__section-title .material-symbols-outlined {
  color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__select-button {
  background: var(--c-column-primary-lightest);
  color: var(--c-column-primary-darker);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__select-button:hover {
  background: var(--c-column-primary-lighter);
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge-container .c-form-002__badge {
  background: var(--c-column-primary);
  color: var(--wp--preset--color--white);
}

.c-form-002--theme-green .c-form-002__badge-container .c-form-002__badge:hover {
  background: var(--c-column-primary-dark);
}

.c-form-002--theme-green
  .c-form-002__badge-container
  .c-form-002__badge-remove {
  color: var(--wp--preset--color--white);
}

.c-form-002--theme-green
  .c-form-002__badge-container
  .c-form-002__badge-remove:hover {
  background: var(--c-column-primary-darker);
  color: var(--wp--preset--color--white);
}

/* 入力フィールド */
.c-form-002--theme-green .c-form-002__input:hover {
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__input:focus {
  border-color: var(--c-column-primary);
  box-shadow: 0 0 0 3px rgba(76, 197, 118, 0.2);
}

.c-form-002--theme-green .c-form-002__input-clear:focus {
  background: var(--c-column-primary-lightest);
}

.c-form-002--theme-green .c-form-002__textarea:hover {
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__textarea:focus {
  border-color: var(--c-column-primary);
  box-shadow: 0 0 0 3px rgba(76, 197, 118, 0.2);
}

/* バッジ */
.c-form-002--theme-green .c-form-002__badge:hover {
  background: var(--c-column-primary-lighter);
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge.is-active {
  background: var(--c-column-primary);
  color: var(--wp--preset--color--white);
  border-color: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__badge.is-active:hover {
  background: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__badge-input:focus-visible {
  outline-color: var(--c-column-primary);
}

/* チェックボックス・ラジオボタン */
.c-form-002--theme-green .c-form-002__checkbox-item:hover {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__checkbox:hover {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__checkbox:checked {
  background: var(--c-column-primary);
  border-color: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__checkbox:focus {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__radio-item:hover {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__radio:hover {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__radio:checked {
  border-color: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__radio:checked::after {
  background: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__radio:focus {
  border-color: var(--c-column-primary);
}

/* 検索結果カウント */
.c-form-002--theme-green .c-form-002__result-count {
  background: var(--c-column-primary-lightest);
  border-left-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__result-count-label {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__result-count-number {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__result-count-unit {
  color: var(--c-column-primary-darker);
}

/* c-column専用の緑色テーマ */
.c-form-002--theme-green .c-form-002__button {
  background: var(--c-column-primary);
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__button:hover {
  background: var(--c-column-primary-dark);
  border-color: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__button:focus {
  box-shadow: 0 0 0 3px rgba(76, 197, 118, 0.2);
}

.c-form-002--theme-green .c-form-002__reset:hover {
  color: var(--c-column-primary-dark);
}

/* バッジフィルター関連 */
.c-form-002--theme-green .c-form-002__badge-selected {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__badge-selected:hover {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge-add-button {
  background: var(--c-column-primary-lightest);
  color: var(--c-column-primary-darker);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__badge-add-button:hover {
  background: var(--c-column-primary-lighter);
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge-add-button:focus {
  box-shadow: 0 0 0 3px rgba(76, 197, 118, 0.2);
}

.c-form-002--theme-green .c-form-002__modal-title {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__badge-filter-area:hover {
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__badge-item {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__badge-item:hover {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge-select-btn {
  background: var(--c-column-primary-lightest);
  color: var(--c-column-primary-darker);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__badge-select-btn:hover {
  background: var(--c-column-primary-lighter);
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__badge-select-btn:focus {
  box-shadow: 0 0 0 3px rgba(76, 197, 118, 0.2);
}

/* モーダル内の選択項目 */
.c-form-002--theme-green .c-form-002__selection-item:hover {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
}

.c-form-002--theme-green
  .c-form-002__selection-item
  input[type="checkbox"]:hover {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green
  .c-form-002__selection-item
  input[type="checkbox"]:checked {
  background: var(--c-column-primary);
  border-color: var(--c-column-primary-dark);
}

.c-form-002--theme-green
  .c-form-002__selection-item
  input[type="checkbox"]:focus {
  border-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__selection-item--parent {
  background: var(--c-column-primary-lightest);
  border-color: var(--c-column-primary-light);
  border-bottom-color: var(--c-column-primary-light);
}

.c-form-002--theme-green .c-form-002__selection-item--parent:hover {
  background: var(--c-column-primary-lighter);
  border-color: var(--c-column-primary);
  border-bottom-color: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__selection-item--parent label {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__selection-item--level-2 {
  background: var(--c-column-primary-lightest);
}

.c-form-002--theme-green .c-form-002__selection-item--level-2:hover {
  background: var(--c-column-primary-lighter);
}

.c-form-002--theme-green .c-form-002__selection-item--level-2 label {
  color: var(--c-column-primary-darker);
}

.c-form-002--theme-green .c-form-002__option-count {
  color: var(--c-column-primary);
  background: var(--c-column-primary-lightest);
}

.c-form-002--theme-green .c-form-002__scroll-to-top {
  background: var(--c-column-primary);
}

.c-form-002--theme-green .c-form-002__scroll-to-top:hover {
  background: var(--c-column-primary-dark);
}

.c-form-002--theme-green .c-form-002__result-count .material-symbols-outlined {
  color: var(--c-column-primary);
}
