/*  ------------------------------ */
.grecaptcha-badge {
  visibility: hidden;
}

.privacy-text {
  font-size: 12px;
  margin-top: 1em;
  font-weight: normal;
  color: #231815;
}

.privacy-text a {
  text-decoration: underline;
}

/* 通常のモダンブラウザ */
input::placeholder {
  color: #DEDEDE;
}

/* Webkit系ブラウザ (Chrome, Safari, Edge) */
input::-webkit-input-placeholder {
  color: #DEDEDE;
}

/* Firefox */
input::-moz-placeholder {
  color: #DEDEDE;
}


/*  ------------------------------ */


.inq-form {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .inq-form {
    text-align: left;
  }
}

.inq-form-ttl {
  font-size: 32px;
}

.inq-form-ttl span {
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .inq-form-ttl {
    font-size: 20px;
  }

  .inq-form-ttl span {
    font-size: 16px;
  }

}



.inq-form-text {
  margin: 2.5em 0;
}

.form-box {
  background: #FAFAFA;
  padding: 68px 40px;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .form-box {
    padding: 16px;
    padding-top: 0;
  }

}

.form-ttl {
  background: #00397F;
  color: #fff;
  padding: .5em;
  margin-bottom: 0;
  font-size: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .form-ttl {
    font-size: 18px;
  }

}

/* fo0001
-------------------------------------------------------- */

.fo0001-list {
  padding-top: 24px;
}

@media screen and (max-width: 767px) {
  .fo0001-list {
    padding-top: 1.5em;
  }
}

.fo0001-list.top {
  align-items: start;
}

.fo0001-list .ttl {
  font-weight: 500;
  font-size: 16px;
  width: 100%;
  color: #231815;
}

.fo0001-list .field {
  font-size: 14px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .fo0001-list .ttl {
    font-weight: 500;
    font-size: 16px;
    width: 100%;
  }

  .fo0001-list .field {
    font-size: 14px;
    width: 100%;
  }

}

.fo0001-list .field-ttl {
  font-weight: 500;
}

.fo0001-list .field-ttl.-mt {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .fo0001-list .field-ttl {
    margin-top: 1.5em;
  }
}

.fo0001-list-note {
  font-size: 12px;
  font-weight: normal;
  display: inline-block;
  margin-left: .5em;
}

.check-privacy-text {
  text-align: center;
}

.check-privacy-link {
  margin-left: .5em;
}

.btn-confirm {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: .8em;
  font-weight: bold;
  width: 100%;
  margin: auto;
  color: #fff;
  background: #00397F;
  border-radius: 50px;
  position: relative;
  transition: .7s;
}

.btn-confirm-wrap {
  position: relative;
  width: 100%;
  max-width: 240px;
  margin: auto;
}

.btn-confirm-wrap.-mt {
  margin-top: 64px;
}

.btn-confirm-wrap::before {
  position: absolute;
  z-index: 3;
  content: "";
  top: 23px;
  right: 24px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.btn-confirm:hover {
  opacity: .7;
}

.btn-confirm-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.btn-confirm-flex .btn-confirm-wrap {
  margin: unset;
}


/* .fo0001 button[type="submit"] {
  margin-top: 5%;
  background: gray;
  color: #fff;
  width: 200px;
  text-align: center;
  padding: 1em;
} */

.fo0001 .required {
  font-size: 14px;
  background: #B50005;
  color: #fff;
  padding: 1px 5px;
  border-radius: 2px;
  font-weight: bold;
  margin-left: 5px;
}

.fo0001 .wpcf7-list-item {
  margin: 0;
  margin-right: 1em;
  margin-top: .5em;
}

.contact .wpcf7-spinner {
  display: none !important;
}

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



/* form
-------------------------------------------*/

input[type="text"], input[type="url"], input[type="search"], input[type="password"], input[type="tel"], input[type="date"] {
  font-size: 15px;
  line-height: 1.8;
  padding: 0.57143rem 0.85714rem;
  width: 100%;
  transition: all ease-in-out 0.2s;
  background: #fff;
  border: solid 1px #eee;
  margin-top: 7px;
}

@media screen and (max-width: 767px) {
  input[type="text"], input[type="url"], input[type="search"], input[type="password"], input[type="tel"], input[type="date"] {
    width: 100%;
  }
}

.field-s {
  width: 30% !important;
}

.field-ss {
  width: 20% !important;
}

.field-m {
  width: 50% !important;
}

@media screen and (max-width: 767px) {
  .field-s {
    width: 60% !important;
  }

  .field-ss {
    width: 60% !important;
  }

  .field-m {
    width: 100% !important;
  }
}


input[type="email"] {
  font-size: 15px;
  line-height: 1.8;
  background: #fff;
  border: solid 1px #eee;
  padding: 0.57143rem 0.85714rem;
  width: 100%;
  transition: all ease-in-out 0.2s;
  margin-top: 7px;
}

textarea {
  font-size: 15px;
  line-height: 1.8;
  background: #fff;
  border: solid 1px #eee;
  padding: 0.57143rem 0.85714rem;
  width: 100%;
  transition: all ease-in-out 0.2s;
  height: 120px;
  margin-top: 7px;
}

select {
  font-size: 15px;
  line-height: 1.8;
  background: #fff;
  border: solid 1px #eee;
  padding: 0.57143rem 0.85714rem;
  width: 100%;
  transition: all ease-in-out 0.2s;
  margin-top: 7px;
}

@media screen and (max-width: 767px) {
  select {
    width: 100%;
  }
}

:placeholder-shown {
  color: #BEBEBE;
}

/* 
-------------------------------------------*/
.select-arrow {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* 擬似要素で矢印を追加 */
.select-arrow::after {
  position: absolute;
  content: "";
  right: 10px;
  top: 27px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/* セレクトボックスのラップ要素（カスタム矢印用） */
select::-ms-expand {
  display: none;
  /* IE のデフォルト矢印を非表示にする */
}

/* 
-------------------------------------------*/
.field-center {
  display: flex;
  /* align-items: center; */
}

.field {
  position: relative;
}

.separator {
  padding: 0 10px;
  padding-top: 20px;
  /* position: absolute; */
  top: 25px;
}

.birth-part {
  width: 30%;
}

.wpcf7-not-valid-tip {
  font-size: 11px !important;
}

/* confirm
-------------------------------------------*/
.confirm {
  color: #00397F;
}
.confirm .field-center {
  align-items: flex-end;
}

.confirm .separator {
  padding-top: 0;
  color: #231815;
}

.confirm .fo0001-list .ttl {
  margin-bottom: 10px;
}

/* thanks-page
-------------------------------------------*/
.complite-text-ttl {
  font-size: 24px;
  margin-bottom: 5px;
}

.complite-text {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .complite-text {
    text-align: center;
  }
}

.complite-text .btn-pagetop-wrap {
margin-top: 40px;
}



