/***  color ***/
/***  border ***/
/*** font ***/
/*** sp size ***/
#contactForm {
  padding: 100px 0 120px 0;
}
#contactForm .layout {
  max-width: 900px;
}
#contactForm .layout form {
  margin-top: 50px;
  padding: 50px;
  border-radius: 50px;
  background-color: #f6f6f6;
}
#contactForm .layout form .formItem {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
#contactForm .layout form .formItem .required, #contactForm .layout form .formItem .optional {
  width: 7%;
  margin-right: 10px;
  padding: 5px 0;
  text-align: center;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  border-radius: 1000px;
}
#contactForm .layout form .formItem .required {
  background-color: #F00C0C;
}
#contactForm .layout form .formItem .optional {
  background-color: #A0A0A0;
}
#contactForm .layout form .formItem .label {
  width: 20%;
  margin-right: 20px;
  font-weight: bold;
}
#contactForm .layout form .formItem .privacyLabel {
  width: 73%;
}
#contactForm .layout form .formItem .input {
  width: 73%;
  padding: 15px 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
#contactForm .layout form .formItem .input::placeholder {
  color: #A0A0A0;
}
#contactForm .layout form .formItem .checkboxIcon {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fff;
  position: relative;
  cursor: pointer;
}
#contactForm .layout form .formItem .checkboxIcon + span.mwform-checkbox-field-text {
  display: none;
}
#contactForm .layout form .formItem .checkboxIcon::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  mask-image: url("../img/icon_check_white.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 70%;
  background-color: #fff;
  pointer-events: none;
}
#contactForm .layout form .formItem .checkboxIcon:checked {
  background: #003C87;
  border-color: #003C87;
}
#contactForm .layout form .formItem .checkboxIcon:checked::before {
  opacity: 1;
}
#contactForm .layout form .formItem textarea {
  width: 73%;
  height: 200px;
  padding: 15px 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
}
#contactForm .layout form .formItem textarea::placeholder {
  color: #A0A0A0;
}
#contactForm .layout form .formItem--privacy {
  margin-bottom: 50px;
}
#contactForm .layout form .submitBtn {
  display: block;
  margin: auto;
  width: 400px;
  height: 80px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #003C87;
  background-color: #FDDB0A;
  border-radius: 1000px;
  border: none;
  position: relative;
}
#contactForm .layout form .submitBtn span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url("../img/icon_arrow_yellow.svg") no-repeat center;
  background-size: 100% 100%;
}
#contactForm .layout a {
  font-weight: bold;
  color: #065FD4;
  text-decoration: underline;
}
@media screen and (max-width: 750px) {
  #contactForm {
    padding: 8vw 0 0;
  }
  #contactForm .layout {
    padding: 0;
    font-size: 3.73vw;
  }
  #contactForm .layout p {
    padding: 0 20px;
  }
  #contactForm .layout form {
    width: 100%;
    margin-top: 8vw;
    padding: 20px 20px 18.67vw 20px;
    border-radius: 0;
  }
  #contactForm .layout form .formItem {
    flex-wrap: wrap;
    margin: 4vw 0;
  }
  #contactForm .layout form .formItem .required, #contactForm .layout form .formItem .optional {
    width: 15%;
    padding: 1.33vw 0;
    font-size: 3.2vw;
  }
  #contactForm .layout form .formItem .label {
    width: 80%;
    margin-right: 0;
  }
  #contactForm .layout form .formItem .privacyLabel {
    width: 80%;
    margin-top: 2.67vw;
  }
  #contactForm .layout form .formItem .input {
    width: 100%;
    padding: 15px 10px;
    font-size: 4.27vw;
    margin-top: 2.67vw;
  }
  #contactForm .layout form .formItem .checkboxIcon {
    width: 5.33vw;
    height: 5.33vw;
    margin-top: 2.67vw;
  }
  #contactForm .layout form .formItem textarea {
    width: 100%;
    padding: 15px 10px;
    font-size: 4.27vw;
    margin-top: 2.67vw;
  }
  #contactForm .layout form .formItem--privacy {
    margin-bottom: 10.67vw;
  }
  #contactForm .layout form .submitBtn {
    width: 100%;
    height: 16vw;
    font-size: 4.27vw;
  }
  #contactForm .layout form .submitBtn span::after {
    width: 4.8vw;
    height: 4.8vw;
  }
}

#contactConfirm {
  padding: 100px 0 120px 0;
}
#contactConfirm .layout {
  max-width: 900px;
}
#contactConfirm .layout form {
  margin-top: 50px;
  padding: 25px 50px 50px 50px;
  border-radius: 50px;
  background-color: #f6f6f6;
}
#contactConfirm .layout form .formItem {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 25px 0;
  border-bottom: 1px solid #ccc;
}
#contactConfirm .layout form .formItem .required, #contactConfirm .layout form .formItem .optional {
  display: none;
}
#contactConfirm .layout form .formItem .label {
  width: 20%;
  margin-right: 30px;
  font-weight: bold;
}
#contactConfirm .layout form .formItem.formItem--privacy {
  display: none;
}
#contactConfirm .layout form .confirmButtons {
  margin-top: 50px;
}
#contactConfirm .layout form .confirmButtons .submitBtn {
  display: block;
  margin: auto;
  width: 400px;
  height: 80px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #003C87;
  background-color: #FDDB0A;
  border-radius: 1000px;
  border: none;
  position: relative;
}
#contactConfirm .layout form .confirmButtons .submitBtn span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url("../img/icon_arrow_yellow.svg") no-repeat center;
  background-size: 100% 100%;
}
#contactConfirm .layout form .confirmButtons .backBtn {
  display: block;
  margin: 30px auto auto;
  font-weight: bold;
  color: #003C87;
  position: relative;
}
#contactConfirm .layout form .confirmButtons .backBtn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url("../img/icon_arrow.svg") no-repeat center;
  background-size: 100% 100%;
  transform: rotate(180deg);
}
@media screen and (max-width: 750px) {
  #contactConfirm {
    padding: 8vw 0 0;
  }
  #contactConfirm .layout {
    padding: 0;
    font-size: 3.73vw;
  }
  #contactConfirm .layout p {
    padding: 0 20px;
  }
  #contactConfirm .layout form {
    width: 100%;
    margin-top: 8vw;
    padding: 20px 20px 18.67vw 20px;
    border-radius: 0;
  }
  #contactConfirm .layout form .formItem {
    width: 100%;
    display: inline-block;
    padding: 2.67vw 0;
  }
  #contactConfirm .layout form .formItem .label {
    display: block;
    width: 100%;
    margin-right: 0;
    padding-bottom: 2.13vw;
  }
  #contactConfirm .layout form .confirmButtons {
    margin-top: 10.67vw;
  }
  #contactConfirm .layout form .confirmButtons .submitBtn {
    width: 100%;
    height: 16vw;
    font-size: 4.27vw;
  }
  #contactConfirm .layout form .confirmButtons .submitBtn span::after {
    width: 4.8vw;
    height: 4.8vw;
  }
  #contactConfirm .layout form .confirmButtons .backBtn {
    display: block;
    margin-top: 8vw;
    font-size: 4.27vw;
  }
  #contactConfirm .layout form .confirmButtons .backBtn::before {
    left: -8vw;
    width: 4.8vw;
    height: 4.8vw;
  }
}

#thanksForm {
  padding: 100px 0 120px 0;
}
#thanksForm .layout {
  max-width: 900px;
}
#thanksForm .layout h2 {
  font-size: 30px;
  margin-bottom: 30px;
  text-align: center;
}
#thanksForm .layout .confirmButtons {
  margin-top: 50px;
}
#thanksForm .layout .confirmButtons .backBtn {
  display: block;
  margin: 30px auto auto;
  font-weight: bold;
  color: #003C87;
  position: relative;
}
#thanksForm .layout .confirmButtons .backBtn::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url("../img/icon_arrow.svg") no-repeat center;
  background-size: 100% 100%;
}
@media screen and (max-width: 750px) {
  #thanksForm {
    padding: 8vw 0 18.67vw;
  }
  #thanksForm .layout h2 {
    font-size: 5.33vw;
    margin-bottom: 4vw;
  }
  #thanksForm .layout p {
    font-size: 3.73vw;
  }
  #thanksForm .layout .confirmButtons {
    margin-top: 10.67vw;
  }
  #thanksForm .layout .confirmButtons .backBtn {
    display: block;
    margin-top: 8vw;
    font-size: 4.27vw;
  }
  #thanksForm .layout .confirmButtons .backBtn::after {
    right: -8vw;
    width: 4.8vw;
    height: 4.8vw;
  }
}

/*# sourceMappingURL=contact.css.map */
