@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/* Sass Document */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* ビューポートの高さに合わせる */
}

.l-header {
  flex-shrink: 0;
}

.l-main {
  flex: 1 0 auto; /* 残りのスペースを占める */
}

.l-footer {
  flex-shrink: 0;
}

.p-contact {
  padding-bottom: 12rem;
  word-wrap: break-word;
}
.p-contact * {
  line-break: strict;
  word-break: keep-all;
}
@media screen and (max-width: 767.98px) {
  .p-contact {
    padding-top: 7rem;
  }
}
.p-contact .c-section-ttl {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .p-contact .c-section-ttl {
    margin-bottom: 4rem;
  }
}
.p-contact p {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
}
.p-contact input,
.p-contact button,
.p-contact select,
.p-contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  font-family: "Noto Sans JP", sans-serif;
}
.p-contact textarea {
  resize: vertical;
}
.p-contact input[type=checkbox],
.p-contact input[type=radio] {
  visibility: hidden;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
}
.p-contact input[type=submit],
.p-contact input[type=button],
.p-contact button,
.p-contact select {
  cursor: pointer;
}
.p-contact select::-ms-expand {
  display: none;
}
.p-contact input[type=text],
.p-contact input[type=email],
.p-contact input[type=tel],
.p-contact textarea {
  line-height: normal;
  border: 2px solid #243675;
  font-size: 16px;
  padding: 0.5rem;
  width: 100%;
}
.p-contact textarea {
  min-height: 20rem;
}
.p-contact .c-submit {
  background-color: #243675;
  color: #fff;
}
.p-contact .c-btn {
  font-size: 1.8rem;
  border: 2px solid #243675;
  display: grid;
  place-content: center;
  min-width: 30rem;
  min-height: 5rem;
  border-radius: 100px;
  text-decoration: none;
  color: currentColor;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
}
@media (any-hover) {
  .p-contact .c-btn {
    transition: 0.3s opacity;
  }
  .p-contact .c-btn:hover {
    opacity: 0.7;
  }
}
.p-contact .c-back {
  background-color: #fff;
  color: #243675;
}
@media screen and (max-width: 767.98px) {
  .p-contact .c-back {
    margin-top: 2rem;
  }
}
.p-contact .p-btn-unit {
  margin-top: 8rem;
  display: flex;
  justify-content: center;
  gap: 0 2rem;
  flex-direction: row-reverse;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-contact .p-btn-unit {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

.wpcf7-spinner,
.wpcf7-response-output,
.wpcf7-not-valid-tip {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .wpcf7-spinner,
.wpcf7-response-output,
.wpcf7-not-valid-tip {
    font-size: 1.5rem;
  }
}

.wpcf7-response-output {
  border-color: #243675 !important;
}

.wpcf7-not-valid-tip {
  color: #bc0000;
}

.wpcf7-spinner {
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  right: 0;
  margin: 0 auto;
}

.p-field + .p-field {
  margin-top: 4rem;
}

.p-contact-content {
  max-width: 89rem;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .p-contact-content {
    padding: 0 2.2rem;
  }
}

.p-label {
  cursor: text;
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
}

.p-required {
  color: #bc0000;
  font-size: 1.6rem;
  display: inline-block;
  margin-left: 1em;
  font-family: "Noto Sans JP", sans-serif;
}

.p-field {
  border: none;
  margin: 0;
}

.p-confirm .p-required {
  display: none;
}

.p-thanks {
  min-height: 100%;
}

.p-thanks__content {
  text-align: center;
  padding-top: 10rem;
}
/*# sourceMappingURL=contact.css.map */