.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1381 .elementor-element.elementor-element-99db8ac{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1381 .elementor-element.elementor-element-e2cbf2a{margin:23px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"Noto Sans JP", Sans-serif;font-size:12px;font-weight:400;color:#7C7B7A;}.elementor-1381 .elementor-element.elementor-element-e2cbf2a p{margin-block-end:26px;}.elementor-widget-form .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-form .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group{padding-right:calc( 13px/2 );padding-left:calc( 13px/2 );margin-bottom:20px;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-form-fields-wrapper{margin-left:calc( -13px/2 );margin-right:calc( -13px/2 );margin-bottom:-20px;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-labels-inline .elementor-field-group > label{padding-left:5px;}body:not(.rtl) .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-labels-inline .elementor-field-group > label{padding-right:5px;}body .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-labels-above .elementor-field-group > label{padding-bottom:5px;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group > label{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:700;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-html{padding-bottom:0px;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-1381 .elementor-element.elementor-element-e896c7d{--e-form-steps-indicators-spacing:22px;--e-form-steps-indicator-padding:24px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:0px;--e-form-steps-divider-gap:10px;}@media(max-width:767px){.elementor-1381 .elementor-element.elementor-element-e2cbf2a{margin:5px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;font-size:8px;}}/* Start custom CSS for form, class: .elementor-element-e896c7d *//* ===== Form container ===== */
.elementor-1381 .elementor-element.elementor-element-e896c7d {
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px;
  background: #ffffff;
  border: 1px solid #ddd3c1;
  border-radius: 18px;
  box-shadow: 0 14px 45px rgba(35, 45, 40, 0.08);
  font-family: "Noto Sans JP", sans-serif;
}

/* Labels */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-label {
  margin-bottom: 9px;
  color: #18343a;
  font-size: 15px;
  font-weight: 700;
}

/* Inputs and textarea */
.elementor-1381 .elementor-element.elementor-element-e896c7d input[type="text"],
.elementor-1381 .elementor-element.elementor-element-e896c7d input[type="email"],
.elementor-1381 .elementor-element.elementor-element-e896c7d input[type="tel"],
.elementor-1381 .elementor-element.elementor-element-e896c7d textarea,
.elementor-1381 .elementor-element.elementor-element-e896c7d select {
  min-height: 54px;
  padding: 12px 16px;
  color: #18343a;
  font-size: 16px;
  background: #fbfaf7;
  border: 1px solid #cec7b8;
  border-radius: 9px;
  transition: 0.2s ease;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d textarea {
  min-height: 130px;
  resize: vertical;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d input:focus,
.elementor-1381 .elementor-element.elementor-element-e896c7d textarea:focus,
.elementor-1381 .elementor-element.elementor-element-e896c7d select:focus {
  background: #ffffff;
  border-color: #b89432;
  box-shadow: 0 0 0 3px rgba(184, 148, 50, 0.14);
  outline: none;
}

/* Space between fields */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-group {
  margin-bottom: 20px;
}

/* ===== Session checkboxes ===== */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox {
  margin-top: 10px;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
.elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
.elementor-field-option {
  display: flex;
  align-items: center;
  min-height: 70px;
  margin: 0;
  padding: 14px 16px;
  background: #fbfaf6;
  border: 1px solid #d8d0bf;
  border-radius: 10px;
  transition: 0.2s ease;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
.elementor-field-option:hover {
  background: #fffaf0;
  border-color: #c6a84d;
  transform: translateY(-1px);
}

/* Custom checkbox */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  margin: 0 11px 0 0;
  background: #ffffff;
  border: 2px solid #b9b09e;
  border-radius: 5px;
  cursor: pointer;
  position: relative;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox input[type="checkbox"]:checked {
  background: #c8a642;
  border-color: #c8a642;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox label {
  flex: 1;
  color: #243b3e;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
  cursor: pointer;
}

/* Submit button */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button {
  min-height: 58px;
  margin-top: 10px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: #b89432;
  border: none;
  border-radius: 9px;
  box-shadow: 0 7px 18px rgba(184, 148, 50, 0.24);
  transition: 0.2s ease;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-button:hover {
  background: #997722;
  transform: translateY(-2px);
}

/* Success message */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success {
  margin-top: 18px;
  padding: 15px 18px;
  color: #17603a;
  background: #eff9f2;
  border: 1px solid #b9dfc5;
  border-radius: 8px;
}

/* Tablet */
@media (max-width: 900px) {
  .elementor-1381 .elementor-element.elementor-element-e896c7d {
    padding: 32px 24px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
  .elementor-field-subgroup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 600px) {
  .elementor-1381 .elementor-element.elementor-element-e896c7d {
    padding: 25px 16px;
    border-radius: 12px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
  .elementor-field-subgroup {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox
  .elementor-field-option {
    min-height: 64px;
    padding: 12px 14px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-field-type-checkbox label {
    font-size: 15px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d input,
  .elementor-1381 .elementor-element.elementor-element-e896c7d textarea,
  .elementor-1381 .elementor-element.elementor-element-e896c7d select {
    font-size: 16px !important;
  }
}


/* Large success message */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 22px;
  padding: 22px 24px 22px 62px;
  color: #155b38;
  background: #eaf8ef;
  border: 2px solid #55a879;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(31, 120, 75, 0.13);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #ffffff;
  background: #29915a;
  border-radius: 50%;
  font-size: 19px;
  font-weight: 800;
  transform: translateY(-50%);
}

@media (max-width: 600px) {
  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success {
    padding: 18px 18px 18px 55px;
    font-size: 16px;
  }

  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success::before {
    left: 15px;
  }
}


/* Success message as popup */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success {
  position: fixed !important;
  top: 50%;
  left: 50%;
  z-index: 999999;
  width: min(520px, calc(100% - 32px));
  margin: 0 !important;
  padding: 38px 28px 30px !important;
  color: #155b38;
  background: #ffffff;
  border: 2px solid #55a879;
  border-radius: 16px;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.25),
    0 0 0 100vmax rgba(10, 25, 22, 0.55);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
  transform: translate(-50%, -50%);
  animation: formSuccessPopup 5s forwards;
}

/* Green check icon */
.elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success::before {
  content: "✓";
  position: relative;
  top: auto;
  left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  color: #ffffff;
  background: #29915a;
  border-radius: 50%;
  font-size: 30px;
  font-weight: 800;
  transform: none;
}

@keyframes formSuccessPopup {
  0% {
    opacity: 0;
    transform: translate(-50%, -44%) scale(0.94);
  }

  10%, 85% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }

  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -56%) scale(0.97);
  }
}

@media (max-width: 600px) {
  .elementor-1381 .elementor-element.elementor-element-e896c7d .elementor-message-success {
    width: calc(100% - 28px);
    padding: 30px 20px 25px !important;
    font-size: 16px;
  }
}/* End custom CSS */