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

.reserve-page{
/*  background:#f7f7f5;
*/  padding:0 0 20px;
  color:#2d2422;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic",sans-serif;
  line-height:1.8;
}

.reserve-fv{
  background:repeating-linear-gradient(
    90deg,
    #d8ccb8 0,
    #d8ccb8 12px,
    #e5dccb 12px,
    #e5dccb 24px
  );
  text-align:center;
  padding:28px 15px;
  margin-bottom:34px;
}

.reserve-fv h1{
  margin:0;
  font-size:32px;
  line-height:1.4;
  font-weight:700;
}

.reserve-intro p{
  text-align:center;
  font-size:16px;
  color:#6f625c;
  margin-bottom:28px;
  padding:28px 20px 0;
}

.reserve-note{
  max-width:900px;
  margin:0 auto 36px;
  background:#f1eada;
  border-left:6px solid #cf8d9c;
  border-radius:10px;
  padding:18px 20px;
  box-sizing:border-box;
  width:calc(100% - 30px);
  font-size:15px;
}
.reserve-note p{
  text-align:left;
}
.reserve-note strong{
  color:#b86f84;
  font-size:22px;
}

.reserve-card{
  max-width:900px;
  margin:0 auto 34px;
  width:calc(100% - 30px);
  background:#fff;
  border:2px solid #d8d2c9;
  border-radius:24px;
  padding:32px 28px 10px;
  box-sizing:border-box;
  text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}

.reserve-card-web{
  border-color:#b9c8b0;
}

.reserve-card-line{
  border-color:#d8d2c9;
}

.reserve-card-tel{
  border-color:#d8d2c9;
}

.reserve-en{
  margin:0 0 5px;
  letter-spacing:.30em;
  font-size:14px;
  color:#b9ab98;
  text-align: center !important;
}

.reserve-card h2,
.reserve-mail-head h2{
  margin:0 0 15px;
  font-size:30px;
  line-height:1.4;
  font-weight:700;
  padding: 0px;
  color: auto;
  border: none;
  background: none;
}

.reserve-sub{
  margin:0 0 10px;
  color:#8e8b8b;
  font-size:16px;
  text-align: center !important;
}

.reserve-btn-wrap{
  margin:0 0 5px;
}

.reserve-btn{
  display:block;
  text-decoration:none;
  color:#fff;
  font-size:20px;
  font-weight:600;
  border-radius:50px;
  padding:20px 16px;
  transition:.3s;
  text-align: center !important;
}

.reserve-btn:hover{
  opacity:.88;
}

.reserve-btn-web{
  background:#b8c7ac;
}

.reserve-btn-line{
  background:#06c755;
}

.reserve-btn-tel{
  background:#2a1f1c;
  letter-spacing:.12em;
  font-size:16px;
}

.reserve-caption{
  color:#b8c7ac;
  font-size:15px;
  font-weight:600;
  text-align: center !important;
}

.reserve-mail{
  max-width:900px;
  margin:10px auto 0;
  width:calc(100% - 30px);
  border-top:1px solid #d9cab3;
  padding-top: 40px;
}

.reserve-mail-head{
  background:#d9cab3;
  color:#fff;
  text-align:center;
  border-radius:10px;
  padding:22px 10px 10px;
  margin-bottom:20px;
}
.reserve-mail-head h2 {
  font-size:22px;
  padding: 0px;
  margin: 0px;
}
.reserve-mail-head .reserve-en{
  color:rgba(255,255,255,.8);
  margin-bottom:6px;
}

.reserve-mail-head h2{
  color:#fff;
}

.reserve-required{
  text-align:center;
  color:#8f8b88;
  margin:0 0 22px;
  font-size:15px;
}
p.reserve-required{
  text-align: center;
}

.reserve-form-wrap{
  background:transparent;
}

.reserve-form-row{
  margin-bottom:24px;
}

.reserve-form-row label{
  display:block;
  text-align:center;
  font-size:20px;
  font-weight:700;
  margin-bottom:12px;
  border-bottom:1px solid #ddd4ca;
  padding-bottom:8px;
}

.reserve-form-row input,
.reserve-form-row textarea{
  width:100%;
  box-sizing:border-box;
  border:2px solid #ddd4ca;
  border-radius:10px;
  background:#fff;
  padding:18px 20px;
  font-size:16px;
  color:#333;
  appearance:none;
}

.reserve-form-row textarea{
  min-height:180px;
  resize:vertical;
}

.reserve-form-row input::placeholder,
.reserve-form-row textarea::placeholder{
  color:#b8b2ae;
}

.reserve-form-submit{
  text-align:center;
  margin-top:30px;
}

.reserve-form-submit button{
  display:inline-block;
  min-width:260px;
  border:none;
  border-radius:999px;
  padding:18px 30px;
  font-size:18px;
  font-weight:700;
  color:#fff;
  background:#8f7c63;
  cursor:pointer;
}
.reserve-mail submit {
  display:inline-block;
  min-width:260px;
  border:none;
  border-radius:999px;
  padding:18px 30px;
  font-size:18px;
  font-weight:700;
  color:#fff;
  background:#8f7c63;
  cursor:pointer;
   
}
.reserve-fixed-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  display:flex;
  background:#e8dfcf;
  border-top:1px solid #cdbfa9;
}

.reserve-fixed-nav a{
  flex:1;
  text-decoration:none;
  color:#2d2422;
  text-align:center;
  padding:10px 6px 12px;
  border-right:1px solid #cdbfa9;
  font-weight:700;
  font-size:14px;
  line-height:1.4;
}

.reserve-fixed-nav a:last-child{
  border-right:none;
}

.reserve-fixed-nav .icon{
  display:block;
  font-size:24px;
  margin-bottom:6px;
}

html{
  scroll-behavior:smooth;
}

@media (min-width: 768px){
  .reserve-page{
    padding-bottom:40px;
  }

  .reserve-fv h1{
    font-size:42px;
  }

  .reserve-card{
    padding:46px 50px 32px;
  }

  .reserve-btn{
    max-width:720px;
    margin:0 auto;
  }

  .reserve-fixed-nav{
    max-width:480px;
    left:50%;
    transform:translateX(-50%);
    bottom:20px;
    border:1px solid #cdbfa9;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
  }
}