.page__contact .page__visual {
  margin-bottom: min(28.5%, 109px);
}
.page__contact .page__visual::after {
  background:url(/assets/img/contact/visual_contact.jpg) no-repeat right center / cover;
}

/* mail */
.page__contact .mail .section__title {
  color:var(--color-text);
  font-size:clamp(1.6rem , 1.8229vw , 2.3rem);
}
.page__contact .mail .section__title::before {
  display: none;
}
.page__contact .mail .section__title::after {
  color:var(--color-text);
  font-family: inherit;
  font-size:clamp(1.6rem , 1.8229vw , 2.3rem);
  letter-spacing:0;
  border-bottom:none;
  top:-1.5em;
}
.page__contact .mail .content__block{
  max-width:740px;
  margin:auto;
}
.page__contact .mail .content__block .form__explan {
  margin-bottom: 1em;
}
.page__contact .mail .content__block .form__explan span {
  color:#ff0000;
}
.cf7__list {
  margin-bottom: 60px;
}
.cf7__list:not(.radio) .cf7__item {
  width:100%;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #CBCBCB;
}
.cf7__list.radio dt {
  width: 100%;
  margin-bottom: 1em;
}
.cf7__list:not(.radio) dt {
  display: flex;
  font-size: 1.4rem;
  width: 100%;
  padding: 0.3em;
  background: #e5e5e5;
}
.cf7__list:not(.radio) dt::before {
  content:"※";
  color:#ff0000;
}
.cf7__list dd {
  width: calc(100% - 1em);
  margin: 0.5em;
}

.cf7__acceptance .wpcf7-list-item {
  margin: 0 0 2em 0;
}
.cf7__acceptance label {
  font-size: 1.5rem;
}
.cf7__acceptance .text {
  font-size: 1.3rem;
  margin-bottom: 3em;
}
.privacy-policy_title {
  color:#FFF;
  font-size: 1.3rem;
  width: fit-content;
  margin-bottom: 1em;
  padding: 0.3em 0.7em;
  background: #929292;
  border-radius:9999px;
}
.cf7__acceptance ul {
  padding: 1em;
  border:1px solid #CBCBCB;
}
.cf7__acceptance ul li {
  display: flex;
  line-height: 1.57;
}
.cf7__acceptance ul li + li {
  margin-top: 1em;
}
.cf7__acceptance ul li::before {
  content:"・";
}
/* input textarea */
.cf7__list dd .wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0 0 0.5em 0;
}
.cf7__list dd .wpcf7-radio label {
  display: inline-flex;
  font-size:clamp(1.4rem , 1.8229vw , 1.8rem);
  align-items: center;
  gap: 5px;
}
.cf7__list dd .wpcf7-radio input[type="radio"] {
  width: 16px;
  height: 16px;
}
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  font-size: 1.4rem;
  width: 100%;
  border:none;
  border:1px solid #CBCBCB;
  padding: 0.5em 1em;
}
.cf7__button{
  max-width:196px; 
  text-align: center;
  margin:50px auto;
}
input[type="submit"],
input[type="button"] {
  display: flex;
  font-size:1.8rem;
  place-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  color: var(--color-white);
  background: var(--color-accent);
  border:2px solid var(--color-accent);
  border-radius: 5px;
  padding: 0 10px;
  cursor: pointer;
  transition: all ease 0.4s;
}
input[type="submit"]:not(:disabled ):hover {
  color:var(--color-accent);
  background-color: var(--color-main);
}
.cf7__acceptance input[type=checkbox] {
  width: 18px;
  height: 18px;
  border: 1px solid #808080;
  border-radius: 3px;
  background-image: linear-gradient(0deg,#D2D2D2,#F5F5F5);
  appearance:none;
  box-shadow: 1px 1px 3px #808080;
}
.cf7__acceptance input[type=checkbox]:checked::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 10px;
  content: '\f00c';
  left:4px;
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

@media (min-width: 768px) {
  .cf7__list:not(.radio) .cf7__item {
    border: none;
  }
  .cf7__list:not(.radio) .cf7__item + .cf7__item {
    border-top: 1px solid #CBCBCB;
  }
  .cf7__list:not(.radio) dt {
    display: flex;
    align-items: center;
    width: 35%;
    padding-left:1em;
  }
  .cf7__list:not(.radio) .cf7__item:last-child dt {
    align-items: flex-start;
    height: 17.5em;
    padding-top: 0.5em;
  }
  .cf7__list:not(.radio) dd {
    width: calc(65% - 0.5em);
    margin: 0.5em 0 0.5em 0.5em;
  }
  .cf7__list dd + dd{
    margin-top:25px;
    margin-left:35%;
  }
  .cf7__list dd .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
  }
}

