.elementor-kit-7{--e-global-color-primary:#3E3A39;--e-global-color-secondary:#F39800;--e-global-color-text:#CACACA;--e-global-color-accent:#99BB4A;--e-global-typography-primary-font-family:"Noto Sans JP";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Barlow";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Noto Sans JP";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Noto Sans JP";--e-global-typography-accent-font-size:1px;--e-global-typography-accent-font-weight:500;--e-global-typography-6d5997d-font-family:"Noto Sans JP";}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1100px;}.e-con{--container-max-width:1100px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== ::after 完全無効化 ===== */
.elementor-form .elementor-field-group .elementor-field-label::after {
  content: none !important;
  display: none !important;
}

/* ===== 3カラムグリッド ===== */
.elementor-form .elementor-field-group {
  display: grid !important;
  grid-template-columns: 160px 52px 1fr !important;
  align-items: center;
  gap: 0 12px;
  margin-bottom: 16px;
}

/* ラベル：1列目 */
.elementor-form .elementor-field-label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  font-weight: bold;
}

/* バッジ共通：サイズ固定で揃える */
.elementor-form .elementor-field-group::before {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 22px !important;
  font-size: 11px;
  font-weight: bold;
  border-radius: 20px;
  white-space: nowrap;
  box-sizing: border-box;
  align-self: center;
}

.elementor-form .elementor-field-group.elementor-field-required::before {
  content: "必須" !important;
  background-color: #e05a3a;
  color: #fff;
}

.elementor-form .elementor-field-group:not(.elementor-field-required)::before {
  content: "任意" !important;
  background-color: #ccc;
  color: #fff;
}

/* 入力欄：3列目 */
.elementor-form .elementor-field-group .elementor-field,
.elementor-form .elementor-field-group .elementor-field-subgroup {
  grid-column: 3 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

/* ===== テキスト系入力欄：背景色・角丸・枠なし ===== */
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="tel"],
.elementor-form input[type="number"],
.elementor-form input[type="date"],
.elementor-form textarea {
  background-color: #dde8e8 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}

/* ===== ラジオボタン：横並び ===== */
.elementor-form .elementor-field-type-radio .elementor-field-subgroup {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: center !important;
}

.elementor-form .elementor-field-type-radio .elementor-field-subgroup .elementor-radio-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer;
}

.elementor-form .elementor-field-type-radio .elementor-field-subgroup input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border-radius: 50% !important;
  background-color: #dde8e8 !important;
  border: none !important;
  cursor: pointer;
  display: inline-block !important;
  vertical-align: middle;
}

.elementor-form .elementor-field-type-radio .elementor-field-subgroup input[type="radio"]:checked {
  background-color: #4a8f8f !important;
}

/* ===== テキストエリア：バッジを上揃え ===== */
.elementor-form .elementor-field-type-textarea {
  align-items: start !important;
}
.elementor-form .elementor-field-type-textarea::before {
  margin-top: 10px !important;
  align-self: start !important;
}
.elementor-form .elementor-field-type-textarea .elementor-field-label {
  padding-top: 10px !important;
  align-self: start !important;
}

/* ===== ファイル選択ボタン：ラッパーをrelativeに ===== */
.elementor-form .elementor-field-type-upload .elementor-field {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.elementor-form input[type="file"].elementor-upload-field {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  width: auto !important;
}

/* Chrome / Edge */
.elementor-form input[type="file"].elementor-upload-field::file-.elementor-kit-7-button {
  background-color: #F5A800 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 40px !important;
  padding: 10px 48px 10px 24px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  margin-right: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='18' height='18'%3E%3Ccircle cx='12' cy='12' r='10' fill='rgba(255,255,255,0.3)'/%3E%3Cpath d='M10 8l4 4-4 4' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px !important;
}

/* Safari */
.elementor-form input[type="file"].elementor-upload-field::-webkit-file-upload-button {
  background-color: #F5A800 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 40px !important;
  padding: 10px 48px 10px 24px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  margin-right: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='18' height='18'%3E%3Ccircle cx='12' cy='12' r='10' fill='rgba(255,255,255,0.3)'/%3E%3Cpath d='M10 8l4 4-4 4' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px !important;
}

/* ===== reCAPTCHA行を丸ごと非表示 ===== */
.elementor-form .elementor-field-type-recaptcha,
.elementor-form .elementor-field-type-recaptcha_v3 {
  display: none !important;
}

/* ===== 送信・hidden系：バッジ非表示 ===== */
.elementor-form .elementor-field-type-submit::before,
.elementor-form .elementor-field-type-hidden::before {
  content: none !important;
  display: none !important;
}

.elementor-form .elementor-field-type-submit .elementor-field-label,
.elementor-form .elementor-field-type-hidden .elementor-field-label {
  display: none !important;
}

/* ===== 送信ボタン：中央寄せ ===== */
.elementor-form .elementor-field-type-submit {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  padding-top: 16px;
}

/* ===== ボタンデザイン ===== */
.elementor-button[type="submit"] {
  background-color: #F5A800 !important;
  border-radius: 40px !important;
  min-width: 280px;
  color: #fff !important;
}

/* 送信ボタン矢印アイコン */
.elementor-button[type="submit"] .elementor-button-text {
  padding-right: 8px;
}

.elementor-button[type="submit"] .elementor-button-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(255,255,255,0.3) !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
}/* End custom CSS */