@charset "UTF-8";
/* p-contact
-----------------------------------------------
------------------ */
.p-contact {
  /* トグルアイコンを非表示 */
}
.p-contact__heading {
  background: var(--col-blue);
  color: #fff;
  padding-block: 31px 29px;
}
@media (max-width: 768px) {
  .p-contact__heading {
    text-align: center;
    padding-block: 31px 36px;
  }
}
.p-contact__headingText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  font-size: clamp(25px, 3.90625vw, 30px);
  line-height: 1;
  letter-spacing: 0.2em;
}
@media (max-width: 768px) {
  .p-contact__headingText {
    gap: 7px;
  }
}
.p-contact__headingTextEn {
  font-family: var(--en);
  font-size: 0.33333333em;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .p-contact__headingTextEn {
    font-size: 0.4em;
  }
}
.p-contact__form {
  padding-block: 124px 98.5px;
}
@media (max-width: 768px) {
  .p-contact__form {
    padding-block: 42px 47px;
  }
}
.p-contact__formInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(23px, 4.4444444444vw, 48px);
}
.p-contact__row, .p-contact__row--center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .p-contact__row, .p-contact__row--center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
.p-contact__row--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-contact__row--center .p-contact__columnTitle {
  padding-top: 0;
}
.p-contact__columnTitle {
  width: 38.3%;
  font-size: clamp(14px, 2.34375vw, 18px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding-top: 6px;
}
@media (max-width: 768px) {
  .p-contact__columnTitle {
    text-align: center;
    width: 100%;
    padding-top: 0;
  }
}
.p-contact__rowBottom {
  width: 61.7%;
  margin-inline: auto 0;
  padding-top: 27px;
}
@media (max-width: 768px) {
  .p-contact__rowBottom {
    width: 100%;
  }
}
.p-contact__attention {
  width: 78.5%;
  font-size: clamp(12px, 1.8229166667vw, 14px);
  line-height: 1.42857143;
  letter-spacing: 0.1em;
  padding-inline: 33px;
}
@media (max-width: 768px) {
  .p-contact__attention {
    width: 100%;
    line-height: 1.66666667;
  }
}
.p-contact__columnAgree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 33px;
  margin-top: 35px;
}
@media (max-width: 768px) {
  .p-contact__columnAgree {
    padding-inline: 16px 10px;
  }
}
.p-contact__columnAgree .wpcf7-list-item {
  margin: 0;
}
.p-contact__columnAgree span.wpcf7-list-item.first.last > label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-contact__columnAgree .wpcf7-list-item-label {
  font-size: clamp(12px, 1.6666666667vw, 18px);
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
  display: none;
}
@media (max-width: 768px) {
  .p-contact__columnAgree .wpcf7-list-item-label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 1.25;
  }
}
.p-contact__agreeText {
  font-size: clamp(12px, 1.6666666667vw, 18px);
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-contact__agreeText {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 1.25;
    padding-top: 2px;
  }
}
.p-contact__policyLink {
  display: inline-block;
  text-decoration: underline;
}
@media (min-width: 769px) {
  .p-contact__policyLink:hover {
    opacity: 0.7;
  }
}
.p-contact__columnField {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
.p-contact__submitBtn {
  max-width: 222px;
  width: 100%;
  margin: 0 auto;
  margin-top: clamp(63px, 10.8072916667vw, 83px);
}
.p-contact__submit {
  text-align: center;
  width: 100%;
  background: var(--col-blue);
  border-radius: 34px;
  font-size: 14px;
  line-height: 1.07;
  letter-spacing: 0.2em;
  font-weight: bold;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  padding-block: 12px;
}
@media (min-width: 769px) {
  .p-contact__submit:hover {
    opacity: 0.7;
  }
}
.p-contact__submit .wpcf7-not-valid-tip {
  margin-top: 5px;
}
.p-contact .choices {
  border: solid 1px var(--col-blue);
  margin-bottom: 0;
}
.p-contact .choices__inner {
  position: relative;
  background: #fff;
}
.p-contact .choices__inner::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  background: var(--bor-gray);
  position: absolute;
  top: 0;
  right: 34px;
}
@media (max-width: 768px) {
  .p-contact .choices__inner::before {
    right: 33px;
  }
}
.p-contact .choices[data-type*=select-one]::after {
  display: none;
}
.p-contact .choices[data-type*=select-one]::after {
  content: "";
  border-style: solid;
  border-color: none;
  border-width: 0;
  display: inline-block;
  position: absolute;
  top: 48%;
  right: 11px;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  border-right: 1px solid var(--bor-gray);
  border-bottom: 1px solid var(--bor-gray);
}
.p-contact .choices[data-type*=select-one].is-open::after {
  top: 58%;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  border-color: var(--bor-gray);
  margin-top: 0;
}
.p-contact .choices[data-type*=select-one] .choices__inner {
  padding: 0.5px 10px 0.5px 16.5%;
  min-height: 30px;
}
.p-contact .choices__list--single {
  padding: 5px 16px 4px 4px;
}
@media (max-width: 768px) {
  .p-contact .choices__list--single {
    padding: 7px 16px 4px 4px;
  }
}
.p-contact .choices__item.choices__placeholder.choices__item--selectable {
  font-size: 16px;
}
.p-contact .choices__list--dropdown .choices__item, .p-contact .choices__list[aria-expanded] .choices__item {
  position: relative;
  padding: 7px 10px 7px 17%;
  font-size: 16px;
  border-bottom: 1px solid #707070;
}
.p-contact .choices__list--dropdown, .p-contact .choices__list[aria-expanded] {
  border: 1px solid #707070;
}
.p-contact .wpcf7-not-valid-tip {
  margin-top: 10px;
}

input[type=text],
input[type=email],
input[type=tel] {
  width: 100%;
  padding: 2px 10px;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  border: solid 1px var(--col-blue);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus {
  outline: 1px solid var(--col-blue);
}

textarea {
  width: 100%;
  padding: 2px 10px;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  min-height: 134px;
  border: solid 1px var(--col-blue);
}
textarea:focus {
  outline: 1px solid var(--col-blue);
}

/* チェックボックスを非表示にしてカスタムスタイルを適用 */
.c-checkbox input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--col-blue);
  border-radius: 50%; /* 丸くする */
  margin-right: clamp(8px, 1.3888888889vw, 15px);
  position: relative;
  cursor: pointer;
  vertical-align: middle;
  background-color: #fff;
  -webkit-transition: background-color 0.2s, border-color 0.2s;
  transition: background-color 0.2s, border-color 0.2s;
}

/* チェック時のスタイル */
.c-checkbox input[type=checkbox]:checked {
  background-color: #0073aa;
  border-color: #0073aa;
}

/* チェックマーク風の装飾 */
.c-checkbox input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
}

/* u-display-none
----------------------------------------------------------------- */
.u-displayNone--PU {
  display: block;
}
@media (max-width: 768px) {
  .u-displayNone--PU {
    display: none;
  }
}
.u-displayNone--PO {
  display: none;
}
@media (max-width: 768px) {
  .u-displayNone--PO {
    display: block;
  }
}
.u-displayNone--flexPU {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .u-displayNone--flexPU {
    display: none;
  }
}
.u-displayNone--flexPO {
  display: none;
}
@media (max-width: 768px) {
  .u-displayNone--flexPO {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}