/* ↓フォーム */
.wpcf7 {
  height: auto;
  position: relative;
}

.wpcf7-response-output, .form.sent, .screen-reader-response {
  display: none !important;
}

.cf7_table p {
  margin-bottom: 0 !important;
}

.cf7_table textarea {
  resize: vertical;
}

.cf7_table::placeholder {
  opacity: 0.7;
}

.cf7_table th {
  background-color: #f3f3f3;
  padding: 1em;
  text-align: left;
  width: 30%;
}

.cf7_table .must {
  background: #c53e3e;
  color: #fff;
  margin-right: 10px;
  padding: 3px 6px;
}

.cf7_table .must.selection {
  background: #168110;
  color: #fff;
  margin-right: 10px;
  padding: 3px 6px;
}

.cf7_btn {
  display: flex;
  justify-content: center;
}

.wpcf7-form-control.wpcf7-submit {
  background-color: #ff712f;
  border: 0;
  border-radius: 0;
  font-weight: 600;
  margin-top: 20px;
  padding: 10px 70px;
  transition: 0.3s;
}

.cf7_btninput [type=submit]:focus {
  outline: 0 !important;
}

.wpcf7-submit:hover {
  background-color: #ff712f !important;
  opacity: 0.6;
}

@media(max-width:767px) {
  .cf7_table tr, .cf7_table td, .cf7_table th {
    display: block;
    width: 100% !important;
  }
}

.wpcf7-not-valid-tip {
  color: #ad0000;
  font-weight: 600;
}

.wpcf7-spinner {
  display: inline-block;
  position: relative;
  visibility: hidden;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.wpcf7-spinner::before {
  animation: spin 1s linear infinite;
  background-color: transparent;
  content: "\f021";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  left: 5px;
  position: absolute;
  top: -10px;
  transform-origin: center;
}

.wpcf7-not-valid, .wpcf7-validates-as-required, .wpcf7-submit, .wpcf7-validates-as-required, .wpcf7-validates-as-email {
  font-family: var(--wp--preset--font-family--system-font);
}

input.wpcf7-text, textarea.wpcf7-textarea {
  border-radius: 0;
}

.wpcf7-list-item.last {
  padding-top: 5px;
}

input[type=text], input[type=email], select, textarea {
  font-size: 0.9rem;
  margin: 10px 0;
}

.cf7_table input[type=text]:focus, .cf7_table input[type=email]:focus, .cf7_table textarea:focus {
  border: 1px solid transparent;
  box-shadow: 0 1px 6px #20212454;
  outline: 1px solid #0d69b9;
}
/* ↑フォーム */

/* ↓確認画面 */
.wpcf7cp-form-hide {
  visibility: hidden !important;
}

#wpcf7cpcnf {
  background-color: transparent;
  height: auto;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1000;
}

#wpcf7cpcnf {
  z-index: 0 !important;
}

#wpcf7cpcnf th {
  background-color: #f3f3f3;
  padding: 1em;
  text-align: left;
  width: 30%;
}

#wpcf7cpcnf td {
  padding: 1em;
}

.wpcf7cp-btns {
  margin-top: 20px !important;
  text-align: center;
}

#wpcf7cpcnf p {
  margin-bottom: 0 !important;
}

#wpcf7cpcnf button {
  cursor: pointer;
  font-family: var(--wp--preset--font-family--system-font);
  font-weight: 600;
  transition: 0.3s;
}

.wpcf7cp-cfm-submit-btn {
  background-color: #ff712f;
  border: 0;
  border-radius: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.7em 4em;
}

.wpcf7cp-cfm-submit-btn::before {
  content: "\f064";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 8px;
}

.wpcf7cp-cfm-edit-btn::before {
  content: "\f304";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 5px;
}

.wpcf7cp-cfm-edit-btn {
  background-color: #8bd6ff;
  border: 0;
  border-radius: 0;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.4em 0.9em;
}

#wpcf7cpcnf button:hover {
  opacity: 0.6;
}

.wpcf7cp-cfm-submit-btn {
  margin-bottom: 0 !important;
}

.wpcf7cp-cfm-edit-btn {
  margin-bottom: 0 !important;
  margin-right: 10px !important;
}

.wpcf7cp-progress-cover, div.wpcf7cp-progress-content {
  height: 100% !important;
}

.wpcf7cp-progress-content p {
  font-size: 0 !important;
}

.wpcf7cp-progress-content p::before {
  content: "送信中…";
  font-size: 20px;
  font-weight: 600;
}
/* ↑確認画面 */

/* ↓reCAPTCHA設定 */
.grecaptcha-badge {
  visibility: hidden;
}
/* ↑reCAPTCHA設定 */