@charset "UTF-8";
/* ==================================================
   sp
================================================== */
@media screen and (max-width: 767px) {
  .monthly_menu_wrapper {
    width: 90%;
    margin-top: 12vw;
    padding: 10vw 7%;
    border: 2px solid #231815;
  }

  .monthly_menu_inner {
    width: 100%;
    margin: 8vw auto 0;
  }

  .monthly_menu_inner img {
    width: 100%;
    height: auto;
  }

  .common_wrapper h3 {
    margin-top: 4vw;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6em;
  }

  .common_inner p:first-of-type {
    margin-top: 4vw;
  }

  #menu .common_wrapper h3 {
    margin-top: 12vw;
    padding-left: 5%;
    font-size: 1.4rem;
  }

  .menu_card_wrapper {
    display: grid;
    width: 90%;
    margin: 8vw auto 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4%;
    row-gap: 8vw;
      justify-content: center;
  }

  .menu_card_item {
    width: 100%;
    margin: 0;
  }

  .menu_card_item_img img {
    width: 100%;
    height: auto;
  }

  .menu_card_item p {
    margin-top: 3vw;
    font-size: 0.9rem;
    line-height: 1.6em;
  }

  .menu_card_item p.price {
    margin-top: 2vw;
    font-weight: 700;
    text-align: right;
  }

  .menu_list_wrapper {
    width: 90%;
    margin: 8vw auto 0;
    border-top: 2px solid #231815;
    border-bottom: 2px solid #231815;
  }

  .menu_list_wrapper ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    gap: 5%;
    margin-top: 5vw;
  }

  .menu_list_wrapper ul:first-of-type {
    margin-top: 6vw;
  }

  .menu_list_wrapper ul:last-of-type {
    margin-bottom: 6vw;
  }

  .menu_list_wrapper li:first-of-type {
    min-width: 0;
    line-height: 1.6em;
  }

  .menu_list_wrapper li:last-of-type {
    flex-shrink: 0;
    line-height: 1.6em;
    text-align: right;
  }

  .common_inner p.note {
    margin-top: 4vw;
    padding-left: 5%;
    font-size: 0.8rem;
    text-align: left;
  }

  .tr {
    width: 100%;
    margin-top: 7vw;
    padding-bottom: 7vw;
    border-bottom: 2px solid #231815;
  }

  .tr:first-of-type {
    margin-top: 10vw;
  }

  .tr:last-of-type {
    padding-bottom: 0;
    border: none;
  }

  .th {
    margin-left: 5%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.8em;
  }

  .td {
    margin: 0 5%;
    padding-top: 4vw;
    font-size: 1rem;
    line-height: 1.8em;
  }

  .two_line {
    padding-top: 2vw;
  }

  .td img {
    width: 100%;
    height: auto;
    margin-top: 5vw;
  }

  .td img:first-of-type {
    margin-top: 0;
  }

  .common_media_wrapper {
    margin-top: 15vw;
  }

  .map_wrapper {
    width: 100%;
    margin-top: 8vw;
  }

  .map_wrapper iframe {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
  }

  .parking_img_wrapper {
    display: block;
    width: 100%;
  }
}

/* ==================================================
   tb
================================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .monthly_menu_wrapper {
    width: 85%;
    margin-top: 6vw;
    padding: 6vw 6%;
    border: 2px solid #231815;
  }

  .monthly_menu_inner {
    width: 60%;
    margin: 5vw auto 0;
  }

  .monthly_menu_inner img {
    width: 100%;
    height: auto;
  }

  .common_wrapper h3 {
    margin-top: 2.5vw;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6em;
  }

  .common_inner p:first-of-type {
    margin-top: 2.5vw;
  }

  #menu .common_wrapper h3 {
    margin-top: 6vw;
    padding-left: 5%;
    font-size: 1.5rem;
  }

  .menu_card_wrapper {
    display: grid;
    width: 90%;
    margin: 5vw auto 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 6%;
    row-gap: 6vw;
  }

  .menu_card_item {
    width: 100%;
    margin: 0;
  }

  .menu_card_item_img img {
    width: 100%;
    height: auto;
  }

  .menu_card_item p {
    margin-top: 2vw;
    line-height: 1.6em;
  }

  .menu_card_item p.price {
    margin-top: 1.5vw;
    font-weight: 700;
    text-align: right;
  }

  .menu_list_wrapper {
    width: 90%;
    margin: 5vw auto 0;
    border-top: 2px solid #231815;
    border-bottom: 2px solid #231815;
  }

  .menu_list_wrapper ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    gap: 5%;
    margin-top: 3vw;
  }

  .menu_list_wrapper ul:first-of-type {
    margin-top: 4vw;
  }

  .menu_list_wrapper ul:last-of-type {
    margin-bottom: 4vw;
  }

  .menu_list_wrapper li:last-of-type {
    flex-shrink: 0;
    text-align: right;
  }

  .common_inner p.note {
    margin-top: 3vw;
    padding-left: 5%;
    font-size: 0.85rem;
    text-align: left;
  }

  .tr {
    width: 100%;
    margin-top: 4vw;
    padding-bottom: 4vw;
    border-bottom: 2px solid #231815;
  }

  .tr:first-of-type {
    margin-top: 6vw;
  }

  .tr:last-of-type {
    padding-bottom: 0;
    border: none;
  }

  .th {
    margin-left: 5%;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.8em;
  }

  .td {
    margin: 0 5%;
    padding-top: 2.5vw;
    font-size: 1.1rem;
    line-height: 1.8em;
  }

  .two_line {
    padding-top: 1.4vw;
  }

  .td img {
    width: calc((100% - 3%) / 2);
    height: auto;
    margin-right: 3%;
  }

  .td img:last-of-type {
    margin-right: 0;
  }

  .common_media_wrapper {
    margin-top: 10vw;
  }

  .map_wrapper {
    width: 100%;
    margin-top: 5vw;
  }

  .map_wrapper iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
  }

  .parking_img_wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    width: 100%;
  }
}

/* ==================================================
   pc
================================================== */
@media screen and (min-width: 1025px) {
  .monthly_menu_wrapper {
    width: 80%;
    border: 2px solid #231815;
    margin-top: 5vw;
    padding: 5vw 5%;
  }

  .monthly_menu_inner {
    width: 50%;
    margin: 5vw auto 0;
  }

  .monthly_menu_inner img {
    width: 100%;
    height: auto;
  }

  .common_wrapper h3 {
    font-weight: 700;
    line-height: 1.6em;
    margin-top: 1.75vw;
  }

  .common_inner p:first-of-type {
    margin-top: 1.75vw;
  }

  #menu .common_wrapper h3 {
    font-size: 1.6rem;
    margin-top: 5vw;
    padding-left: 5%;
  }

  .menu_card_wrapper {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin: 5vw auto 0;
  }

  .menu_card_item {
    width: calc(calc(100% - 10%) / 2);
    margin: 5vw 10% 0 0;
  }

  .menu_card_item:nth-of-type(-n+2) {
    margin-top: 0;
  }

  .menu_card_item:nth-of-type(2n) {
    margin-right: 0;
  }

  .menu_card_item_img img {
    width: 100%;
    height: auto;
  }

  .menu_card_item p {
    line-height: 1.6em;
    margin-top: 1.4vw;
  }

  .menu_card_item p.price {
    font-weight: 700;
    text-align: right;
    margin-top: 1.4vw;
  }

  .menu_list_wrapper {
    width: 90%;
    border-top: 2px solid #231815;
    border-bottom: 2px solid #231815;
    margin: 5vw auto 0;
  }

  .menu_list_wrapper ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 4.25vw;
  }

  .menu_list_wrapper ul:first-of-type {
    margin-top: 5vw;
  }

  .menu_list_wrapper ul:last-of-type {
    margin-bottom: 5vw;
  }

  .common_inner p.note {
    text-align: left;
    margin-top: 2.5vw;
    padding-left: 5%;
  }

  .tr {
    width: 100%;
    border-bottom: 2px solid #231815;
    margin-top: 2.5vw;
    padding-bottom: 2.5vw;
  }

  .tr:first-of-type {
    margin-top: 5vw;
  }

  .tr:last-of-type {
    border: none;
    padding-bottom: 0;
  }

  .th {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.8em;
    margin-left: 5%;
  }

  .td {
    font-size: 1.2rem;
    line-height: 1.6em;
    margin: 0 5%;
    padding-top: 2.5vw;
  }
  .td a {
    transition: all 0.5s ease-in-out;
  }
  .td a:hover {
    opacity: 0.3;
  }
  .two_line {
    padding-top: 1.4vw;
  }

  .td img {
    width: calc(calc(100% - 2.5%) / 2);
    height: auto;
    margin-right: 2.5%;
  }

  .td img:last-of-type {
    margin-right: 0;
  }

  .common_media_wrapper {
    margin-top: 10vw;
  }

  .map_wrapper {
    width: 100%;
    margin-top: 5vw;
  }

  .map_wrapper iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
  }

  .parking_img_wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
}
