@charset "UTF-8";
/* -------------------------------------
カラー
------------------------------------- */
.p-form_block {
  padding-top: 1.1rem;
  max-width: 119.3rem;
  width: 100%;
}

.form_item {
  display: grid;
  align-items: center;
}
.form_item + .form_item {
  margin-top: 4.8rem;
}
@media screen and (max-width: 768px) {
  .form_item + .form_item {
    margin-top: 2.8rem;
  }
}

.form_item-ttl {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  margin-bottom: calc((1em - 1lh) / 2 + 2.4rem);
}
@supports not (bottom: 1lh) {
  .form_item-ttl {
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .form_item-ttl {
    font-size: 1.6rem;
    margin-bottom: calc((1em - 1lh) / 2 + 1.6rem);
  }
  @supports not (bottom: 1lh) {
    .form_item-ttl {
      margin-bottom: 1.6rem;
    }
  }
}
.form_item-ttl.must::after {
  content: "＊必須";
  display: inline-block;
  color: #D40000;
  margin-left: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .form_item-ttl.must::after {
    font-size: 1.4rem;
  }
}

html[lang=en] .form_item-ttl.must::after {
  content: "＊Required";
}

.form_item-field input[type=text],
.form_item-field input[type=email],
.form_item-field input[type=tel],
.form_item-field textarea {
  width: 100%;
  background-color: #fff;
  border: 1px solid #C0BBB3;
  padding: 3.4rem 3.2rem;
  transition: 0.15s;
}
@media screen and (max-width: 768px) {
  .form_item-field input[type=text],
  .form_item-field input[type=email],
  .form_item-field input[type=tel],
  .form_item-field textarea {
    padding: 1.7rem 1.6rem;
  }
}
.form_item-field input[type=text]:focus,
.form_item-field input[type=email]:focus,
.form_item-field input[type=tel]:focus,
.form_item-field textarea:focus {
  outline: none;
  border-color: #1C1C1C;
}
.form_item-field select {
  width: 100%;
  padding: 3.4rem 3.2rem;
  background-color: #fff;
  border: 1px solid #C0BBB3;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
  padding-right: 4rem;
  cursor: pointer;
  transition: 0.15s;
}
@media screen and (max-width: 768px) {
  .form_item-field select {
    padding: 1.7rem 1.6rem;
  }
}
.form_item-field select:focus {
  outline: none;
  border-color: #1C1C1C;
}

.form_accept {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.03em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 768px) {
  .form_accept {
    font-size: 1.6rem;
  }
}
.form_accept a {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  transition: 0.15s;
}
@media (hover: hover) {
  .form_accept a:hover {
    opacity: 0.7;
  }
}

.p-form_block .wpcf7-list-item {
  margin: 0;
}

/* CF7のチェックボックススタイル */
input[type=checkbox] {
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid #1C1C1C;
  border-radius: 0;
  background-color: #FFFFFF;
  cursor: pointer;
  position: relative;
  margin: 0;
  vertical-align: middle;
  flex-shrink: 0;
}

/* チェックマーク（チェック時） */
input[type=checkbox]::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 0;
  transition: opacity 0.2s ease;
  /* チェックマークの描画 */
  left: 0.6rem;
  top: 0.2rem;
  width: 0.5rem;
  height: 1rem;
  border: solid #1C1C1C;
  border-width: 0 0.2rem 0.2rem 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* チェック状態 */
input[type=checkbox]:checked::after {
  opacity: 1;
}

/* ホバー状態 */
input[type=checkbox]:hover {
  border-color: #333333;
}

/* フォーカス状態 */
.wpcf7-list-item-label {
  margin-left: 1.6rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item-label {
    margin-left: 0.8rem;
  }
}
.wpcf7-list-item-label::before {
  display: none;
}