@charset "utf-8";

/* ========================================
CONTACT
======================================== */

.main{
  background:#f8f6f3;
  padding:120px 20px 100px;
}

#formWrap{
  width:100%;
  max-width:900px;
  margin:0 auto;
  padding:70px 60px;
  background:#fff;
  border-radius:30px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.word{
  text-align:center;
  margin-bottom:50px;
  padding-bottom:40px;
  border-bottom:1px solid #e5ded6;
}

.word h1{
  margin-bottom:25px;
  font-size:clamp(28px,4vw,40px);
  letter-spacing:.08em;
}

.word p{
  line-height:2;
}

.contact-note{
  display:inline-block;
  margin-top:25px;
  padding:12px 20px;
  background:#f8f6f3;
  border-radius:999px;
  color:#8a6f5a;
  font-size:.9rem;
}

.formTable{
  width:100%;
  border-collapse:collapse;
}

.formTable tr{
  border-bottom:1px solid #eee7df;
}

.formTable th,
.formTable td{
  padding:22px 0;
  vertical-align:middle;
}

.formTable th{
  width:28%;
  padding-right:30px;
  text-align:left;
  font-weight:600;
  color:#6f5745;
}

.formTable td{
  width:72%;
}

.formTable input[type="text"],
.formTable input[type="email"],
.formTable select,
.formTable textarea{
  width:100%;
  max-width:520px;
  padding:13px 15px;
  border:1px solid #d8cec5;
  border-radius:8px;
  background:#fff;
  font-size:1rem;
  font-family:inherit;
}

.formTable textarea{
  min-height:150px;
  resize:vertical;
}

.formTable input::placeholder,
.formTable textarea::placeholder{
  color:#aaa;
}

.required{
  margin-left:5px;
  color:#b45c6b;
  font-size:.85rem;
}

.formTable td > span:not(.required){
  font-size:.85rem;
}

.formTable select{
  appearance:auto;
}

.formTable + p{
  margin-top:45px;
  text-align:center;
}

.formTable + p input[type="submit"],
.formTable + p input[type="reset"]{
  min-width:160px;
  padding:14px 30px !important;
  border-radius:999px;
  border:none;
  font-size:1rem !important;
  font-weight:600;
  cursor:pointer;
}

.formTable + p input[type="submit"]{
  background:#6f5745 !important;
  color:#fff !important;
}

.formTable + p input[type="reset"]{
  background:#eee9e2 !important;
  color:#333 !important;
}

.btn-submit,
.btn-back{
  min-width:220px;
  height:56px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  font-size:1rem;
  font-weight:600;
}

.btn-submit{
  background:#6f5745;
  color:#fff;
}

.btn-back{
  background:#eee9e2;
  color:#333;
}

/* ========================================
THANKS
======================================== */

.thanks-body{
  background:#8f755f;
}

.thanks-page{
  min-height:100vh;
  background:#f8f6f3;
  padding:140px 20px 120px;
}

.thanks-box{
  max-width:800px;
  margin:0 auto;
  padding:80px 40px;
  text-align:center;
  background:#fff;
  border-radius:30px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.thanks-en{
  margin-bottom:30px;
  color:var(--color-accent);
  letter-spacing:.2em;
  font-size:.9rem;
}

.thanks-box h1{
  margin-bottom:30px;
}

.thanks-text{
  margin-bottom:20px;
  line-height:2;
}

.thanks-box .btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:240px;
    height:56px;
    margin-top:40px;
    border-radius: 8px;
}

.thanks-body .footer{
  margin-bottom:0;
}

/* ========================================
SP
======================================== */

@media(max-width:768px){

  .main{
    padding:90px 15px 70px;
  }

  #formWrap{
    padding:45px 20px;
    border-radius:20px;
  }

  .word{
    text-align:left;
    margin-bottom:35px;
    padding-bottom:30px;
  }

  .word h1{
    text-align:center;
    font-family: "fot-tsukumin-pr6n", sans-serif;
  }

  .contact-note{
    border-radius:12px;
    line-height:1.8;
  }

  .formTable,
  .formTable tbody,
  .formTable tr,
  .formTable th,
  .formTable td{
    display:block;
    width:100%;
  }

  .formTable tr{
    padding:18px 0;
  }

  .formTable th,
  .formTable td{
    padding:0;
  }

  .formTable th{
    margin-bottom:10px;
  }

  .formTable input[type="text"],
  .formTable input[type="email"],
  .formTable select,
  .formTable textarea{
    max-width:none;
  }

  .formTable + p input[type="submit"],
  .formTable + p input[type="reset"]{
    display:block;
    width:100%;
  }

  .btn-submit{
  margin-bottom:10px;
}

  .thanks-page{
    padding:90px 15px 80px;
  }

  .thanks-box{
    padding:50px 25px;
  }

  .thanks-text{
  text-align:left;
  line-height:2;
  }

  .thanks-box h1{
  font-size:clamp(30px, 8vw, 40px);
  line-height:1.5;
  }

}

/*日時選択*/
.date-selects{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.date-selects select{
  width:auto;
  min-width:180px;
}

@media(max-width:768px){

  .date-selects{
    gap:10px;
  }

  .date-selects select{
    width:100%;
    min-width:0;
  }

}

/*7/1削除予定*/
.contact-important {
  margin: 20px 0;
  padding: 18px 20px;
  background: #f8f1f3;
  border-left: 4px solid #f4b3c2;
  line-height: 1.8;
}

.formTable small {
  font-size: 12px;
  font-weight: normal;
}