@charset "UTF-8";
/*=============================================================
 contact お問合せフォーム
=============================================================*/
/* .page-tit */
.contact .page-tit h1 {
  background: url(/img/contact/bg_pagetit.png) calc(100% + 50vw) 50%/100% auto no-repeat;
  /*@include mq {
			background: url(/img/contact/bg_pagetit.png) calc(100% + 5.859vw) 50% / 0 auto no-repeat;
      background-size: 50% auto;
    }*/
}

/* .contact-form */
.contact .contact-form {
  padding: 3.467vw 0 21.867vw;
}

.contact .contact-form h2 {
  color: #80003a;
  font-size: 40px;
  font-size: 10.66667vw;
  text-align: center;
}

.contact .contact-form h2 span {
  display: block;
  position: relative;
  font-weight: bold;
  vertical-align: middle;
}

.contact .contact-form h2 span::after {
  display: block;
  width: 59.467vw;
  height: calc(59.467vw * 0.0852);
  margin: 0.533vw auto 0;
  background: url(/img/contact/item_contact.png) 0 0/100% auto no-repeat;
  vertical-align: middle;
  content: "";
}

/* .form */
.contact .form {
  width: 86.667%;
  margin: 7.2vw auto 0;
  border-top: 1px solid #666;
}

.contact .form tr:not(:last-of-type) th, .contact .form tr:not(:last-of-type) td {
  border-bottom: 1px solid #666;
}

.contact .form th, .contact .form td {
  display: block;
  font-size: 15px;
  font-size: 4vw;
}

.contact .form th {
  padding: 1.333vw 0;
  background-color: rgba(156, 63, 88, 0.3);
  text-align: center;
  vertical-align: middle;
}

.contact .form th .required {
  display: inline-block;
  margin-left: 3.333vw;
  padding: 1.067vw 2.667vw;
  border-radius: 3px;
  background-color: #d73200;
  color: #fff;
  font-size: 11px;
  font-size: 2.93333vw;
  line-height: 1.1;
  vertical-align: middle;
}

.contact .form td {
  padding: 1.333vw 3.2vw 1.467vw;
  text-align: center;
}

.contact .form td input[type="text"],
.contact .form td input[type="tel"],
.contact .form td input[type="email"],
.contact .form td textarea {
  padding: 1.333vw;
  border: 1px solid #666;
  font-size: 15px;
  font-size: 4vw;
}

.contact .form td input[type="text"]:-webkit-autofill,
.contact .form td input[type="tel"]:-webkit-autofill,
.contact .form td input[type="email"]:-webkit-autofill,
.contact .form td textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-transition: background-color 9999s;
  transition: background-color 9999s;
}

.contact .form td textarea {
  width: 100%;
  height: calc(80vw * 0.2333);
}

.contact .form td input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  position: relative;
  width: 5.333vw;
  height: calc(5.333vw * 1);
  margin: 0 2.667vw 0 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  vertical-align: middle;
}

.contact .form td input[type=radio]:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.667vw;
  height: calc(2.667vw * 1);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #666;
  content: "";
}

.contact .form td .your-radio label {
  display: inline-block;
  margin-right: 13.333vw;
}

.contact .form td .license label {
  margin-right: 13.333vw;
}

.contact .form td.age input[type="text"], .contact .form td.joins input[type="text"] {
  width: 24vw;
}

.contact .form td.address input[type="text"] {
  width: 24vw;
}

.contact .form td.address textarea {
  margin-top: 1.867vw;
}

.contact .form td.job span.wpcf7-form-control-wrap {
  position: relative;
  width: 58.667vw;
}

.contact .form td.job span.wpcf7-form-control-wrap::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.333vw;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: 1.867vw 1.467vw 0 1.467vw;
  border-style: solid;
  border-color: #666 transparent transparent transparent;
  content: "";
  pointer-events: none;
}

.contact .form td.job select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 53.33vw;
  margin: 0;
  padding: 1.867vw 5.333vw 1.867vw 2.667vw;
  border: 1px solid #666;
  border-radius: 0;
  background-color: #fff;
  box-shadow: none;
  line-height: 1;
  cursor: pointer;
}

.contact .form td.job select::-ms-expand {
  display: none;
}

.contact .form td.job select:focus {
  border: 1px #080808 solid;
}

/* .sumit-area */
.contact .sumit-area {
  margin-top: 6.667vw;
  text-align: center;
}

.contact .sumit-area .privacy {
  display: inline-block;
  width: calc(61.333vw - 2.667vw);
  padding: 1.067vw 1.333vw 1.333vw;
  border: 1px solid #666;
  line-height: 1;
  text-align: center;
}

.contact .sumit-area .btn_sumit {
  width: 61.333%;
  margin: 4vw auto 0;
}

.contact .sumit-area .btn_sumit input[type="submit"] {
  -webkit-appearance: none;
  width: 100%;
  padding: 2.133vw 0 2.667vw;
  border-radius: 5px;
  background-color: #d73200;
  color: #fff;
  font-size: 20px;
  font-size: 5.33333vw;
  font-weight: bold;
}
.contact .sumit-area .btn_sumit .wpcf7c-btn-back {
  -webkit-appearance: none;
  width: 100%;
  padding: 2.133vw 0 2.667vw;
  border-radius: 5px;
  background-color: #4d4d4d;
  color: #fff;
  font-size: 20px;
  font-size: 5.33333vw;
  font-weight: bold;
  cursor: pointer;
}

/* custom-wpcf7c-confirmed */
.contact form.custom-wpcf7c-confirmed td {
  text-align: left;
}

.contact form.custom-wpcf7c-confirmed td .wpcf7-form-control-wrap {
  vertical-align: middle;
}

.contact form.custom-wpcf7c-confirmed td .wpcf7c-conf {
  padding: 0;
  border: none;
  background-color: inherit;
}

.contact form.custom-wpcf7c-confirmed td .wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-transition: background-color 9999s;
  transition: background-color 9999s;
}

.contact form.custom-wpcf7c-confirmed td.address .your-zipcode01 input[type="text"].wpcf7c-conf {
  width: 3em;
}

.contact form.custom-wpcf7c-confirmed td.address .your-zipcode02 input[type="text"].wpcf7c-conf {
  width: 4em;
}

.contact form.custom-wpcf7c-confirmed td.address .wpcf7c-conf {
  margin-top: 0;
}

.contact form.custom-wpcf7c-confirmed .sumit-area .btn_sumit {
  display: flex;
  justify-content: center;
  width: 86.667%;
}

.contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7c-btn-back, .contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7-submit {
  width: 45%;
}

.contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7c-btn-back {
  margin-right: 5%;
}

.contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7-submit {
  margin-left: 5%;
}

/* .response */
.contact .response .wpcf7-response-output {
  width: 86.667%;
  margin: 5.333vw auto 0;
  padding: 1.333vw 2.133vw;
  border: 3px solid #d73200;
  border-radius: 5px;
  color: #d73200;
  text-align: center;
}
@media print, screen and (min-width: 560px) {
  .contact .sumit-area .btn_sumit input[type="submit"]:hover {
    opacity: 0.7;
    transition: all 0.5s ease;
  }
  .contact .sumit-area .btn_sumit .wpcf7c-btn-back:hover {
    opacity: 0.7;
    transition: all 0.5s ease;
  }
}
@media print, screen and (min-width: 769px) {
  .contact .page-tit h1 {
    background: url(/img/contact/bg_pagetit.png) calc(100% + 75px) -62px/0 auto no-repeat;
    background-size: 50% auto;
  }
  .contact .contact-form {
    padding: 50px 0 104px;
  }
  .contact .contact-form h2 {
    font-size: 4rem;
    letter-spacing: 0.12em;
  }
  .contact .contact-form h2 span::after {
    display: inline-block;
    width: 227px;
    height: 19px;
    margin-left: 20px;
  }
  .contact .form {
    width: 100%;
    max-width: 800px;
    margin: 23px auto 0;
    border-bottom: 1px solid #666;
  }
  .contact .form th, .contact .form td {
    display: table-cell;
    font-size: 1.5rem;
  }
  .contact .form th {
    box-sizing: border-box;
    width: 195px;
    padding: 5px 0 5px 20px;
    text-align: left;
  }
  .contact .form th .required {
    margin-left: 11px;
    padding: 4px 10px;
    font-size: 1.2rem;
  }
  .contact .form td {
    padding: 5px 20px 5px 13px;
    border-left: 1px solid #666;
    text-align: left;
  }
  .contact .form td input[type="text"],
  .contact .form td input[type="tel"],
  .contact .form td input[type="email"],
  .contact .form td textarea {
    padding: 1px 10px;
    font-size: 1.5rem;
  }
  .contact .form td textarea {
    width: 100%;
    height: 70px;
  }
  .contact .form td input[type=radio] {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
  }
  .contact .form td input[type=radio]:checked::before {
    width: 10px;
    height: 10px;
  }
  .contact .form td.name01 input[type="text"], .contact .form td.name02 input[type="text"], .contact .form td.mail input[type="email"] {
    width: 78.2%;
  }
  .contact .form td .your-radio label {
    margin-right: 28px;
  }
  .contact .form td .license label {
    margin-right: 28px;
  }
  .contact .form td.age input[type="text"], .contact .form td.joins input[type="text"] {
    width: 90px;
  }
  .contact .form td.address input[type="text"] {
    width: 90px;
  }
  .contact .form td.address textarea {
    margin-top: 7px;
  }
  .contact .form td.tel input[type="text"] {
    width: 49.5%;
  }
  .contact .form td.mail input[type="text"], .contact .form td.qualified input[type="text"] {
    width: 78.2%;
  }
  .contact .form td.job span.wpcf7-form-control-wrap {
    width: 270px;
    margin: 0;
    padding: 0;
  }
  .contact .form td.job span.wpcf7-form-control-wrap::after {
    right: 5px;
    border-width: 7px 5.5px 0 5.5px;
  }
  .contact .form td.job select {
    width: 250px;
    margin: 0;
    padding: 7px 20px 7px 10px;
    cursor: pointer;
  }
  .contact .sumit-area {
    margin-top: 38px;
  }
  .contact .sumit-area .privacy {
    width: calc(230px - 10px);
    padding: 4px 5px 5px;
  }
  .contact .sumit-area .btn_sumit {
    width: 230px;
    margin-top: 15px;
  }
  .contact .sumit-area .btn_sumit input[type="submit"] {
    width: 230px;
    padding: 2px 0 5px;
    font-size: 2rem;
    transition: all 0.5s ease;
  }
  .contact .sumit-area .btn_sumit .wpcf7c-btn-back {
    width: 230px;
    padding: 2px 0 5px;
    font-size: 2rem;
    transition: all 0.5s ease;
  }
  .contact form.custom-wpcf7c-confirmed .sumit-area .btn_sumit {
    max-width: 800px;
  }
  .contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7c-btn-back, .contact form.custom-wpcf7c-confirmed .sumit-area .wpcf7-submit {
    width: 230px;
  }
  .contact .response .wpcf7-response-output {
    max-width: 800px;
    margin: 20px auto 0;
    padding: 8px 0;
  }
  .contact .response .wpcf7-response-output {
    max-width: 800px;
    margin: 20px auto 0;
    padding: 8px 0;
  }
}
@media print, screen and (min-width: 1280px) {
  .contact .page-tit h1 {
    background-position: right -62px;
  }
}



