.contact_main {
  padding: 11rem 0 10.8rem;
}
.contact_main .quote_form {
  align-self: center;
  flex: 1;
  width: 100%;
  max-width: 68.6rem;
}
.contact_main p {
  margin-top: 2.7rem;
}
.contact_main .main {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2.6rem 0;
}
.contact_main .main span {
  width: 100%;
}
.contact_main .main .col-2 {
  width: 48.39650146%;
}
.contact_main .main .label {
  display: block;
  text-transform: uppercase;
  font-size: 1.459rem;
  font-weight: 500;
  color: #0a1628;
  margin-bottom: 1rem;
  cursor: pointer;
}
.contact_main .main .label i {
  color: #e74c3c;
}
.contact_main .main input,
.contact_main .main textarea {
  display: block;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--title);
  border-radius: 0.4rem;
  border: 1px solid #d8dbe3;
  background-color: #f8f9fb;
  height: 4.5rem;
  padding: 0 2rem;
  transition: all 0.3s;
}
.contact_main .main input::placeholder,
.contact_main .main textarea::placeholder {
  color: var(--title);
  opacity: 0.5;
}
.contact_main .main input:focus,
.contact_main .main textarea:focus {
  border-color: var(--primary);
}
.contact_main .main textarea {
  padding: 1.8rem 2rem;
  height: 11.3rem;
}
.contact_main .main span:has(input[type=submit]) {
  margin-top: 0.4rem;
}
.contact_main .main input[type=submit] {
  transition: all 0.3s;
  text-align: center;
  border-radius: var(--btn_radius);
  background-color: var(--primary);
  border-color: var(--primary);
  text-transform: uppercase;
  width: auto;
  min-width: 20.4rem;
  height: 6rem;
}
.contact_main .main input[type=submit]:hover {
  background-color: transparent;
  color: var(--primary);
}
.contact_main .tip {
  display: block;
  font-size: 1.347rem;
  line-height: 2.2rem;
  color: #8a8f9c;
  max-width: 62.3rem;
}
.contact_main .tip a {
  transition: all 0.3s;
  color: var(--primary);
  text-decoration: underline transparent;
  margin: 0 0.3rem 0 0.7rem;
}
.contact_main .tip a:hover {
  text-decoration-color: transparent;
  color: var(--secondary);
}
.contact_main .map_box {
  display: flex;
  flex-direction: column;
  width: 48.125%;
  border-radius: 1.2rem;
  overflow: hidden;
  padding-bottom: 0.3rem;
}
.contact_main .map_box .map {
  flex: 1;
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
}
.contact_main .map_box .map iframe {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.contact_main .map_box .locate {
  position: relative;
  border-radius: 1.2rem;
  background-color: var(--secondary);
  color: #fff;
  padding: 4.6176046% 4.3290043% 5.4834055% 16.8831169%;
}
.contact_main .map_box .map + .locate {
  margin-top: -2.5rem;
}
.contact_main .map_box .locate::before {
  position: absolute;
  width: 8.7896254%;
  padding-bottom: 8.7896254%;
  border-radius: 50%;
  background: url("../img/icon-locate-line.svg") no-repeat center / 37.7% #fff;
  left: 4.3290043%;
  top: 50%;
  transform: translateY(-50%);
  content: '';
}
.contact_main .map_box .locate .label {
  font-size: 1.916rem;
  letter-spacing: 0.015rem;
}
.contact_main .map_box .locate p {
  font-size: 1.661rem;
  line-height: 2rem;
  opacity: 0.75;
  max-width: 47.3rem;
  margin-top: 0.5rem;
  font-weight: 300;
  letter-spacing: 0.011rem;
}
#form.contact_main .wpforms-container,
#quote .contact_main .wpforms-container {
  margin: 3.6rem 0 3rem;
}
#form.contact_main .wpforms-field-container,
#quote .contact_main .wpforms-field-container {
  display: grid;
  gap: 0 3.20699708%;
  grid-template-columns: repeat(2, 1fr);
}
#form.contact_main .wpforms-field-label,
#quote .contact_main .wpforms-field-label {
  display: block;
  text-transform: uppercase;
  font-size: 1.459rem;
  font-weight: 500;
  color: #0a1628;
  margin-bottom: 1rem;
  cursor: pointer;
  max-width: max-content;
}
#form.contact_main input,
#form.contact_main textarea,
#quote .contact_main input,
#quote .contact_main textarea {
  height: 4.5rem;
  border-radius: 0.4rem;
  background-color: #f8f9fb;
  border: 1px solid #d8dbe3;
}
#form.contact_main textarea,
#quote .contact_main textarea {
  height: 11.3rem;
  resize: none;
}
#form.contact_main input:focus,
#form.contact_main textarea:focus,
#quote .contact_main input:focus,
#quote .contact_main textarea:focus {
  border-color: var(--secondary);
}
#form.contact_main input.wpforms-error,
#form.contact_main textarea.wpforms-error,
#quote .contact_main input.wpforms-error,
#quote .contact_main textarea.wpforms-error {
  border-color: #d63637;
}
#form.contact_main .wpforms-field-textarea,
#quote .contact_main .wpforms-field-textarea {
  grid-column: 1/-1;
}
#form.contact_main .wpforms-submit-container,
#quote .contact_main .wpforms-submit-container {
  margin-top: 1.5rem;
}
#form.contact_main .wpforms-submit,
#quote .contact_main .wpforms-submit {
  color: var(--title);
  font-size: 1.8rem;
  text-transform: uppercase;
  height: 6rem;
  line-height: 6rem;
  min-width: 20.4rem;
  padding: 0 2rem;
  transition: all .3s;
  border-radius: var(--btn_radius);
  border: 1px solid var(--primary);
  background-color: var(--primary);
}
#form.contact_main .wpforms-submit:hover,
#form.contact_main .wpforms-submit:active,
#quote .contact_main .wpforms-submit:hover,
#quote .contact_main .wpforms-submit:active {
  color: var(--primary);
  background: transparent;
}
#form.contact_main .wpforms-submit::before,
#form.contact_main .wpforms-submit::after,
#quote .contact_main .wpforms-submit::before,
#quote .contact_main .wpforms-submit::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .contact_main {
    padding: 50px 0;
  }
  .contact_main .quote_form {
    max-width: unset;
  }
  .contact_main .main {
    gap: 16px 0;
  }
  .contact_main .main .label {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .contact_main .main input,
  .contact_main .main textarea {
    font-size: 14px;
    padding: 0 20px;
    height: 46px;
  }
  .contact_main .main textarea {
    padding: 14px 20px;
    height: 120px;
  }
  .contact_main .main span:has(input[type=submit]) {
    margin-top: 10px;
  }
  .contact_main .main input[type=submit] {
    min-width: 120px;
    height: 46px;
  }
  .contact_main .tip {
    font-size: 14px;
    line-height: 1.5;
  }
  .contact_main .tip a {
    margin: 0;
  }
  .contact_main .map_box {
    width: 100%;
    padding: 0;
    border-radius: 10px;
  }
  .contact_main .map_box .locate {
    padding: 20px;
    padding-left: 75px;
    border-radius: 10px;
  }
  .contact_main .map_box .map + .locate {
    margin-top: -20px;
  }
  .contact_main .map_box .locate::before {
    width: 40px;
    padding-bottom: 40px;
    left: 20px;
  }
  .contact_main .map_box .locate .label {
    font-size: 16px;
    letter-spacing: unset;
  }
  .contact_main .map_box .locate p {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: unset;
    margin-top: 5px;
  }
  #form.contact_main .wpforms-container,
  #quote .contact_main .wpforms-container {
    margin: 20px 0 10px;
  }
  #form.contact_main .wpforms-field-label,
  #quote .contact_main .wpforms-field-label {
    font-size: 14px;
  }
  #form.contact_main .wpforms-submit,
  #quote .contact_main .wpforms-submit {
    font-size: 16px;
    height: 45px;
    line-height: 45px;
    min-width: 120px;
  }
}
@media screen and (max-width: 576px) {
  #form.contact_main .wpforms-field-container,
  #quote .contact_main .wpforms-field-container {
    display: block;
  }
}
