@charset "utf-8";
.menu_main{
  padding-top: 85px;
}
.menu_mv{
  position: relative;
  height: 70vh;
  min-height: 360px;
  overflow: hidden;
}
.menu_mv img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.menu_content{
  display:flex;
  padding-bottom:50px;
  align-items:flex-start;
  padding-top: 60px;
}
.menu_mv .page_mv_inner{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 100px;
}
.menu_mv h3{
  font-size: clamp(19px, calc(19px + 5 * ((100vw - 580px) / 189)), 24px);
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.menu_p{
  font-size: clamp(13px, calc(13px + 5 * ((100vw - 580px) / 188)), 18px);
  line-height: 2.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  padding-top: 20px;
}
.menu_images{
  display:flex;
  width: 100%;
  justify-content: center;
}
.menu_img {
  width: 100%;
  max-width: 240px;
  flex: 0 0 auto;
  object-fit: cover;
  opacity: 0;
  transform: translateX(-60%) rotate(var(--rot));
  transition:
    transform .8s cubic-bezier(.55,.05,.55,.95),
    opacity   .8s ease;
}
.menu_img:nth-child(1){
  --rot:  5deg;
  transition-delay: .0s;
  margin-right: -20px;
}
.menu_img:nth-child(2){
  --rot: -5deg;
  transition-delay: .2s;
  margin-top: 20px;
}
.menu_img:nth-child(3){
  --rot:  5deg;
  transition-delay: .4s;
  margin-left: -20px;
}

.menu_images.is-visible .menu_img {
  opacity: 1;
  transform: translateX(0) rotate(var(--rot));
}
.menu_text{
  width: 100%;
  max-width: 470px;
  text-align: left;
}
@media(max-width:1280px){
  .menu_mv{
    height: 90vh;
  }
  .menu_content {
    flex-direction: column;
    gap: 60px;
    text-align: center;
  }
  .menu_images{
    order: 2;
  }
  .menu_text{
    max-width: 100%;
    text-align: center;
    order: 1;
  }
}
@media (max-width: 1024px) {
  .menu_img {
    max-width: 200px;
    transform: translateX(-60%) rotate(var(--rot));
  }
  .menu_images.is-visible .menu_img {
    opacity: 1;
    transform: translateX(0) rotate(var(--rot));
  }
}
@media(max-width:768px){
  .menu_img{
    max-width: 190px;
  }
}
@media(max-width:600px){
  .menu_img{
    max-width: 144px;
  }
  .menu_content{
    gap: 30px;
    padding-bottom: 0;
    padding-top: 39px;
  }
  .menu_mv .page_mv_inner{
    padding-top: 20px;
  }
}
@media(max-width:480px){
  .menu_content{
    gap: 15px;
  }
  .menu_p{
    padding-top: 10px;
  }
}

.tabs {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 0;
}
.tabs button {
  background: transparent;
  border: none;
  font-size: clamp(24px, calc(24px + 8 * ((100vw - 580px) / 189)), 32px);
  color: #333;
  cursor: pointer;
  transition: color .2s;
  border-bottom: 1px solid rgba(0,0,0,0.2);
  line-height: 1;
  padding: 8px 0;
}
.tabs button:hover {
  color: #333;
}
.tabs button.active {
  border: 1px solid rgba(0,0,0,0.2);
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  background: #fff;
}
.tabs button .highlight {
  display: inline-block;
  padding: 0 4px;
}
.tabs button.active .highlight {
  text-shadow: 2px 2px 3px #FFF200;
}
.tabs .haw_text {
  font-size: clamp(18px, calc(18px + 10 * ((100vw - 580px) / 189)), 28px);
}
.haw_block {
  display: block;
  text-align: left;
  margin-right: 20px;
}
.haw_block2 {
  display: block;
  text-align: right;
  margin-left: 20px;
}
.menu_category_container{
  width: 100%;
  padding-bottom: 125px;
}
.category-section {
  display: none;
}
.category-section.show {
  margin-top: 30px;
  display: block;
  padding-bottom: 150px;
  padding-top: 30px;
}
.page_menu_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  padding-top: 35px;
  width: 100%;
  justify-content: space-between;
}
.menu_item {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  width: 100%;
  max-width: 360px;
}
.category-section.show .menu_item {
  opacity: 1;
  transform: translateY(0);
}
.item-image {
  position: relative;
  overflow: hidden;
  border: 1px solid #cccccc;
  background-color: #fff;
}
.item-image img {
  width: 100%;
  display: block;
  max-height: 240px;
  object-fit: contain;
}
.item-tags {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.tag {
  display: inline-block;
  background: #ffffff;
  border: 1px solid #382A25;
  padding: 2px 10px 3px;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.tag.lunch_tag{
  background: #FFFD90;
}
.menu_price_list {
  padding: 8px 4px;
}
.menu_price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.item_title {
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 600;
}
.item_size {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: normal;
  padding-top: 10px;
}
.item-price {
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
  text-align: right;
}
.jp_en {
  font-size: 0.875rem;
  font-weight: normal;
}
.sub_item_container{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 90px 4px 0;
  gap: 50px;
}
.sub_item_box1,
.sub_item_box2{
  width: 100%;
  flex: 1;
}
.sub_item_box1 .menu_price,
.sub_item_box2 .menu_price{
  padding-bottom: 30px;
}
.item_container_line{
  display: block;
  width: 1px;
  background: #cccccc;
  align-self: stretch;
}
.menu-title {
  width: 100%;
  /* margin-top: 50px; */
  background: #382A25;
  color: #fff;
  padding: 10px 30px;
  font-size: 1rem;
}
.menu-title .font_family{
  font-size: 2rem;
  margin-right: 8px;
}
.sec_alchol .item-image{
  padding: 0;
}
.sub_item_box.tart_box{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 500px;
  width: 100%;
  min-width: 300px;
}
.menu_price.tart{
  width: 100%;
  justify-content: space-between;
  gap: 50px;
}
.item_size.tart_text{
  display: block;
  padding-bottom: 20px;
}
/* bg */
.sec_alchol{
  background: #DED7CA;
  /* padding-top: 150px; */
}
.leaf_position1 .page_leaf_imgL1{
  max-width: 420px;
}
.leaf_position1 .page_leaf_imgR2{
  top: 50%;
}
@media (max-width: 1080px) {
  .tabs {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 20px;
  }
  .category-section.show{
    margin-top: 25px;
    padding-top: 25px;
  }
}

@media (max-width: 900px) {
  .page_menu_container {
    grid-template-columns: repeat(2, 1fr);
  }
  .sec_alchol{
    padding-top: 100px;
  }
  .category-section.show {
    padding-bottom: 50px;
  }
}
@media(max-width:767px){
  .sub_item_container{
    gap: 20px;
  }
  .sub_item_container .menu_price{
    flex-direction: column;
    align-items: flex-start;
  }
  .sub_item_container .menu_price.tart{
    flex-direction: unset;
  }
}
@media (max-width: 540px) {
  .page_menu_container {
    grid-template-columns: 1fr;
  }
  .menu_item {
    margin: 0 auto;
    max-width: 100%;
  }
  .menu-title{
    padding: 8px 15px;
    font-size: 0.875rem;
  }
  .hw .menu-title .font_family{
    font-size: 1.5rem;
  }
}


/* タルトの写真に関するcss */
.tart_thumbnail {
  width: 100%;
      padding-top: 35px;
}
.food .item-image, .desert .item-image {
  padding: 10px;

}