.theme-banner__title {
  font-size: var(--tdfs-display);
  line-height: 1.2;
}
@media (max-width: 1024px) {
  .theme-banner__title {
    line-height: 1.1;
  }
}
.theme-banner__sub-title {
  font-size: var(--tdfs-sub-title-2);
  font-weight: 700;
  line-height: 1.2;
}
.contact__form-input {
  font-size: var(--tdfs-form-input);
}
.contact .wpcf7-not-valid-tip, .contact .wpcf7-response-output, .contact__form-label {
  font-size: var(--tdfs-form-title);
  font-weight: 600;
  line-height: 1;
}
@media (max-width: 1024px) {
  .contact .wpcf7-not-valid-tip, .contact .wpcf7-response-output, .contact__form-label {
    line-height: 1.1428571429;
  }
}
.theme-banner {
  position: relative;
  overflow: hidden;
}
.theme-banner__image-container {
  position: relative;
  width: 100%;
  display: block;
}
.theme-banner__image-container:before {
  content: "";
  display: block;
  padding-top: 28.125%;
}
.theme-banner__image-container .ratio-item {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1024px) {
  .theme-banner {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
  .theme-banner {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 820px) {
  .theme-banner {
    margin-top: 7.8048780488vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .theme-banner {
    margin-top: 8.3333333333vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 570px) {
  .theme-banner {
    margin-top: 11.2280701754vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 480px) {
  .theme-banner {
    margin-top: 13.3333333333vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 430px) {
  .theme-banner {
    margin-top: 14.8837209302vw;
  }
}
@media screen and (max-width: 1024px) and (max-width: 390px) {
  .theme-banner {
    margin-top: 16.4102564103vw;
  }
}
@media (max-width: 575px) {
  .theme-banner {
    display: flex;
    align-items: center;
    height: 20.5729166667vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 1024px) {
  .theme-banner {
    height: 38.57421875vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 820px) {
  .theme-banner {
    height: 48.1707317073vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 768px) {
  .theme-banner {
    height: 51.4322916667vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 570px) {
  .theme-banner {
    height: 69.298245614vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 480px) {
  .theme-banner {
    height: 82.2916666667vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 430px) {
  .theme-banner {
    height: 91.8604651163vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 390px) {
  .theme-banner {
    height: 101.2820512821vw;
  }
}
.theme-banner__image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d9d8d8;
}
.theme-banner__image-wrapper::before, .theme-banner__image-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.theme-banner__image-wrapper::before {
  background: linear-gradient(180deg, #000000 -26.05%, rgba(0, 0, 0, 0) 23.08%);
  z-index: 2;
}
.theme-banner__image-wrapper::after {
  background: #000000;
  opacity: 0.3;
  z-index: 1;
}
.theme-banner__image-container {
  height: 100%;
  -o-object-position: center;
     object-position: center;
}
.theme-banner__content-wrapper {
  position: relative;
  z-index: 3;
  padding: 14.4270833333vw 0vw 7.2916666667vw;
}
@media screen and (max-width: 1024px) {
  .theme-banner__content-wrapper {
    padding: 20.99609375vw 0vw 14.6484375vw;
  }
}
@media screen and (max-width: 820px) {
  .theme-banner__content-wrapper {
    padding: 26.2195121951vw 0vw 18.2926829268vw;
  }
}
@media screen and (max-width: 768px) {
  .theme-banner__content-wrapper {
    padding: 27.9947916667vw 0vw 19.53125vw;
  }
}
@media screen and (max-width: 570px) {
  .theme-banner__content-wrapper {
    padding: 37.7192982456vw 0vw 26.3157894737vw;
  }
}
@media screen and (max-width: 480px) {
  .theme-banner__content-wrapper {
    padding: 44.7916666667vw 0vw 31.25vw;
  }
}
@media screen and (max-width: 430px) {
  .theme-banner__content-wrapper {
    padding: 50vw 0vw 34.8837209302vw;
  }
}
@media screen and (max-width: 390px) {
  .theme-banner__content-wrapper {
    padding: 55.1282051282vw 0vw 38.4615384615vw;
  }
}
@media (max-width: 575px) {
  .theme-banner__content-wrapper {
    padding: 0;
  }
}
.theme-banner__title {
  margin-bottom: 0.4166666667vw;
  color: #ffffff;
}
@media screen and (max-width: 1024px) {
  .theme-banner__title {
    margin-bottom: 0.78125vw;
  }
}
@media screen and (max-width: 820px) {
  .theme-banner__title {
    margin-bottom: 0.9756097561vw;
  }
}
@media screen and (max-width: 768px) {
  .theme-banner__title {
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (max-width: 570px) {
  .theme-banner__title {
    margin-bottom: 1.4035087719vw;
  }
}
@media screen and (max-width: 480px) {
  .theme-banner__title {
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 430px) {
  .theme-banner__title {
    margin-bottom: 1.8604651163vw;
  }
}
@media screen and (max-width: 390px) {
  .theme-banner__title {
    margin-bottom: 2.0512820513vw;
  }
}
.theme-banner__sub-title {
  margin-bottom: 0;
  color: #00b3b0;
}
@media screen and (max-width: 575px) and (max-width: 1024px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 820px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 768px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 570px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 480px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 430px) {
  .contact {
    padding-bottom: 0vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 390px) {
  .contact {
    padding-bottom: 0vw;
  }
}
.contact .wpcf7-not-valid {
  border: 1px solid #c00000;
}
.contact .wpcf7-not-valid-tip {
  margin-top: 0.3125vw;
  font-weight: 400;
}
@media screen and (max-width: 1024px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 0.5859375vw;
  }
}
@media screen and (max-width: 820px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 0.7317073171vw;
  }
}
@media screen and (max-width: 768px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 570px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 1.0526315789vw;
  }
}
@media screen and (max-width: 480px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 430px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 1.3953488372vw;
  }
}
@media screen and (max-width: 390px) {
  .contact .wpcf7-not-valid-tip {
    margin-top: 1.5384615385vw;
  }
}
.contact .wpcf7-form.submitting .wpcf7-submit {
  pointer-events: none;
}
.contact .wpcf7-response-output {
  font-weight: 400;
  padding: 0.4166666667vw 0.8333333333vw !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
@media screen and (max-width: 1024px) {
  .contact .wpcf7-response-output {
    padding: 0.78125vw 1.5625vw !important;
  }
}
@media screen and (max-width: 820px) {
  .contact .wpcf7-response-output {
    padding: 0.9756097561vw 1.9512195122vw !important;
  }
}
@media screen and (max-width: 768px) {
  .contact .wpcf7-response-output {
    padding: 1.0416666667vw 2.0833333333vw !important;
  }
}
@media screen and (max-width: 570px) {
  .contact .wpcf7-response-output {
    padding: 1.4035087719vw 2.8070175439vw !important;
  }
}
@media screen and (max-width: 480px) {
  .contact .wpcf7-response-output {
    padding: 1.6666666667vw 3.3333333333vw !important;
  }
}
@media screen and (max-width: 430px) {
  .contact .wpcf7-response-output {
    padding: 1.8604651163vw 3.7209302326vw !important;
  }
}
@media screen and (max-width: 390px) {
  .contact .wpcf7-response-output {
    padding: 2.0512820513vw 4.1025641026vw !important;
  }
}
.contact__iframe-wrapper iframe {
  display: block;
  width: 100%;
  height: 34.375vw;
}
@media screen and (max-width: 1024px) {
  .contact__iframe-wrapper iframe {
    height: 24.4140625vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__iframe-wrapper iframe {
    height: 30.487804878vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__iframe-wrapper iframe {
    height: 32.5520833333vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__iframe-wrapper iframe {
    height: 43.8596491228vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__iframe-wrapper iframe {
    height: 52.0833333333vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__iframe-wrapper iframe {
    height: 58.1395348837vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__iframe-wrapper iframe {
    height: 64.1025641026vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 1024px) {
  .contact__iframe-wrapper {
    margin-top: 5.859375vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 820px) {
  .contact__iframe-wrapper {
    margin-top: 7.3170731707vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 768px) {
  .contact__iframe-wrapper {
    margin-top: 7.8125vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 570px) {
  .contact__iframe-wrapper {
    margin-top: 10.5263157895vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 480px) {
  .contact__iframe-wrapper {
    margin-top: 12.5vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 430px) {
  .contact__iframe-wrapper {
    margin-top: 13.9534883721vw;
  }
}
@media screen and (max-width: 991px) and (max-width: 390px) {
  .contact__iframe-wrapper {
    margin-top: 15.3846153846vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 1024px) {
  .contact__iframe-wrapper {
    margin-left: -1.5625vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 820px) {
  .contact__iframe-wrapper {
    margin-left: -1.9512195122vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 768px) {
  .contact__iframe-wrapper {
    margin-left: -2.0833333333vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 570px) {
  .contact__iframe-wrapper {
    margin-left: -2.8070175439vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 480px) {
  .contact__iframe-wrapper {
    margin-left: -3.3333333333vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 430px) {
  .contact__iframe-wrapper {
    margin-left: -3.7209302326vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 390px) {
  .contact__iframe-wrapper {
    margin-left: -4.1025641026vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 1024px) {
  .contact__iframe-wrapper {
    margin-right: -1.5625vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 820px) {
  .contact__iframe-wrapper {
    margin-right: -1.9512195122vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 768px) {
  .contact__iframe-wrapper {
    margin-right: -2.0833333333vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 570px) {
  .contact__iframe-wrapper {
    margin-right: -2.8070175439vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 480px) {
  .contact__iframe-wrapper {
    margin-right: -3.3333333333vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 430px) {
  .contact__iframe-wrapper {
    margin-right: -3.7209302326vw;
  }
}
@media screen and (max-width: 575px) and (max-width: 390px) {
  .contact__iframe-wrapper {
    margin-right: -4.1025641026vw;
  }
}
.contact__title {
  margin-bottom: 0.8333333333vw;
}
@media screen and (max-width: 1024px) {
  .contact__title {
    margin-bottom: 1.5625vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__title {
    margin-bottom: 1.9512195122vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__title {
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__title {
    margin-bottom: 2.8070175439vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__title {
    margin-bottom: 3.3333333333vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__title {
    margin-bottom: 3.7209302326vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__title {
    margin-bottom: 4.1025641026vw;
  }
}
.contact__form-wrapper {
  padding-left: 3.6458333333vw;
}
@media screen and (max-width: 1024px) {
  .contact__form-wrapper {
    padding-left: 6.8359375vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__form-wrapper {
    padding-left: 8.5365853659vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__form-wrapper {
    padding-left: 9.1145833333vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__form-wrapper {
    padding-left: 12.2807017544vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__form-wrapper {
    padding-left: 14.5833333333vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__form-wrapper {
    padding-left: 16.2790697674vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__form-wrapper {
    padding-left: 17.9487179487vw;
  }
}
@media (max-width: 991px) {
  .contact__form-wrapper {
    padding-left: 0;
  }
}
.contact__form-item {
  margin-top: 0.7291666667vw;
}
@media screen and (max-width: 1024px) {
  .contact__form-item {
    margin-top: 1.3671875vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__form-item {
    margin-top: 1.7073170732vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__form-item {
    margin-top: 1.8229166667vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__form-item {
    margin-top: 2.4561403509vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__form-item {
    margin-top: 2.9166666667vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__form-item {
    margin-top: 3.2558139535vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__form-item {
    margin-top: 3.5897435897vw;
  }
}
.contact__form-label {
  display: inline-block;
  margin-bottom: 0.3125vw;
}
@media screen and (max-width: 1024px) {
  .contact__form-label {
    margin-bottom: 0.5859375vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__form-label {
    margin-bottom: 0.7317073171vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__form-label {
    margin-bottom: 0.78125vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__form-label {
    margin-bottom: 1.0526315789vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__form-label {
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__form-label {
    margin-bottom: 1.3953488372vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__form-label {
    margin-bottom: 1.5384615385vw;
  }
}
.contact__form-label span {
  color: #c00000;
}
.contact__form-input {
  display: block;
  width: 100%;
  padding: 0.5208333333vw;
  border: 1px solid #CED4DA;
  border-radius: 10px;
}
@media screen and (max-width: 1024px) {
  .contact__form-input {
    padding: 0.9765625vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__form-input {
    padding: 1.2195121951vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__form-input {
    padding: 1.3020833333vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__form-input {
    padding: 1.7543859649vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__form-input {
    padding: 2.0833333333vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__form-input {
    padding: 2.3255813953vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__form-input {
    padding: 2.5641025641vw;
  }
}
.contact__form-input:focus-visible {
  outline: none;
  border-color: #00b3b0;
}
.contact__button-wrapper {
  margin-top: 1.6666666667vw;
}
@media screen and (max-width: 1024px) {
  .contact__button-wrapper {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 820px) {
  .contact__button-wrapper {
    margin-top: 3.9024390244vw;
  }
}
@media screen and (max-width: 768px) {
  .contact__button-wrapper {
    margin-top: 4.1666666667vw;
  }
}
@media screen and (max-width: 570px) {
  .contact__button-wrapper {
    margin-top: 5.6140350877vw;
  }
}
@media screen and (max-width: 480px) {
  .contact__button-wrapper {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (max-width: 430px) {
  .contact__button-wrapper {
    margin-top: 7.4418604651vw;
  }
}
@media screen and (max-width: 390px) {
  .contact__button-wrapper {
    margin-top: 8.2051282051vw;
  }
}

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