@charset "utf-8";

/* ===============================
Contact
=============================== */
.contact main {
  padding-bottom: 100px;
}
.form_message_box {
  margin: 0 0 60px;
}

/* SP調整 ------------------ */
@media screen and (max-width:768.999px) {
  .contact main {
    padding-bottom: 0;
  }
  .form_message_box {
    margin: 0 0 35px;
  }
}


/* ===============================
form_contents
=============================== */
.form_contents {
  max-width:900px;
  margin:0 auto 60px;
}
.form_cat {
  position:relative;
}
.form_required {
  position:absolute;
  top:32px;
  left:20px;
  display:inline-block;
  padding:0 8px;
  background:#fdf5f6;
  border:1px solid #f1afb7;
  color:#db374a;
  font-size:1.4rem;
  border-radius:3px;
}

/* PC調整 ------------------ */
@media (min-width:769px), print {
  .form_item {
    display:flex;
    border-bottom:1px solid #d1d3d5;
  }
  .form_item:first-child {
    border-top:1px solid #d1d3d5;
  }
  .form_cat {
    position:relative;
    width:250px;
    padding:32px 25px 20px 83px;
    background:#f3f4f5;
  }
  .form_input {
    width:650px;
    margin:0;
    padding:20px 25px 20px 25px;
    word-wrap:break-word;
    white-space:normal;
  }
}

/* SP調整 ------------------ */
@media screen and (max-width:768.999px) {
  .form_contents {
    margin-bottom: 40px;
  }
  .form_item {
    border-bottom:1px solid #e1dfdb;
    padding:18px 0;
  }
  .form_item:first-child {
    border-top:1px solid #e1dfdb;
  }
  .form_cat {
    position:relative;
    margin-bottom:10px;
    padding-left:45px;
  }
  .form_required {
    position:absolute;
    top:0;
    left:0;
    display:inline-block;
    padding:0 8px;
  }
  .form_required {
    top:1px;
    left:0;
    padding:0 5px;
    font-size:1.2rem;
  }
}

/* ===============================
form_footer
=============================== */
.form_privacy_text {
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.5rem;
}
.form_privacy_text a {
  display: inline-block;
  position: relative;
  text-decoration: underline;
  padding-right: 25px;
}
.form_privacy_text a::after {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  right: 0;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDNDMTAuNDQ3NyAzIDEwIDMuNDQ3NzIgMTAgNEMxMCA0LjU1MjI4IDEwLjQ0NzcgNSAxMSA1SDEzLjU4NThMNy4yOTI4OSAxMS4yOTI5QzYuOTAyMzcgMTEuNjgzNCA2LjkwMjM3IDEyLjMxNjYgNy4yOTI4OSAxMi43MDcxQzcuNjgzNDIgMTMuMDk3NiA4LjMxNjU4IDEzLjA5NzYgOC43MDcxMSAxMi43MDcxTDE1IDYuNDE0MjFWOUMxNSA5LjU1MjI4IDE1LjQ0NzcgMTAgMTYgMTBDMTYuNTUyMyAxMCAxNyA5LjU1MjI4IDE3IDlWNEMxNyAzLjQ0NzcyIDE2LjU1MjMgMyAxNiAzSDExWiIgZmlsbD0iIzFhMjg0MiIvPgo8cGF0aCBkPSJNNSA1QzMuODk1NDMgNSAzIDUuODk1NDMgMyA3VjE1QzMgMTYuMTA0NiAzLjg5NTQzIDE3IDUgMTdIMTNDMTQuMTA0NiAxNyAxNSAxNi4xMDQ2IDE1IDE1VjEyQzE1IDExLjQ0NzcgMTQuNTUyMyAxMSAxNCAxMUMxMy40NDc3IDExIDEzIDExLjQ0NzcgMTMgMTJWMTVINVY3TDggN0M4LjU1MjI4IDcgOSA2LjU1MjI4IDkgNkM5IDUuNDQ3NzIgOC41NTIyOCA1IDggNUg1WiIgZmlsbD0iIzFhMjg0MiIvPgo8L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.form_privacy_button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 3em;
}

/* SP調整 ------------------ */
@media screen and (max-width: 768.999px) {
  .form_privacy_button {
    margin: 0 auto 2em;
  }
}

/* ===============================
ContactForm7 submit
=============================== */
.form_submit {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.form_submit .wpcf7-submit {
  min-width: 350px;
  min-height: 50px;
  background-color: #1a2842;
  color: #fff;
  -webkit-transition: opacity 0.1s;
  transition: opacity 0.1s;
  text-align: center;
  font-size:1.7rem;
  text-indent:.15em;
  letter-spacing:.2em;
  font-feature-settings:"palt";
}
.form_submit .wpcf7-submit::after {
  content:"";
  display:inline-block;
  position:absolute;
  top:0;
  bottom:0;
  right:15px;
  width:30px;
  height:30px;
  margin:auto;
  background-position:center center;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M268 112l144 144-144 144M392 256H100'/></svg>");
  background-size:22px 22px;
}
.form_submit .wpcf7-submit:disabled {
  opacity: 0.3;
}
.form_submit .wpcf7-submit:not(:disabled):hover {
  opacity: 0.8;
}
.form_submit .wpcf7-spinner {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -40px;
  margin: auto;
  display: block;
}

/* SP調整 ------------------ */
@media screen and (max-width: 768.999px) {
  .form_submit .wpcf7-submit {
    min-width: 260px;
  }
}

/* ===============================
form_message_box
=============================== */
.form_message_box {
  max-width:900px;
  margin:0 auto 60px;
  text-align: center;
  line-height: 1.8;
}
.form_button_wrap {
  margin:50px auto 0;
}
.form_button_link {
  display:flex;
  justify-content:center;
  align-items:center;
  width: 100%;
  max-width:380px;
  height:55px;
  margin: 0 auto;
  background:#1a2842;
  color:#fff;
  text-align:center;
  font-size:1.7rem;
  text-indent:.15em;
  letter-spacing:.2em;
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  transition:opacity .1s;
}
.form_button_link:hover {
  opacity:.7;
}

/* SP調整 ------------------ */
@media screen and (max-width:768.999px) {
  .form_message_box {
    margin:0 auto 30px;
    font-size:1.4rem;
  }
  .form_button_wrap {
    margin:30px auto 0;
  }
  .form_button_link {
    width:100%;
    height:auto;
    min-height:50px;
    margin:0 auto;
    font-size:1.6rem;
  }
}

/* ===============================
Cloudflare (Simple Cloudflare Turnstile)
=============================== */
.cf7-cf-turnstile {
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}