@charset "utf-8";
/* CSS Document */
.menu-lead{
  background-color: #f3f0ea;
  display: flex;
  justify-content: space-around;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin: 55px 0 0 auto;
  padding: 100px;
  max-width: 1250px;
}
.menu-text{
  padding: 30px 0;
  display: flex;
  flex-direction: row-reverse;
}
.menu-text h3{
  writing-mode: vertical-rl;
  font-size: 2.4rem; 
  line-height: 4.0rem;
  letter-spacing: 1.0rem;
  font-weight: 400;
  text-align: left;
}
.menu-text-content{
  margin: 60px 90px 0 0;
  width: 16vw;
  min-width: 225px;
}
.menu-text-content p{
  font-size: 1.8rem;
  line-height: 4.0rem;
  text-align: left; 
}
.menu-nav{
  margin-top: 60px;
  display: flex;
  flex-direction: row-reverse;
}
.menu-nav h4{
  writing-mode: vertical-rl;
  font-size: 1.0rem; 
  text-align: left;
  padding-left: 25px;
}
.menu-nav ul{
  display: flex;
  flex-direction: row-reverse;
}
.menu-nav ul li{
  list-style: none;
  padding-right: 25px;
  margin-left: 40px;
  position: relative;
}
.menu-nav ul li::before{
  content: "";
  position: absolute;
  right: -5px;
  width: 1px;
  height: 225px;
  background-color: #999284;
  transition: all .3s;
}
.menu-nav ul li:hover::before{
  background: #f3f0ea;
}
.menu-nav ul li a p{
  writing-mode: vertical-rl;
  font-size: 2.2rem; 
  text-align: left; 
  color: #121212;
}
.menu-nav ul li a p::after{
  content: "";
  position: absolute;
  top: 215px;
  left: 5px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #999284;
  border-right: 1px solid #999284;
  transform: translate(0, -50%) rotate(135deg);
}
@media(max-width:1160px){
  .menu-lead{
    display: block;
    width: 60vw;
    min-width: 275px;
    margin: 60px auto 0 ;
    padding: 0;
  }
  .menu-text{
    display: block;
    padding: 0;
    width: 50vw;
    max-width: 190px;
    margin: 0 auto;
  }
  .menu-text h3{
    writing-mode: horizontal-tb;
    font-size: 2.0rem;
    line-height: 2;
    letter-spacing: 0.5rem;
    padding-top: 30px;
  }
  .menu-text-content{
    margin: 25px -13px 0;
    width: 100%
  }
  .menu-text-content p{
    font-size: 1.4rem;
    line-height: 3.2rem;
  }
  .menu-nav{
    display: block;
    width: 50vw;
    margin: 25px auto 0;
  }
  .menu-nav h4{
    padding-left: 0;
    writing-mode: horizontal-tb;
    font-size: 1.0rem;
  }
  .menu-nav ul{
    display: block;
  }
  .menu-nav ul li{
    padding-right: 0;
    margin-left: 0;
  }
  .menu-nav ul li::before{
    display: none;
  }
  .menu-nav ul li:last-child{
    padding-bottom: 20px;
  }
  .menu-nav ul li a p{
    writing-mode: horizontal-tb;
    font-size: 1.4rem;
    border-bottom: 1px solid #999284;
    padding: 15px 0;
  }
  .menu-nav ul li a p::after{
    top: 50%;
    left: 90%;  
    width: 7px;
    height: 7px;
  }
}

.menu-contents{
  padding-top: 155px;
}
.menu-sengyo-wrapper,.menu-souzai-wrapper{
  margin-bottom: 115px;
  width: 70vw;
}
.menu-shidashi-wrapper{
  width: 70vw;
  margin: 0 0 90px auto;
}
.menu-shidashi-image{
  margin-right: 0;
  margin-left: auto;
}
.menu-sengyo-image img,.menu-souzai-image img,.menu-shidashi-image img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: 30% 20%;
}
.menu-sengyo-text,.menu-souzai-text{
  width: 480px;
  height: 270px;
  background-color: #f3f0ea;
  margin-top: 30px;
  margin-left: 130px;
  padding: 45px 0  0 80px;
}
.menu-shidashi-text{
  width: 480px;
  height: 270px;
  background-color: #f3f0ea;
  margin-top: 30px;
  margin-left: auto;
  margin-right: 180px;
  padding: 45px 0  0 80px;
}
.menu-sengyo-text h4,.menu-souzai-text h4,.menu-shidashi-text h4{
  text-align: left;
  font-size: 3.2rem;
  font-weight: 400;
  padding-bottom: 45px;
  position: relative;
}
.menu-sengyo-text h4::before,.menu-souzai-text h4::before,.menu-shidashi-text h4::before{
  content: "";
  width: 80px;
  height: 1px;
  background-color: #999284;
  position: absolute;
  top: 25%;
  left: -110px;
  transition: all .3s;
}
.menu-sengyo-text:hover h4::before,.menu-shidashi-text:hover h4::before,.menu-souzai-text:hover h4::before{
  left: -100px;
}
.menu-sengyo-text p,.menu-souzai-text p,.menu-shidashi-text p{
  text-align: left;
  font-size: 1.6rem;
  line-height: 2.8rem;
}
/*view moreボタン*/
.menu-btn{
  margin-top: 20px;
  width: 132px;
  height: 45px;
  display: block;
  border-bottom: 1px solid #999284;
  position: relative;
}
.menu-btn a span::before{
  content: "";
  position: absolute;
  top: 30%;
  left: 3px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #999284;
  border-right: 1px solid #999284;
  transform: translate(0, -50%) rotate(45deg);
  transition: all .3s;
}
.menu-btn:hover a span::before{
  left: 10px;
}
.menu-btn a{
  font-size: 1.6rem;
  padding-left: 12px;
  color: #121212;
}
@media(max-width:1160px){
  .menu-contents{
    padding-top: 110px;
  }
  .menu-sengyo-wrapper,.menu-shidashi-wrapper,.menu-souzai-wrapper{
    width: 90vw;
    margin-right: 20px;
    margin-bottom: 60px;
  }
  .menu-shidashi-wrapper{
    margin-left: auto;
    margin-right: 0;
  }
  .menu-sengyo-image,.menu-shidashi-image,.menu-souzai-image{
    width: 100%;
  }
  .menu-sengyo-image img,.menu-shidashi-image img,.menu-souzai-image img{
    height: 185px;
  }
  .menu-sengyo-text,.menu-shidashi-text,.menu-souzai-text{
    width: 300px;
    height: 170px;
    padding: 20px 0 0 45px;
    margin: 20px auto 0;
  }
  .menu-sengyo-text h4,.menu-shidashi-text h4,.menu-souzai-text h4{
    font-size: 2.2rem;
    padding-bottom: 15px;
  }
  .menu-sengyo-text h4::before,.menu-souzai-text h4::before,.menu-shidashi-text h4::before{
    width: 40px;
    left: -55px;
  }
  .menu-sengyo-text p,.menu-shidashi-text p,.menu-souzai-text p{
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .menu-btn{
    margin-top: 15px;
    width: 77px;
    height: 30px;
  }
  .menu-btn span{
    padding-left: 15px;
    font-size: 1.0rem;
  }
  .menu-btn a{
    padding-left: 0;
  }
  .menu-btn a span::before{
    width: 7px;
    height: 7px;
    top: 52%;
    left: 6px;
  }
  .menu-sengyo-text:hover h4::before,.menu-shidashi-text:hover h4::before,.menu-souzai-text:hover h4::before{
    left: -60px;
  }
}

.section-reservation{
  margin-top: 0;
  padding-top: 100px;
}


