/* -----------------------
  menu
----------------------- */
.menu {
  padding-top: min(23.97vw, 187px);
  padding-bottom: min(21.41vw, 167px);
  font-size: min(2.95vw, 23px);
  color: #312008;
  line-height: 1.66;
  font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

.menu .menu-list dt {
  font-size: min(5.13vw, 40px);
  border-bottom: 1px solid #312008;
  display: flex;
  align-items: center;
  font-weight: 400;
  padding: min(2.69vw, 21px) 0;
}
.menu .menu-list dt .en {
  font-size: min(3.08vw, 24px);
  margin-left: min(4.43vw, 31px);
  margin-top: 0.25em;
  letter-spacing: 0.05em;
}

.menu .menu-list dd {
  display: grid;
  grid-template-columns: auto auto 1fr;
  border-bottom: 1px solid #312008;
  font-weight: 300;
}
.menu .menu-list dd .name {
  width: min(45vw, 351px);
  background-color: #f1eee8;
  padding: 1em 0.5em;
  min-height: min(14.74vw, 115px);
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
}
.menu .menu-list dd .unit {
  width: min(11.28vw, 88px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 0.3em;
  position: relative;
}
.menu .menu-list dd .unit::after {
  content: '';
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, #312008, #312008) no-repeat right center / 100% calc(100% - min(7.69vw, 60px));
  position: absolute;
  right: -1px;
  top: 0;
}

.menu .menu-list dd .price {
  font-size: min(3.85vw, 30px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.menu .menu-list dd .price .tax {
  font-size: min(2.05vw, 16px);
  margin-top: 0.4em;
}

.menu-01 {
  margin-top: min(9.87vw, 77px);
}
.menu-02 {
  margin-top: min(4.87vw, 38px);
}
.menu-03 {
  margin-top: min(6.67vw, 52px);
}
.menu .menu-list .menu-03 dd .name {
  min-height: min(14.62vw, 114px);
}
.menu-04 {
  margin-top: min(10vw, 78px);
}
.menu .menu-list .menu-04 dd .name {
  letter-spacing: -0.05em;
  padding: 1.22em 0.5em;
  text-align: justify;
}