@charset "UTF-8";
/*
* WordPress テーマフォルダパス
****************************************************************/
/*
* 横幅
************************************************/
/*
* 文字色
************************************************/
/*
* 色
************************************************/
/*
* フォント
************************************************/
.contactForm {
  padding: 0 5%;
  max-width: 1000px;
  margin: 88px auto 0;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm {
    min-width: 100%;
    margin-top: 64px;
  }
}
.contactForm .contactFormInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
.contactForm .contactFormItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm .contactFormItem {
    gap: 8px;
  }
}
.contactForm .contactFormItem label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.03em;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm .contactFormItem label {
    font-size: 14px;
  }
}
.contactForm .contactFormItem label .label_require {
  display: inline-block;
  font-size: 12px;
  color: #fff;
  background: #d61111;
  padding: 3px 8px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm .contactFormItem label .label_require {
    font-size: 10px;
  }
}
.contactForm .contactFormItem input::-webkit-input-placeholder, .contactForm .contactFormItem textarea::-webkit-input-placeholder {
  font-size: 14px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
.contactForm .contactFormItem input::-moz-placeholder, .contactForm .contactFormItem textarea::-moz-placeholder {
  font-size: 14px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
.contactForm .contactFormItem input:-ms-input-placeholder, .contactForm .contactFormItem textarea:-ms-input-placeholder {
  font-size: 14px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
.contactForm .contactFormItem input::-ms-input-placeholder, .contactForm .contactFormItem textarea::-ms-input-placeholder {
  font-size: 14px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
.contactForm .contactFormItem input::placeholder, .contactForm .contactFormItem textarea::placeholder {
  font-size: 14px;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
.contactForm .contactFormItem input[type=text], .contactForm .contactFormItem input[type=email], .contactForm .contactFormItem input[type=tel], .contactForm .contactFormItem input[type=file], .contactForm .contactFormItem input[type=url], .contactForm .contactFormItem select {
  width: 100%;
  padding: 0.8333333333vw 0.6944444444vw;
  border: 1px solid #ccc;
  font-size: 16px;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm .contactFormItem input[type=text], .contactForm .contactFormItem input[type=email], .contactForm .contactFormItem input[type=tel], .contactForm .contactFormItem input[type=file], .contactForm .contactFormItem input[type=url], .contactForm .contactFormItem select {
    padding: 2.5445292621vw;
  }
}
.contactForm .contactFormItem input[type=text]:hover, .contactForm .contactFormItem input[type=email]:hover, .contactForm .contactFormItem input[type=tel]:hover, .contactForm .contactFormItem input[type=file]:hover, .contactForm .contactFormItem input[type=url]:hover, .contactForm .contactFormItem select:hover {
  border-color: #11d4d6;
}
.contactForm .contactFormItem input[type=text].wpcf7-not-valid, .contactForm .contactFormItem input[type=email].wpcf7-not-valid, .contactForm .contactFormItem input[type=tel].wpcf7-not-valid, .contactForm .contactFormItem input[type=file].wpcf7-not-valid, .contactForm .contactFormItem input[type=url].wpcf7-not-valid, .contactForm .contactFormItem select.wpcf7-not-valid {
  background: #f8d5d4;
  border: 1px solid #e66964;
}
.contactForm .contactFormItem input[type=checkbox] {
  width: 3.4722222222vw;
  height: 3.4722222222vw;
  margin-right: 8px;
}
.contactForm .contactFormItem textarea {
  width: 100%;
  height: 14.5833333333vw;
  padding: 0.6944444444vw;
  border: 1px solid #ccc;
  line-height: 1.5;
  font-size: 16px;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
  /* 出力する文字列の設定 */
  /* 内容によって書き出す内容を条件分岐する */
  /* もし第一引数が`max`だったら */
}
@media screen and (max-width: 767px) {
  .contactForm .contactFormItem textarea {
    padding: 2.5445292621vw;
    height: 40.7124681934vw;
  }
}
.contactForm .contactFormItem textarea:hover {
  border-color: #11d4d6;
}
.contactForm .contactFormItem textarea.wpcf7-not-valid {
  background: #f8d5d4;
  border: 1px solid #e66964;
}
.contactForm .contactFormItem .wpcf7-not-valid-tip {
  font-size: 1.4rem;
}
.contactForm .contactFormSelect {
  position: relative;
}
.contactForm .contactFormSelect::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 15px;
  background: #a3a3a3;
  height: 12.8533320607px;
  width: 18px;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.contactForm .privacyPolicy {
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}
.contactForm .privacyPolicy a {
  display: inline;
  color: #11d4d6;
}
.contactForm .contactFormPrivacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 16px;
}
.contactForm .contentButtonWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.contactForm .contentButtonWrap .contentButton {
  position: relative;
  background: #11d4d6;
}
.contactForm .contentButtonWrap input[type=submit] {
  display: block;
  color: #fff;
  font-size: 1.829rem;
  letter-spacing: 0.08em;
  width: 100%;
  padding: 20px 0;
}
.contactForm .contentButtonWrap .wpcf7-spinner {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 10px 0 0;
}
.contactForm .wpcf7-response-output {
  font-size: 1.6rem;
  border: none;
}