.mainForm {
  --form-field-bg: #6b638c;
}
.mainForm form {
  position: relative;
  color: var(--text-white);
}
.mainForm .form-hp {
  position: absolute;
  inline-size: 0.056rem;
  block-size: 0.056rem;
  margin: -0.056rem;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.mainForm .input {
  position: relative;
  z-index: 1;
  display: inline-block;
  inline-size: 100%;
  margin: 0 0 clamp(0.682rem, calc(0.545rem + 0.938vw), 1.364rem);
  vertical-align: top;
}
.mainForm .input__field {
  position: relative;
  display: block;
  inline-size: 100%;
  border: 0;
  background-color: var(--form-field-bg);
  color: var(--text-white);
  font-size: 1rem;
  -webkit-appearance: none;
  appearance: none;
}
.mainForm .input__field:focus {
  outline: none;
}
.mainForm .input__field::placeholder {
  color: var(--text-white);
  opacity: 1;
}
.mainForm .input__field::-webkit-input-placeholder {
  color: var(--text-white);
  opacity: 1;
}
.mainForm .input__label {
  display: inline-block;
  inline-size: 100%;
  padding: 0;
  color: var(--text-white);
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.mainForm .input__label-content {
  position: relative;
  display: block;
  inline-size: 100%;
}
.mainForm .input--fumi {
  --input-row-block-size: clamp(2.545rem, calc(2.318rem + 1.563vw), 3.682rem);
  min-block-size: var(--input-row-block-size);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0.273rem;
  background-color: var(--form-field-bg);
}
.mainForm .input__field--fumi {
  inline-size: 100%;
  min-block-size: var(--input-row-block-size);
  padding-block: clamp(1rem, calc(0.909rem + 0.625vw), 1.455rem) 0.455rem;
  padding-inline: clamp(0.909rem, calc(0.727rem + 1.25vw), 1.818rem);
  line-height: 1.3;
}
.mainForm .input__label--fumi {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  text-align: left;
  pointer-events: none;
}
.mainForm .input__label-content--fumi {
  display: inline-block;
  padding-block: clamp(0.818rem, calc(0.727rem + 0.625vw), 1.273rem) 0;
  padding-inline: clamp(0.909rem, calc(0.727rem + 1.25vw), 1.818rem);
  color: var(--text-white);
  font-size: 1rem;
  line-height: 1.2;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}
.mainForm .input--textarea {
  --input-row-block-size: clamp(8.636rem, calc(7.273rem + 9.375vw), 15.455rem);
}
.mainForm
  .input__field--fumi:focus
  + .input__label--fumi
  .input__label-content--fumi,
.mainForm .input--filled .input__label-content--fumi {
  -webkit-animation: anim-fumi-1 0.3s forwards;
  animation: anim-fumi-1 0.3s forwards;
}
@-webkit-keyframes anim-fumi-1 {
  50% {
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  51% {
    -webkit-transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
  }
  100% {
    color: var(--text-white);
    -webkit-transform: translate3d(0, -0.85em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -0.85em, 0) scale3d(0.85, 0.85, 1);
  }
}
@keyframes anim-fumi-1 {
  50% {
    -webkit-transform: translate3d(0, 3em, 0);
    transform: translate3d(0, 3em, 0);
  }
  51% {
    -webkit-transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -3em, 0) scale3d(0.85, 0.85, 1);
  }
  100% {
    color: var(--text-white);
    -webkit-transform: translate3d(0, -0.85em, 0) scale3d(0.85, 0.85, 1);
    transform: translate3d(0, -0.85em, 0) scale3d(0.85, 0.85, 1);
  }
}
.mainForm input:-webkit-autofill,
.mainForm input:-webkit-autofill:hover,
.mainForm input:-webkit-autofill:focus,
.mainForm input:-webkit-autofill:active,
.mainForm textarea:-webkit-autofill,
.mainForm textarea:-webkit-autofill:hover,
.mainForm textarea:-webkit-autofill:focus,
.mainForm textarea:-webkit-autofill:active {
  -webkit-transition-delay: 9999s;
  -webkit-transition:
    color 9999s ease-out,
    background-color 9999s ease-out;
}
.mainForm .product-form__footer {
  margin-block-start: clamp(0.455rem, calc(0.364rem + 0.625vw), 0.909rem);
}
.mainForm .form-check {
  display: flex;
  align-items: flex-start;
  margin: 0;
}
.mainForm .form-check-input {
  position: relative;
  flex: none;
  inline-size: 1rem;
  block-size: 1rem;
  margin-block-start: 0.227rem;
  margin-inline: 0.045rem 0.682rem;
  border: 0;
  border-radius: 0;
  outline: none;
  background-color: var(--form-field-bg);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.mainForm .form-check-input:checked {
  background-color: var(--level-bg);
}
.mainForm .form-check-input:checked::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: 0.278rem;
  block-size: 0.5rem;
  border-inline-end: 0.111rem solid var(--text-white);
  border-block-end: 0.111rem solid var(--text-white);
  -webkit-transform: translate(-50%, -58%) rotate(45deg);
  transform: translate(-50%, -58%) rotate(45deg);
}
.mainForm .form-check-input:focus-visible {
  outline: 0.091rem dashed var(--level-text);
  outline-offset: 0.227rem;
}
.mainForm .form-check-label {
  margin: 0;
  color: var(--text-white);
  font-size: 0.89rem;
  line-height: 1.35;
}
.mainForm .formular_button {
  position: relative;
  min-inline-size: clamp(8.182rem, calc(7.273rem + 4.375vw), 11.818rem);
  max-inline-size: 100%;
  padding-block: clamp(0.545rem, calc(0.443rem + 0.704vw), 1.057rem);
  padding-inline: clamp(0.938rem, calc(0.66rem + 1.389vw), 1.875rem);
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: 999rem;
  border-start-end-radius: 0;
  background-color: var(--level-bg);
  color: var(--text-white);
  font-family: var(--ff-heading);
  font-size: 1rem;
  line-height: 1.2;
  cursor: pointer;
  transition:
    color 260ms ease-in-out,
    background-color 260ms ease-in-out;
}
.mainForm .formular_button::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: var(--z-index-behind);
  inline-size: 100%;
  block-size: 0;
  background-color: var(--level-bg-medium);
  transition: block-size 260ms ease-in-out;
}
.mainForm .formular_button span {
  position: relative;
  z-index: var(--z-index-above);
}
.mainForm .formular_button:hover,
.mainForm .formular_button:focus-visible {
  color: var(--text-white);
}
.mainForm .formular_button:hover::before,
.mainForm .formular_button:focus-visible::before {
  block-size: 100%;
}
.mainForm .formular_button:focus-visible {
  outline: 0.091rem dashed var(--level-text);
  outline-offset: 0.227rem;
}
@media screen and (max-width: 767px) {
  .mainForm .input {
    margin-block-end: 0.909rem;
  }
  .mainForm .formular_button {
    inline-size: 100%;
    min-inline-size: 0;
  }
}
