/*-----------------------------------
		 Form
	-----------------------------------*/
.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
}

.hidden-input {
  display: none;
}

.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
}

/* 生年月日 */
.request_form_table .txt.birth {
  margin-inline: 0;
}

.request_form_table dl.dlBirth dd {
  display: grid;
  grid-template-columns: repeat(3, 120px);
  grid-gap: 10px;
}

@media screen and (max-width: 768px) {
  .request_form_table dl.dlBirth dd {
    grid-template-columns: repeat(3, 100px);
  }
}

.request_form_table dl.dlBirth dd .birth-item {
  display: flex;
  position: relative;
}

.request_form_table dl.dlBirth dd input.txt.birth {
  width: 50px;
}

.request_form_table dl.dlBirth dd .birth-unit {
  padding-top: 5px;
  padding-left: 8px;
}

.request_form_table .prefectures,
.request_form_table .zip {
  max-width: 200px;
  width: 100%;
}

/* 電話番号 */
.request_form_table dl.dlPhone dd {
  display: grid;
  grid-template-columns: repeat(3, 95px);
  grid-gap: 20px;
}

@media screen and (max-width: 768px) {
  .request_form_table dl.dlPhone dd {
    grid-template-columns: repeat(3, 65px);
  }
}

.dlPhone dd .phone-item {
  position: relative;
}

.dlPhone dd .phone-item:not(:first-child)::before {
  content: '-';
  font-size: 14px;

  position: absolute;
  top: 5px;
  left: -11px;
}

/* ラジオ */
.wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, 170px);
  grid-gap: 10px;
}

@media screen and (max-width: 768px) {
  .wpcf7-radio {
    grid-template-columns: repeat(2, 150px);
    grid-gap: 8px;
  }
}

.wpcf7-radio label {
  margin: 0;
  width: 100%;
  align-items: center;
  display: flex;
  gap: 8px;
}

.gender .wpcf7-list-item.first {
  display: none;
}

.request_form input[type="radio"] {
  -webkit-appearance: radio;
}

input[type="radio"]:checked+.radio:before {
  display: none;
}

@media screen and (max-width: 768px) {

  .request_form_table dl.dlGender label,
  .request_form_table dl.dlSpeak label {
    padding-left: 16px;
  }
}

.request_form .wpcf7-list-item {
  margin: 0;
}

/* 受け取り方法 | ガイドブックLP2-5 */
.delivery_radio .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
}

.delivery_radio .wpcf7-list-item-label::before {
  content: '📩';
  font-size: inherit;
}

.delivery_radio .last .wpcf7-list-item-label::before {
  content: '🏠';
  font-size: inherit;
}

/* 送信ボタン */
.request_form input.c-button-submit {
  background: #e59914;
  border: none;
  border-radius: 50px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  width: 340px;
}

/* エラーメッセージ */
.wpcf7-not-valid-tip {
  margin-top: 2px;
}

.wpcf7-not-valid-tip,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  border: none;
  color: #f30;
  font-size: 12px;
  font-weight: 700;
}

.wpcf7-response-output,
.screen-reader-response {
  display: none;
}

.wpcf7 #entry {
  scroll-margin-top: 200px;
}

.wpcf7 .wpcf7-spinner {
  display: none;
}

/* 送信ボタンの連打防止 */
.wpcf7 .wpcf7-submit.js-prevent-click {
  pointer-events: none;
  opacity: 0.4;
}

/*--------------------------------------------------
ローディング表示
--------------------------------------------------*/
.l-loading {
  background: rgba(255, 255, 255, 0.8);
  z-index: 9999;
  display: none;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  gap: 10px;
  height: 100%;
  width: 100%;
  position: fixed;
  inset: 0;
}

.l-loading .l-loading__spinner img {
  -webkit-animation: spin 1.8s linear infinite;
  animation: spin 1.8s linear infinite;
  height: 32px;
  width: 32px;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.l-loading .l-loading__text {
  font-size: 16px;
  font-weight: 500;
}