@charset "utf-8";
/* CSS Document */

/*************** 送信ボタン ****************/
.btnSend a {
  width: 210px;
  height: 60px;
  margin: 40px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid;
  background: #fff;
}

/*==================================================
  CONTACT FORM : common
==================================================*/

.formWrap {
  background: #fff;
  width: 90%;
  max-width: 1200px;
  padding: 5%;
  margin: 0 auto;
}

#form .entrytbl .brdr_td select {
  max-width: 100%;
}

#form .entrytbl .brdr_td p {
  margin-top: 0;
}

#form .entrytbl .brdr_td label {
  cursor: pointer;
}

#form .entrytbl .brdr_td a {
  display: inline;
}

#form .entrytbl .message p:first-child {
  margin-bottom: 10px;
}

/*************** entrytbl ****************/
.entrytbl {
  width: 100%;
}

.entrytbl tr:not(:last-of-type) {
  border-bottom: 1px solid #e5e5e5;
}

.entrytbl th {
  width: 25%;
  padding: 30px 20px;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

.entrytbl td {
  padding: 30px 20px;
}

.entrytbl td p {
  margin-top: 10px;
}

.entrytbl td table tr,
.entrytbl td table tr:not(:last-of-type) {
  border: none;
}

.entrytbl td table td {
  padding: 10px 0;
}

.entrytbl td table tr:first-of-type td {
  padding-top: 0;
}

/*************** フォーム内サブ見出し ****************/
.entrytbl .subHead {
  margin-right: 10px;
  font-size: .9em;
  font-weight: bold;
}

/*************** フォーム注釈 ****************/
.required,
.arbitrary {
  padding-right: 3em !important;
  position: relative;
}

.required::before,
.arbitrary::after {
  display: inline-block;
  font-size: 0.8em;
  font-weight: normal;
  line-height: 100%;
  padding: 5px 10px;
  position: absolute;
  top: 35px;
  right: 5px;
  color: #FFF;
  border-radius: 3px;
}

.required::before {
  content: "必須";
  background: #ed5152;
}

.arbitrary::after {
  content: "任意";
  background: #999;
}

.form_note {
  display: inline-block;
  font-size: 0.8em;
  color: #9AB55E;
}

/*************** form parts ****************/
input:not([type="submit"]),
textarea,
select {
  font-size: 16px;
  cursor: pointer;
  position: relative;
  transition: 0.5s;
  border: 1px solid #f0eade;
  background: #fdfcfa;
  margin-right: 5px;
  padding: 15px;
  border-radius: 5px;
  transition: .3s;
}

input:not([type="submit"]):focus,
textarea:focus,
select:focus {
  border: 1px solid #7d9a3e;
  outline: none;
}

input::placeholder {
  color: #a1a19f;
}

.entrytbl .listTd .wpcf7-list-item {
  margin-left: 0;
  margin-right: 1em;
  margin-bottom: 1em;
}

/*************** チェックボックス ****************/
input[type="checkbox"] {
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  padding: 5px;
  border: 1px solid #7d9a3e;
  background: #fdfcfa;
}

input[type="checkbox"]:checked {
  background: #7d9a3e;
  border: 1px solid #7d9a3e;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  transform: rotate(45deg);
  transform-origin: right center;
}

input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  width: 16px;
  height: 4px;
  background: #ffffff;
  transform: rotate(-53deg);
  transform-origin: left center;
}

/*************** 郵便番号 ****************/
#zip,
#zip02 {
  width: 10em;
}

/*************** カレンダー・来店時間 ****************/
.calendar01,
.calendar02 {
  margin-left: 1em;
  margin-bottom: 10px;
  width: 15em;
}

.time01,
.time02 {
  width: 6em;
}

.class-holiday span {
  color: #E81733 !important;
}

.ui-datepicker-month {
  background: #fff;
}

/*************** 自由入力欄 ****************/
.your-message textarea,
.assessment-pr textarea {
  width: 60%;
}

/*************** プライバシーポリシー ****************/
.note_privacy {
  text-align: center;
  font-weight: bold;
}

.accept {
  text-align: center;
  font-weight: bold;
}

.privacy .wpcf7-list-item {
  margin-left: 0;
  margin-bottom: 1em;
}

/*************** reCAPTCHA ****************/
.recaptcha {
  display: flex;
  justify-content: center;
  margin: 20px 0
}

/*************** フォーム用送信ボタン ****************/
.submit_warning {
  font-weight: bold;
  text-align: center;
  margin: 20px auto 5px auto;
}

.submit_box {
  margin: 30px 0 0;
  text-align: center;
}

.btn_submit_form {
  width: 80%;
  max-width: 550px;
  padding: 1em;
  font-size: 1.2em;
  font-weight: bold;
  color: #fff;
  background: #7D9A3F;
  transition: .3s;
  border-radius: 5px;
  border: none;
}

.btn_submit_form:hover {
  opacity: 0.7;
}

.btn_submit_form:disabled,
.btn_submit_form:disabled:hover {
  background: #e5e5e5;
  opacity: 1;
}

/*************** 送信時 ****************/
.wpcf7 .ajax-loader {
  margin: 1% auto;
  display: block;
}

/*************** バリデーション ****************/
.wpcf7-not-valid-tip {
  display: inline-block !important;
  width: auto;
  /*width: 60%;*/
  margin: 5px;
  background: #ed5152;
  padding: 5px;
  color: #fff !important;
}

/*==================================================
  サンクスページ
==================================================*/
.lp_thanksBox {
  background: #F5F0E8;
  width: 90%;
  max-width: 1200px;
  margin: 10rem auto 3rem;
  padding: 3rem;
  text-align: center;
}

.lp_thanksBox_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
}

.lp_thanksBox__btn {
  margin-top: 2rem;
}

.lp_thanksBox__btn a {
  width: 90%;
  max-width: 400px;
  display: flex;
  margin: 0 auto;
  font-size: 1.6rem;
  letter-spacing: 1px;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding: 1.5rem 0;
  gap: 1rem;
  border-radius: 0.5rem;
  text-decoration: none;
  background: #7D9A3F;
}

/*///////////////////////////////////////////////////////////

スマートフォン版（～767px）

///////////////////////////////////////////////////////////*/
@media only screen and (max-width: 767px) {

  /*************** フォーム ****************/
  input[type="text"],
  input[type="email"],
  textarea {
    width: 100%;
  }

  input[type="text"][name="etc"] {
    width: 96%;
  }

  input[type="tel"] {
    width: 70%;
  }

  input[type="text"]#text_shop,
  select#select-title,
  select#model-title {
    width: 96%;
  }

  /*==================================================
      スマホ版 entrytbl
    ==================================================*/
  .entrytblWrap {
    margin: 5% 0;
  }

  .entrytbl {
    width: 98%;
    margin: 0 auto;
    border-collapse: separate;
    clear: both;
    background-color: #FFF;
  }

  .entrytbl a {
    text-decoration: underline;
  }

  .entrytbl tr {
    display: block;
  }

  .entrytbl th {
    display: list-item;
    border: none;
    list-style-type: none;
    margin: 0px;
    padding: 1em;
    width: auto;
  }

  .entrytbl td {
    display: list-item;
    border: none;
    list-style-type: none;
    margin: 0px;
    padding: 1em;
    word-wrap: break-word !important;
    word-break: break-all;
  }

  .entrytbl td table {
    width: 100%;
  }

  .entrytbl td table td {
    padding: 10px;
  }

  .required::before,
  .arbitrary::after {
    top: 1.25em;
  }

  .form_note {
    display: block;
  }

  /*************** チェックボックス ****************/
  .listTd .wpcf7-list-item {
    display: block;
    margin-left: 0;
  }

  /*************** カレンダー・来店時間 ****************/
  .calendar01,
  .calendar02 {
    max-width: 15em;
  }

  /*************** 自由入力欄 ****************/
  .your-message textarea {
    width: 98%;
  }

  /*************** 送信ボタン ****************/
  .submit_warning {
    font-size: 1em;
  }

  .lp_thanksBox {
    margin-top: 3rem;
  }

}

/* スマホ版ここまで --------------------------------------- */