.meal-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  margin-top: 24px;
  width: 700px;
  margin-inline: auto;
}

.meal-left,
.meal-right {
  width: 50%;
}

.meal-ttl {
  color: #000;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  margin-bottom: 20px;
  min-height: 34px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
}

.meal-content {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  cursor: pointer;
  margin-bottom: 15px;
}
.meal-content:last-of-type {
  margin-bottom: 1px;
}
.meal-content:last-of-type:hover {
  margin-bottom: 0;
}

.meal-content:hover {
  margin-bottom: 14px;
  border-bottom: 1px solid #600;
}

.meal-content-lft,
.meal-content-rgt {
  width: 50%;
  color: #600;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}

.meal-content-lft.meal-content-nowrap {
  white-space: nowrap;
}

.meal-content-rgt {
  text-align: right;
}

@media (max-width: 991px) {
  .meal-wrap {
    padding-inline: 10px;
  }
}

@media (max-width: 767px) {
  .meal-wrap {
    width: 100%;
    flex-direction: column;
    padding-inline: 10px;
    margin-top: 32px;
    gap: 32px;
  }

  .meal-left,
  .meal-right {
    width: 100%;
  }

  .meal-ttl {
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 11px;
  }

  .meal-content-lft,
  .meal-content-rgt {
    color: #600;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    margin-bottom: 0;
  }

  .meal-content {
    display: flex;
    align-items: center;
    gap: 4px;
    /* margin-bottom: 10px; */
  }

  .meal-content-lft {
    white-space: nowrap;
    width: fit-content;
  }

  .meal-dots {
    display: block;
    flex: 1;
    height: 2px;
    background: repeating-linear-gradient(
      to right,
      #600,
      #600 2px,
      transparent 2px,
      transparent 8px
    );
  }

  .meal-content-rgt {
    width: auto;
    text-align: right;
  }
}

.cont_himage {
  padding-bottom: 0px;
  padding-top: 80px;
  text-align: center;

  &:first-of-type {
    padding-top: 40px;
  }
}

@media (max-width: 767px) {
  .cont_himage {
    padding-bottom: 0px;
    padding-top: 64px;
    text-align: center;

    &:first-of-type {
      padding-top: 40px;
    }
  }
}

.cont_list_ryouri-hl {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 115%;
  line-height: 160%;
  margin-left: 0px;
  font-weight: bold;
  margin-top: 20px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #666;
  margin-bottom: 5px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 5px;
  padding-left: 0px;

  @media (max-width: 767px) {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-top: 32px;
    margin-bottom: 15px;
    padding-bottom: 10px;
  }
}

.end {
  text-align: end;
}

.cont_list_ryouri {
  color: #000;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: 100%;
  line-height: 120%;
  padding-bottom: 0;
  padding-left: 0px;
  padding-top: 15px;
  margin-left: 20px;
  list-style-type: none;
  list-style: none;

  @media (max-width: 767px) {
    font-size: 14px;
    line-height: 20px;
    margin-left: 0;
    padding-top: 0;
  }
}

.cont_list_ryouri.list {
  list-style: none;
  margin-left: 20px;

  span {
    font-weight: 700;
  }
}

.cont_list_ryouri.list::marker {
  padding-left: 20px;
}

.txt14 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: 100%;
  font-weight: 400;
  line-height: 1.417;
  margin-top: 10px;
  margin-bottom: 0;
  display: flex;
  gap: 4px;

  @media (max-width: 767px) {
    font-size: 14px;
    line-height: 20px;
  }

  img {
    width: 29px;

    @media (max-width: 767px) {
      width: 20px;
    }
  }
}

.cont_list_wrap {
  width: 800px;
  margin-inline: auto;
  padding-bottom: 80px;
  margin-top: 0px;
}

/* パンくずリスト直後の最初の要素の余白を0pxに（お部屋ページに合わせる） */
@media (min-width: 768px) {
  /* コース料理ページ：最初の.meal-wrapの余白を0pxに */
  .ryouri_course .meal-wrap:first-of-type {
    margin-top: 0px !important;
  }
  
  /* ランチ・アラカルト・ドリンクページ：最初の.cont_himageの余白を0pxに */
  .cont_list_wrap > .cont_himage:first-of-type {
    padding-top: 0px !important;
  }
}

@media (max-width: 991px) {
  .cont_list_wrap {
    padding-inline: 10px;
  }
}

.cont_himage img {
  margin-inline: auto;
  padding-block: 10px 20px;
  margin-block: 0;
}

@media (max-width: 991px) {
  .cont_list_wrap {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cont_himage img {
    width: 100%;
  }

  .cont_list_wrap {
    width: 100%;
  }
  .cont_list_ryouri.lh {
    line-height: 22px;
  }
}

/* @media (max-width:767px) {
    .cont_himage img{
        max-width: 100%;
        width: 100%;
    }
} */

.line {
  margin-top: 20px;
  display: inline-block;
}

.line a {
  text-decoration: underline;
  color: #600;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
}

@media (max-width: 767px) {
  .line a {
    font-size: 13px;
  }

  .ryouri_other .cont_list_ryouri-hl {
    font-size: 14px;
  }
}

.ryouri_other #Lnavi #_____01 tr {
  display: flex;
  align-items: stretch;
}

.ryouri_other #Lnavi #_____01 td {
  background-color: #600;
  display: flex;
  justify-content: center;
  width: 100%;
}

/* お料理ページのメニュー区切りの縦線を削除 */
.ryouri_course #Lnavi #_____01 td,
.ryouri_other #Lnavi #_____01 td,
.ryouri_drink #Lnavi #_____01 td {
  border: none;
  overflow: visible;
  position: relative;
}

.ryouri_course #Lnavi #_____01 td + td,
.ryouri_other #Lnavi #_____01 td + td,
.ryouri_drink #Lnavi #_____01 td + td {
  border-left: none;
}

/* 白い縦線を赤色で覆う */
.ryouri_course #Lnavi #_____01 td:not(:last-child)::after,
.ryouri_other #Lnavi #_____01 td:not(:last-child)::after,
.ryouri_drink #Lnavi #_____01 td:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: #600;
  z-index: 10;
  pointer-events: none;
}

/* 画像の縦線部分をクロップ */
.ryouri_course #Lnavi #_____01 td img,
.ryouri_other #Lnavi #_____01 td img,
.ryouri_drink #Lnavi #_____01 td img {
  display: block;
  width: 100%;
  height: auto;
}


.ryouri_other .breadcrums {
  background-color: transparent !important;
  justify-content: start !important;
}

.ryouri_drink .txt12 {
  font-size: 80%;
  line-height: 1.2;
  margin-top: 10px;
}
.ryouri_drink .cont_list_ryouri {
  font-size: 100%;
  line-height: 120%;
  padding-bottom: 0;
  padding-left: 0px;
  padding-top: 15px;
  margin-left: 40px;
  list-style-type: none;
}

.ryouri_drink .drink_list {
  padding-top: 15px;
  padding-bottom: 2px;
}

@media (max-width: 767px) {
  .ryouri_drink .cont_list_ryouri-hl {
    font-size: 16px;
  }

  .ryouri_drink .cont_list_ryouri {
    margin-left: 15px;
    padding-top: 0;
    font-size: 13px;
  }
}

.ryouri_drink .drink_list_sake2 {
  font-size: 14px;
  padding-top: 15px;
  padding-bottom: 2px;
}

.ryouri_drink .drink_list_sake {
  padding-top: 15px;
  padding-bottom: 2px;
  font-weight: bold;
}

.ryouri_drink .txt14b {
  font-weight: bold;
  font-size: 115%;
  line-height: 160%;
}

.ryouri_drink .txt14b a {
  color: #600;
}

.ryouri_drink .txt14b a:link:hover {
  text-decoration: underline;
}

.ryouri_drink .meal-sharelinkwrap {
  margin-top: 40px;
}

.ryouri_course .meal-sharelinkwrap {
  margin-top: 40px;
}

.ryouri_drink .center {
  text-align: center;
}

.ryouri_drink .right {
  text-align: end;
  justify-content: end;
}

@media (max-width: 767px) {
  .ryouri_drink .drink_list_sake2 {
    font-size: 13px;
  }

  .sp__table-scroll {
    overflow-x: auto;
    overflow-y: hidden;
  }
}

@media (max-width: 600px) {
  .sp__table-scroll.w600 table {
    width: 600px;
  }
}

@media (max-width: 500px) {
  .sp__table-scroll table {
    width: 500px;
  }
}

@media (max-width: 400px) {
  .sp__table-scroll.w400 table {
    width: 400px;
  }
}
