@charset "UTF-8";
/* ===================================================================
CSS information

file name  : restaurant.css
author     : Abilive
style info : レストラン
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
@property --1vw {
  syntax: "<length>";
  inherits: true;
  initial-value: 0px;
}
:root {
    --1vw: 1vw;
    --vw-to-px: tan(atan2(var(--1vw), 1px));
}

/* ===================================================================
CSS information

file name  : restaurant.css
author     : Abilive
style info : レストラン
=================================================================== */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: 0;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list, .slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:after, .slick-track:before {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-slider div {
  outline: none;
}

.slick-dots li button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  vertical-align: top;
  display: block;
  cursor: pointer;
  font-size: 0;
  border-radius: 9999px;
  overflow: hidden;
}
.slick-dots li button::-ms-expand {
  display: none;
}

.l-footer {
  margin-top: 0;
}

.c-pnav1 ul li a {
  height: 100%;
}

.c-dots .slick-dots:has(:only-child) {
  display: none;
}
.c-dots .slick-dots:has(:not(:only-child)) {
  display: flex;
}

.p-restaurant__list__item:first-child, .p-restaurant__list__item .day2 {
  padding-top: 5.2083333333vw;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant__list__item:first-child, .p-restaurant__list__item .day2 {
    padding-top: 8.3333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant__list__item:first-child, .p-restaurant__list__item .day2 {
    padding-top: 5rem;
  }
}
.p-restaurant__list__item + .p-restaurant__list__item {
  padding-top: 6.25vw;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant__list__item + .p-restaurant__list__item {
    padding-top: 10vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant__list__item + .p-restaurant__list__item {
    padding-top: 6.25rem;
  }
}

.p-restaurant-slider {
  margin-top: 2.0833333333vw;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-slider {
    margin-top: 3.3333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-slider {
    margin-top: 1.25rem;
  }
}

.p-restaurant-text {
  width: 89.7435897436%;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text {
    max-width: 1100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text {
    width: 83.3333333333%;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text {
    width: 84.8717948718%;
  }
}
.p-restaurant-text .txt {
  margin-top: 2.125rem;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text .txt {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text .txt {
    margin-top: 0.875rem;
  }
}
.p-restaurant-text__menu {
  padding: 0.625rem;
  background: url(../images/common/bg_pattern_black.webp) repeat top left;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: 3.125rem;
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-text__menu {
    font-size: 0.9375rem;
  }
}
@media print {
  .p-restaurant-text__menu {
    font-size: 0.9375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu {
    margin-top: 1.875rem;
  }
}
.p-restaurant-text__menu .container {
  position: relative;
  border: 1px solid #fff;
}
.p-restaurant-text__menu .container:before, .p-restaurant-text__menu .container:after {
  content: "";
  display: block;
  position: absolute;
  width: 0.625rem;
  aspect-ratio: 1;
  background: #fff;
}
.p-restaurant-text__menu .container:before {
  left: 0;
  top: -1px;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.p-restaurant-text__menu .container:after {
  right: 0;
  bottom: -1px;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text__menu .container {
    display: grid;
    grid-template-columns: 1.8125rem auto;
    align-items: flex-start;
    column-gap: 4.6875vw;
    padding: 2.0833333333vw 3.6458333333vw 2.0833333333vw 4.7395833333vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .container {
    padding: 3.3333333333vw 5.8333333333vw 3.3333333333vw 7.5833333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .container {
    padding-inline: 0.9375rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text__menu .st {
    padding-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .st {
    width: 100%;
    padding-top: 1.875rem;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .st.accordion {
    position: relative;
    padding-bottom: 1.875rem;
  }
  .p-restaurant-text__menu .st.accordion:before, .p-restaurant-text__menu .st.accordion:after {
    content: "";
    display: block;
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.2em;
    height: 1px;
    background: currentColor;
  }
  .p-restaurant-text__menu .st.accordion:after {
    transform: translateY(-50%) rotate(-90deg);
    transition: transform 400ms, opacity 400ms;
  }
  .p-restaurant-text__menu .st.accordion.active:after {
    transform: translateY(-50%) rotate(0deg);
    opacity: 0;
  }
  .p-restaurant-text__menu .st.accordion.active + .content {
    opacity: 1;
  }
  .p-restaurant-text__menu .st.accordion + .content {
    display: none;
    opacity: 0;
    transition: opacity 400ms ease;
    margin-top: -1.25rem;
  }
}
.p-restaurant-text__menu .st .en {
  display: inline-block;
  text-transform: capitalize;
  line-height: 1;
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-text__menu .st .en {
    font-size: 1.125rem;
  }
}
@media print {
  .p-restaurant-text__menu .st .en {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .st .en {
    font-size: 1.0625rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .st .en {
    font-size: 1.1428571429rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text__menu .st .en {
    writing-mode: vertical-rl;
  }
}
.p-restaurant-text__menu .st .en:after {
  content: "";
  display: block;
  border-style: solid;
  border-color: #fff;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text__menu .st .en:after {
    width: 1px;
    height: 100%;
    border-width: 0 0 0 1px;
    margin-right: 0.4em;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .st .en:after {
    width: 100%;
    height: 1px;
    border-width: 0 0 1px 0;
    margin-top: 0.4em;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .content {
    margin-top: 1.25rem;
    padding-bottom: 1.875rem;
  }
}
.p-restaurant-text__menu .content .list li {
  position: relative;
  padding-left: 0.875rem;
}
.p-restaurant-text__menu .content .list li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.75rem;
  width: 4px;
  aspect-ratio: 1;
  border-radius: 100%;
  background: currentColor;
}
.p-restaurant-text__menu .content .lnk {
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .content .lnk {
    margin-top: 0.875rem;
    margin-inline: auto;
  }
}
.p-restaurant-text__menu .menu-table {
  width: 100%;
}
.p-restaurant-text__menu .menu-table tr th, .p-restaurant-text__menu .menu-table tr td {
  vertical-align: top;
  border-bottom: 1px solid #464646;
  padding-block: 1.1875rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.p-restaurant-text__menu .menu-table tr th {
  width: 10.625rem;
  padding-inline: 1.0416666667vw 1.5625vw;
  font-family: "Crimson Text", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  font-style: normal;
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-text__menu .menu-table tr th {
    font-size: 1.125rem;
  }
}
@media print {
  .p-restaurant-text__menu .menu-table tr th {
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .menu-table tr th {
    font-size: 1.0625rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .menu-table tr th {
    font-size: 1.1428571429rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .menu-table tr th {
    padding-inline: 1.6666666667vw 2.5vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .menu-table tr th {
    width: 30.7692307692vw;
    padding-inline: 2.5641025641vw 5.1282051282vw;
  }
}
.p-restaurant-text__menu .menu-table tr td {
  padding-right: 1.0416666667vw;
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-text__menu .menu-table tr td {
    font-size: 0.9375rem;
  }
}
@media print {
  .p-restaurant-text__menu .menu-table tr td {
    font-size: 0.9375rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .menu-table tr td {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .menu-table tr td {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text__menu .menu-table tr td {
    padding-right: 1.6666666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text__menu .menu-table tr td {
    padding-right: 2.5641025641vw;
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text .c-information {
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text .c-information {
    margin-top: 1.875rem;
  }
}
.p-restaurant-text .note-wrapper {
  margin-top: 0.625rem;
}
.p-restaurant-text .note-wrapper .note {
  padding-left: 1em;
  text-indent: -1em;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-text .note-wrapper .note {
    font-size: 0.875rem;
  }
}
@media print {
  .p-restaurant-text .note-wrapper .note {
    font-size: 0.875rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-text .note-wrapper .note {
    font-size: 0.8125rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-text .note-wrapper .note {
    font-size: 0.9285714286rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-text .note-wrapper .note {
    text-align: right;
  }
}

.p-restaurant-sub {
  background: #F5F5F5;
}
.p-restaurant-sub__inner {
  width: 89.7435897436%;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner {
    display: grid;
    grid-template-columns: 47.619047619% auto;
    max-width: 1260px;
    margin-top: 3.6458333333vw;
    padding-block: 3.125vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-restaurant-sub__inner {
    width: 83.3333333333%;
    margin-top: 5.8333333333vw;
    padding-block: 5vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-sub__inner {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    width: 84.8717948718%;
    margin-top: 2.5rem;
    padding-block: 1.875rem;
  }
}
.p-restaurant-sub__inner .text-wrapper {
  order: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner .text-wrapper {
    max-width: 18.75rem;
    margin-inline: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-sub__inner .text-wrapper {
    row-gap: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-restaurant-sub__inner .text-wrapper .button-wrapper .lnk + .lnk {
    margin-top: 0.625rem;
  }
}
.p-restaurant-sub__inner .image {
  order: 1;
  aspect-ratio: 600/400;
}
.p-restaurant-sub__inner .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-restaurant-sub__inner.u-reverse {
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner.u-reverse {
    grid-template-columns: auto 47.619047619%;
  }
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner.u-reverse .text-wrapper {
    order: 1;
  }
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-sub__inner.u-reverse .text-wrapper {
    max-width: 31.875rem;
    padding-right: 5.2083333333vw;
    margin-inline: auto 0;
  }
}
@media print {
  .p-restaurant-sub__inner.u-reverse .text-wrapper {
    max-width: 31.875rem;
    padding-right: 5.2083333333vw;
    margin-inline: auto 0;
  }
}
.p-restaurant-sub__inner.u-reverse .text-wrapper .c-tbl1 tr th {
  width: 6.875rem;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner.u-reverse .image {
    order: 2;
  }
}
.p-restaurant-sub__inner.private {
  padding-top: 0;
}
.p-restaurant-sub__inner.u-small {
  padding-block: 0;
}
@media only screen and (min-width: 768px) {
  .p-restaurant-sub__inner.u-small {
    grid-template-columns: 49.0909090909% auto;
    max-width: 1100px;
  }
}
@media only screen and (min-width: 1200px) {
  .p-restaurant-sub__inner.u-small .text-wrapper {
    max-width: 22.5rem;
  }
}
@media print {
  .p-restaurant-sub__inner.u-small .text-wrapper {
    max-width: 22.5rem;
  }
}
.p-restaurant-sub.u-white {
  background: transparent;
}

.p-allergy {
  margin-top: 5.2083333333vw;
  padding-block: 5.2083333333vw;
  background: #F5F5F5;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy {
    margin-top: 8.3333333333vw;
    padding-block: 8.3333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy {
    margin-top: 5rem;
    padding-block: 5rem;
  }
}
.p-allergy__content {
  width: 89.7435897436%;
  margin-inline: auto;
}
@media only screen and (min-width: 768px) {
  .p-allergy__content {
    display: grid;
    grid-template-columns: auto 49.0909090909%;
    column-gap: 4.1666666667vw;
    max-width: 1100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy__content {
    column-gap: 6.6666666667vw;
    width: 83.3333333333%;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__content {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    width: 84.8717948718%;
  }
}
.p-allergy__content .text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .p-allergy__content .text-wrapper {
    row-gap: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__content .text-wrapper .c-st3 {
    margin-bottom: 1.875rem;
    margin-inline: auto;
    text-align: center;
  }
  .p-allergy__content .text-wrapper .c-st3:before {
    left: 0;
    right: 0;
    margin-inline: auto;
  }
  .p-allergy__content .text-wrapper .c-st3:after {
    left: 0;
    right: 0;
    margin-inline: auto;
    translate: 1.21875rem 0;
  }
}
.p-allergy__content .image {
  aspect-ratio: 540/360;
}
.p-allergy__content .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-allergy__table {
  width: 89.7435897436%;
  margin-inline: auto;
}
.p-allergy__table {
  margin-top: 3.125vw;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy__table {
    margin-top: 5vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__table {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-allergy__table {
    max-width: 1100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy__table {
    width: 83.3333333333%;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__table {
    width: 84.8717948718%;
  }
}
.p-allergy__table .c-tbl2 {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-allergy__table .c-tbl2 tr th, .p-allergy__table .c-tbl2 tr td {
    width: 100%;
    display: block;
  }
}
@media only screen and (min-width: 1200px) {
  .p-allergy__table .c-tbl2 tr th {
    width: 10.4166666667vw;
  }
}
@media print {
  .p-allergy__table .c-tbl2 tr th {
    width: 10.4166666667vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy__table .c-tbl2 tr th {
    width: 16.6666666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__table .c-tbl2 tr th {
    border-bottom: none;
    background: rgba(255, 255, 255, 0.6);
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__table .c-tbl2 tr td {
    border-color: #212121;
  }
}
.p-allergy__table .c-tbl2 tr td > div {
  border-left: none;
}
.p-allergy__table .c-tbl2 tr td .lnk {
  margin-bottom: 0.5em;
}
.p-allergy__table .btn {
  margin-inline: auto;
}
.p-allergy__table .btn {
  margin-top: 3.125vw;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .p-allergy__table .btn {
    margin-top: 5vw;
  }
}
@media only screen and (max-width: 767px) {
  .p-allergy__table .btn {
    margin-top: 2.5rem;
  }
}/*# sourceMappingURL=restaurant.css.map */