@charset "utf-8";
/* ----------------------------------------------------
★フォームデザイン強化（Snow Monkey Forms）
--------------------------------------------------- */

.page-contact {

  /* プログレストラッカー */
  .smf-progress-tracker {
    margin-bottom: 32px;
  }

  /* アクティブ（aria-current="true" のステップ）: 白丸・ピンク枠・濃い数字 */
  .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__number {
    background: #fff;
    border: 2px solid #e5107d;
    color: #333;
    font-weight: 600;
  }
  .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__text {
    color: #fff;
    font-weight: 500;
  }

  /* 非アクティブ: 暗い丸・白い数字・見やすいテキスト */
  .smf-progress-tracker__item[aria-current="false"] .smf-progress-tracker__item__number {
    background: #666;
    border: 2px solid rgba(255, 255, 255, 0.8);
    color: #fff;
  }
  .smf-progress-tracker__item[aria-current="false"] .smf-progress-tracker__item__text {
    color: rgba(255, 255, 255, 0.95);
  }

  /* フォーム項目 */
  .smf-form--simple-table .smf-item {
    padding: 24px 0;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
  }

  .smf-form--simple-table .smf-item:last-child {
    border-bottom: none;
  }

  /* ラベル */
  .smf-item__label__text {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
  }

  /* 入力フィールド */
  .smf-text-control__control,
  .smf-textarea-control__control {
    background: #fff !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s;
  }

  .smf-text-control__control:focus,
  .smf-textarea-control__control:focus {
    border-color: #e5107d !important;
    box-shadow: 0 0 0 2px rgba(229, 16, 125, 0.25) !important;
    outline: none !important;
  }

  .smf-text-control__control::placeholder,
  .smf-textarea-control__control::placeholder {
    color: #999;
  }

  /* テキストエリア */
  .smf-textarea-control__control {
    min-height: 140px !important;
    resize: vertical;
  }

  /* 注釈テキスト */
  .smf-control-description {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 8px;
    margin-bottom: 12px;
  }

  .smf-item__controls>p {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    margin: 4px 0 8px;
  }

  /* 住所セクション */
  .smf-item__controls .wp-block-spacer {
    margin: 0;
  }

  .smf-item__controls .smf-placeholder {
    margin-bottom: 12px;
  }

  /* 送信ボタン */
  .smf-action {
    margin-top: 32px;
    margin-bottom: 40px;
  }

  .smf-button-control__control {
    background: #e5107d !important;
    border: 2px solid #e5107d !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    padding: 12px 28px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.1s;
  }

  .smf-button-control__control:hover {
    background: #c00e6e !important;
    border-color: #c00e6e !important;
    transform: translateY(-1px);
  }

  /* 必須マーク：ラベル（お名前等）の右側に自然に */
  .smf-item__label__text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }

  .smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
    content: "必須";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 2px 8px;
    min-width: 36px;
    height: 20px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    background: #e5107d;
  }

  /* スマホ用 */
  @media screen and (max-width: 767px) {

    /* プログレストラッカー：数字が消えないように */
    .smf-progress-tracker__item__number {
      min-width: 28px;
      min-height: 28px;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 14px !important;
      line-height: 1 !important;
      overflow: visible !important;
      text-indent: 0 !important;
    }

    .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__number {
      color: #333 !important;
      visibility: visible !important;
    }
  }
  .custom-error-message{
    padding-top: 10px;
  }
}

#autozip{
  display: none !important;
}