.contactpage-content {
  padding: 0 0 20%;
}
.contactpage-head__list {
  display: flex;
  gap: 4%;
}
.contactpage-head__list li {
  padding: 2% 3%;
  background-color: #fff;
  color: #32A294;
  font-weight: bold;
  border: 1px solid;
}
.contactpage-head__title {
  margin-top: 6%;
  line-height: 1.6;
  font-weight: bold;
}
.contactpage-head__img {
  margin-top: 5%;
}
.contactpage-head__tel {
  margin-top: 8%;
}
.contactpage-head__tel-info {
  margin-top: 8%;
}
.contactpage-head__tel-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #181818;
  font-weight: bold;
  text-decoration: none;
}
.contactpage-head__tel-link svg {
  flex-shrink: 0;
  color: #32A294;
}
.contactpage-head__tel-number {
  font-weight: bold;
  color: #32A294;
  margin-top: 3%;
  letter-spacing: 0.05em;
}
.contactpage-head__tel-hours {
  margin-top: 2%;
  color: #666;
}
.contactpage-head__link {
  font-weight: bold;
  margin-top: 6%;
}
.contactpage-head__link a {
  color: #32A294;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.contactpage-head__link .icon-external {
  color: #32A294;
  flex-shrink: 0;
}
.contactpage-head__content {
  margin-top: 10%;
}
.contactpage-head__content-ttl {
  padding-bottom: 2%;
  border-bottom: 1px solid #767676;
  font-weight: bold;
}
.contactpage-head__content-txt {
  margin-top: 5%;
  line-height: 1.6;
  padding-left: 5%;
  position: relative;
}
.contactpage-head__content-txt::before {
  content: "";
  position: absolute;
  background-color: #419F50;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  top: 0.8em;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.contactpage-head__content-txt + .contactpage-head__content-txt {
  margin-top: 2%;
}
.contactpage-head__content + .contactpage-head__content {
  margin-top: 15%;
}
.contactpage-form {
  margin-top: 12%;
  background-color: #E2F0EF;
  padding: 6% 5%;
  border-radius: 8px;
}
.contactpage-form .form-group {
  margin-bottom: 12%;
}
.contactpage-form .form-group p > label {
  display: block;
  font-weight: bold;
  margin-bottom: 1%;
}
.contactpage-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3%;
  margin-top: 5%;
}
.contactpage-form .form-col__label {
  display: block;
  margin-bottom: 0;
  font-weight: bold;
}
.contactpage-form .required {
  color: #E53E3E;
}
.contactpage-form .form-note {
  font-size: 2.3255814vw;
  font-weight: bold;
  margin-left: 2%;
}
.contactpage-form input[type=text],
.contactpage-form input[type=email],
.contactpage-form input[type=tel],
.contactpage-form textarea {
  width: 100%;
  padding: 4% 4%;
  background-color: #FFFFFF;
  font-size: 3.48837209vw;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  outline: none;
  border-radius: 6px;
  border: none;
}
.contactpage-form input[type=text]::-moz-placeholder, .contactpage-form input[type=email]::-moz-placeholder, .contactpage-form input[type=tel]::-moz-placeholder, .contactpage-form textarea::-moz-placeholder {
  color: #BFBFBF;
}
.contactpage-form input[type=text]::placeholder,
.contactpage-form input[type=email]::placeholder,
.contactpage-form input[type=tel]::placeholder,
.contactpage-form textarea::placeholder {
  color: #BFBFBF;
}
.contactpage-form input[type=text]:focus,
.contactpage-form input[type=email]:focus,
.contactpage-form input[type=tel]:focus,
.contactpage-form textarea:focus {
  border-color: #32A294;
}
.contactpage-form textarea {
  height: 150px;
  resize: vertical;
}
.contactpage-form .form-row input[type=text] {
  padding: 7% 4%;
}
.contactpage-form .checkbox-item {
  margin: 0;
}
.contactpage-form .checkbox-item p label {
  display: flex;
  align-items: center;
  gap: 2%;
  cursor: pointer;
}
.contactpage-form .checkbox-item p label input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer;
  background-color: #fff;
  border: none;
  outline: none;
  border-radius: 3px;
  position: relative;
}
.contactpage-form .checkbox-item p label input[type=checkbox]:checked {
  background-color: #32A294;
}
.contactpage-form .checkbox-item p label input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
.contactpage-form .checkbox-item p label span {
  font-weight: bold;
}
.contactpage-form .checkbox-item + .checkbox-item {
  margin-top: 2%;
}
.contactpage-form .form-error-summary {
  background-color: #FFF0F0;
  border: 1px solid #E53E3E;
  color: #E53E3E;
  border-radius: 6px;
  padding: 3% 4%;
  margin-bottom: 6%;
  font-weight: bold;
}
.contactpage-form .form-error {
  color: #E53E3E;
  margin-top: 2%;
  font-weight: bold;
}
.contactpage-form .form-privacy {
  margin-top: 6%;
  line-height: 1.7;
}
.contactpage-form .form-privacy a {
  color: #32A294;
  text-decoration: underline;
  display: inline;
  color: #181818;
}
.contactpage-form .form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #32A294;
  color: #FFFFFF;
  font-weight: bold;
  text-align: left;
  gap: 2%;
  padding: 4% 5%;
  border: none;
  cursor: pointer;
  margin-top: 8%;
  letter-spacing: 0.05em;
  border-radius: 50px;
  box-sizing: border-box;
  transition: opacity 0.2s;
}
.contactpage-form .form-submit__icon {
  flex-shrink: 0;
  width: 7.44186047vw;
  height: 7.44186047vw;
}
.contactpage-form .form-submit:hover {
  opacity: 0.8;
}
.contactpage-form .checkbox-list--cols {
  margin-top: 4%;
}
@media screen and (min-width: 744px) {
  .contactpage-content {
    padding: 0 0 5%;
  }
  .contactpage__inner {
    display: flex;
    align-items: flex-start;
    gap: 5%;
  }
  .contactpage-head {
    width: 43%;
    flex-shrink: 0;
  }
  .contactpage-head__list {
    gap: 2%;
    flex-wrap: wrap;
  }
  .contactpage-head__list li {
    padding: 0.8% 1.5%;
    font-size: 0.72916667vw;
  }
  .contactpage-head__title {
    margin-top: 3%;
    font-size: 1.25vw;
  }
  .contactpage-head__img {
    margin-top: 4%;
  }
  .contactpage-head__tel {
    margin-top: 4%;
  }
  .contactpage-head__tel a {
    pointer-events: none;
    cursor: default;
  }
  .contactpage-head__tel-info {
    margin-top: 4%;
  }
  .contactpage-head__tel-link {
    font-size: 0.9375vw;
    gap: 8px;
  }
  .contactpage-head__tel-number {
    font-size: 2.08333333vw;
    margin-top: 3%;
  }
  .contactpage-head__tel-hours {
    font-size: 0.78125vw;
    margin-top: 2%;
  }
  .contactpage-head__link {
    margin-top: 3%;
    font-size: 0.9375vw;
  }
  .contactpage-head__link a {
    gap: 0;
  }
  .contactpage-head__content {
    margin-top: 10%;
  }
  .contactpage-head__content-ttl {
    font-size: 0.9375vw;
  }
  .contactpage-head__content-txt {
    margin-top: 2%;
    padding-left: 2.5%;
  }
  .contactpage-head__content-txt + .contactpage-head__content-txt {
    margin-top: 1%;
  }
  .contactpage-head__content + .contactpage-head__content {
    margin-top: 7%;
  }
  .contactpage-form {
    flex: 1;
    margin-top: 0;
    padding: 3% 2.5%;
  }
  .contactpage-form .form-group {
    margin-bottom: 4%;
  }
  .contactpage-form .form-group p > label {
    font-size: 0.83333vw;
    margin-bottom: 0;
  }
  .contactpage-form .form-row {
    gap: 3%;
    margin-top: 0;
  }
  .contactpage-form .form-row + .form-row {
    margin-top: 3%;
  }
  .contactpage-form .form-col__label {
    font-size: 0.78125vw;
    margin-bottom: 2%;
  }
  .contactpage-form .form-note {
    font-size: 0.6208333vw;
  }
  .contactpage-form input[type=text],
  .contactpage-form input[type=email],
  .contactpage-form input[type=tel],
  .contactpage-form textarea {
    padding: 2.5% 2%;
    font-size: 0.83333vw;
  }
  .contactpage-form .form-row input[type=text] {
    padding: 5% 4%;
  }
  .contactpage-form textarea {
    height: 200px;
  }
  .contactpage-form .checkbox-list--cols {
    display: grid;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
  }
  .contactpage-form .checkbox-list--cols .checkbox-item + .checkbox-item {
    margin-top: 1%;
  }
  .contactpage-form .checkbox-list--cols .checkbox-item:nth-child(4) {
    margin-top: 0;
  }
  .contactpage-form .checkbox-item label span {
    font-size: 0.729166667vw;
  }
  .contactpage-form .checkbox-item + .checkbox-item {
    margin-top: 0.5%;
  }
  .contactpage-form .form-error-summary {
    font-size: 0.72916667vw;
    padding: 1.5% 2%;
    margin-bottom: 3%;
  }
  .contactpage-form .form-error {
    font-size: 0.72916667vw;
    margin-top: 1%;
  }
  .contactpage-form .form-privacy {
    font-size: 0.72916667vw;
    margin-top: 3%;
  }
  .contactpage-form .form-submit {
    font-size: 0.9375vw;
    padding: 2% 3%;
    margin-top: 6%;
    gap: 0;
  }
  .contactpage-form .form-submit__icon {
    width: 1.875vw;
    height: 1.875vw;
  }
  .contactpage-form .checkbox-list--cols {
    margin-top: 2%;
  }
}
@media screen and (min-width: 1281px) {
  .contactpage-head__list li {
    font-size: 18px;
  }
  .contactpage-head__title {
    font-size: 26px;
  }
  .contactpage-head__link {
    font-size: 16px;
  }
  .contactpage-head__content {
    margin-top: 15%;
  }
  .contactpage-head__content-txt {
    margin-top: 3%;
  }
  .contactpage-head__content + .contactpage-head__content {
    margin-top: 10%;
  }
  .contactpage-form .form-group p > label {
    font-size: 16px;
  }
  .contactpage-form .form-col__label {
    font-size: 15px;
  }
  .contactpage-form .form-note {
    font-size: 12px;
  }
  .contactpage-form input[type=text],
  .contactpage-form input[type=email],
  .contactpage-form input[type=tel],
  .contactpage-form textarea {
    font-size: 16px;
  }
  .contactpage-form .checkbox-item label span {
    font-size: 14px;
  }
  .contactpage-form .form-error-summary {
    font-size: 14px;
  }
  .contactpage-form .form-error {
    font-size: 14px;
  }
  .contactpage-form .form-privacy {
    font-size: 14px;
  }
  .contactpage-form .form-submit {
    font-size: 0.9375vw;
  }
  .contactpage-form .form-submit__icon {
    width: 1.875vw;
    height: 1.875vw;
  }
  .contactpage-form .checkbox-item + .checkbox-item {
    margin-top: 2%;
  }
  .contactpage-form .checkbox-list--cols .checkbox-item + .checkbox-item {
    margin-top: 3.5%;
  }
  .contactpage-form .checkbox-list--cols .checkbox-item:nth-child(4) {
    margin-top: 0;
  }
  .contactpage-form .form-group {
    margin-bottom: 6%;
  }
}

.confirmpage-content {
  background-color: #E2F0EF;
  padding: 35% 0;
}
.confirmpage__heading {
  font-size: 5.58139535vw;
  color: #32A294;
  margin-bottom: 4%;
  text-align: center;
  font-weight: 500;
}
.confirmpage__lead {
  line-height: 1.7;
  margin-bottom: 11%;
}
.confirmpage__card {
  background-color: #fff;
  border-radius: 8px;
  padding: 0 5%;
  padding-bottom: 7%;
}
.confirmpage-table__row {
  display: flex;
  flex-direction: column;
  gap: 2%;
  padding: 4.5% 0;
  border-bottom: 1px solid #E0E0E0;
}
.confirmpage-table__row:first-child {
  padding-top: 10%;
}
.confirmpage-table__row dt {
  font-weight: bold;
  color: #32A294;
}
.confirmpage-table__row dd {
  line-height: 1.7;
  margin-top: 3%;
}
.confirmpage__actions {
  display: flex;
  flex-direction: column;
  gap: 3%;
  align-items: stretch;
  width: 80%;
  margin: 10% auto 0;
}
.confirmpage__send-form {
  width: 100%;
  order: 0;
}
.confirmpage__btn-back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  order: 1;
  width: 100%;
  background-color: #fff;
  color: #32A294;
  font-weight: bold;
  padding: 5% 0;
  border-radius: 50px;
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.2s;
  margin-top: 6%;
}
.confirmpage__btn-back:hover {
  opacity: 0.8;
}
.confirmpage__btn-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
  width: 100%;
  background-color: #32A294;
  color: #FFFFFF;
  border: none;
  font-weight: bold;
  padding: 4% 0;
  border-radius: 50px;
  cursor: pointer;
  box-sizing: border-box;
  transition: opacity 0.2s;
}
.confirmpage__btn-submit:hover {
  opacity: 0.8;
}
.confirmpage__note {
  text-align: center;
  margin-top: 8%;
  line-height: 1.6;
}
@media screen and (min-width: 744px) {
  .confirmpage-content {
    padding: 12% 0 11%;
  }
  .confirmpage__heading {
    font-size: 1.4583333vw;
    margin-bottom: 2%;
  }
  .confirmpage__lead {
    font-size: 0.833333vw;
    margin-bottom: 3%;
    text-align: center;
  }
  .confirmpage__card {
    padding: 0 12% 6%;
    border-radius: 20px;
  }
  .confirmpage-table__row {
    flex-direction: row;
    align-items: baseline;
    padding: 2% 0;
    gap: 0;
  }
  .confirmpage-table__row dt {
    font-size: 0.833333vw;
    width: 28%;
    flex-shrink: 0;
    padding-right: 4%;
  }
  .confirmpage-table__row dd {
    font-size: 0.833333vw;
    flex: 1;
    margin-top: 0;
  }
  .confirmpage-table__row:first-child {
    padding-top: 6%;
  }
  .confirmpage-table__row:last-child {
    border-bottom: none;
  }
  .confirmpage__actions {
    flex-direction: row;
    margin-top: 4%;
    gap: 3%;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
  }
  .confirmpage__send-form {
    order: 1;
    flex: 1;
  }
  .confirmpage__btn-back {
    order: 0;
    flex: 1;
    font-size: 0.9375vw;
    padding: 3% 0;
    margin-top: 0;
    gap: 6%;
  }
  .confirmpage__btn-submit {
    font-size: 0.9375vw;
    padding: 3% 0;
    width: 100%;
    height: 100%;
    gap: 6%;
  }
  .confirmpage__note {
    font-size: 0.833333vw;
    margin-top: 3%;
  }
}
@media screen and (min-width: 1281px) {
  .confirmpage__heading {
    font-size: 28px;
  }
  .confirmpage__lead {
    font-size: 16px;
  }
  .confirmpage-table__row dt,
  .confirmpage-table__row dd {
    font-size: 16px;
  }
  .confirmpage__btn-back {
    padding: 4% 0;
    font-size: 18px;
  }
  .confirmpage__btn-submit {
    padding: 4% 0;
    font-size: 18px;
  }
  .confirmpage__note {
    font-size: 16px;
  }
}

.thankspage-content {
  padding: 23% 0 20%;
  text-align: center;
}
.thankspage__heading {
  font-weight: bold;
  margin-bottom: 6%;
  color: #32A294;
  line-height: 1.6;
}
.thankspage__message {
  line-height: 1.9;
  margin-bottom: 8%;
}
.thankspage__tel {
  margin-bottom: 8%;
}
.thankspage__tel a {
  display: block;
  font-weight: bold;
  color: #32A294;
  letter-spacing: 0.05em;
  margin-bottom: 2%;
  text-decoration: none;
}
.thankspage__tel span {
  display: block;
}
.thankspage__btn {
  display: inline-block;
  background-color: #32A294;
  color: #FFFFFF;
  font-weight: bold;
  padding: 3% 10%;
  border-radius: 50px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.thankspage__btn:hover {
  opacity: 0.8;
}
@media screen and (min-width: 744px) {
  .thankspage-content {
    padding: 12% 0 8%;
  }
  .thankspage__heading {
    font-size: 1.5625vw;
    margin-bottom: 2%;
  }
  .thankspage__message {
    font-size: 0.9375vw;
    margin-bottom: 4%;
  }
  .thankspage__tel {
    margin-bottom: 4%;
  }
  .thankspage__tel a {
    font-size: 2.08333333vw;
  }
  .thankspage__tel span {
    font-size: 0.78125vw;
  }
  .thankspage__btn {
    font-size: 0.9375vw;
    padding: 1% 8%;
  }
}
@media screen and (min-width: 1281px) {
  .thankspage__heading {
    font-size: 30px;
  }
  .thankspage__message {
    font-size: 18px;
  }
  .thankspage__tel a {
    font-size: 2.08333333vw;
  }
  .thankspage__tel span {
    font-size: 15px;
  }
  .thankspage__btn {
    font-size: 18px;
    padding: 1% 8%;
  }
}

.download__list {
  margin-top: 14%;
}
.download__list li {
  padding: 10%;
  border: 1px solid #32A294;
  border-radius: 8px;
  background-color: #fff;
}
.download__list li .download__item-img {
  width: 51%;
  margin: 0 auto;
}
.download__list li h3 {
  color: #181818;
  margin-top: 7%;
}
.download__list li p {
  display: flex;
  color: #32A294;
  align-items: center;
  margin-top: 9%;
  gap: 5%;
  justify-content: center;
}
.download__list li p span {
  width: 13.615%;
}
.download__list li + li {
  margin-top: 14%;
}
@media screen and (min-width: 744px) {
  .download__list {
    padding: 0 5%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5%;
  }
  .download__list li {
    width: 48%;
    padding: 3.5%;
  }
  .download__list li .download__item-img {
    width: 49%;
  }
  .download__list li h3 {
    font-size: 0.9375vw;
    margin-top: 5%;
  }
  .download__list li p {
    font-size: 1.04166667vw;
    margin-top: 4%;
    gap: 3%;
  }
  .download__list li p span {
    width: 8.615%;
  }
  .download__list li + li {
    margin: 0;
  }
  .download__list li:nth-child(n+3) {
    margin-top: 4%;
  }
  .download__list li:only-child {
    margin: 0 auto;
  }
}
@media screen and (min-width: 1281px) {
  .download__list li {
    width: 47%;
  }
  .download__list li h3 {
    font-size: 18px;
  }
  .download__list li p {
    font-size: 20px;
  }
  .download__list li p span {
    width: 11.615%;
  }
  .download__list li:nth-child(n+3) {
    margin-top: 6%;
  }
}

.contactpage-form .wpcf7-form-control-wrap {
  display: block;
}
.contactpage-form .wpcf7-checkbox {
  display: block;
  padding: 0;
  margin: 0;
}
.contactpage-form .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
}
.contactpage-form .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 2%;
  cursor: pointer;
}
.contactpage-form .wpcf7-list-item label input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer;
  background-color: #fff;
  border: none;
  outline: none;
  border-radius: 3px;
  position: relative;
}
.contactpage-form .wpcf7-list-item label input[type=checkbox]:checked {
  background-color: #32A294;
}
.contactpage-form .wpcf7-list-item label input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
.contactpage-form .wpcf7-list-item-label {
  font-weight: bold;
  font-size: 3.25581395vw;
}
.contactpage-form .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 2%;
}
.contactpage-form .wpcf7-not-valid-tip {
  display: block;
  color: #E53E3E;
  margin-top: 2%;
  font-weight: bold;
}
.contactpage-form .wpcf7-response-output {
  display: none !important;
}
@media screen and (min-width: 744px) {
  .contactpage-form .wpcf7-list-item-label {
    font-size: 0.729166667vw;
  }
  .contactpage-form .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 0.5%;
  }
  .contactpage-form .wpcf7-not-valid-tip {
    font-size: 0.72916667vw;
    margin-top: 1%;
  }
}
@media screen and (min-width: 1281px) {
  .contactpage-form .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 2%;
  }
  .contactpage-form .wpcf7-list-item-label {
    font-size: 14px;
  }
  .contactpage-form .wpcf7-not-valid-tip {
    font-size: 14px;
  }
}

.contactpage-form--download .form-group:has(ul.checkbox-list) > label,
.contactpage-form--download .form-group:has(ul.checkbox-list) p > label {
  margin-bottom: 2%;
}
@media screen and (min-width: 744px) {
  .contactpage-form--download .form-group:has(ul.checkbox-list) > label,
  .contactpage-form--download .form-group:has(ul.checkbox-list) p > label {
    margin-bottom: 1%;
  }
}/*# sourceMappingURL=contact.css.map */