.l-loading {
  display: grid;
  place-items: center;
  z-index: 9999;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #0d1018;
  overflow: hidden;
  isolation: isolate;
  opacity: 1;
}

.l-loading_logo {
  display: block;
  width: clamp(12rem, 30vw, 20rem);
}

.l-loading::after {
  z-index: 0;
  position: absolute;
  inset: -12%;
  content: "";
  background:
    radial-gradient(circle at 18% 24%, rgba(255, 255, 255, .48) 0, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 78% 18%, rgba(255, 219, 143, .42) 0, rgba(255, 219, 143, 0) 22%),
    radial-gradient(circle at 48% 66%, rgba(255, 255, 255, .24) 0, rgba(255, 255, 255, 0) 30%);
  opacity: .75;
  pointer-events: none;
  -webkit-filter: blur(2.4rem);
          filter: blur(2.4rem);
  mix-blend-mode: screen;
  -webkit-animation: l-loading-glow 7s ease-in-out infinite alternate;
          animation: l-loading-glow 7s ease-in-out infinite alternate;
}

.l-loading_stars {
  z-index: 1;
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.l-loading_star {
  position: absolute;
  display: block;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  border-radius: 999px;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, .94) 30%, rgba(255, 255, 255, .2) 62%, rgba(255, 255, 255, 0) 100%);
  box-shadow: 0 0 .55rem rgba(255, 255, 255, .82), 0 0 1.6rem rgba(255, 219, 143, .55);
  opacity: .22;
  -webkit-animation: l-loading-twinkle var(--dur) ease-in-out infinite;
          animation: l-loading-twinkle var(--dur) ease-in-out infinite;
  -webkit-animation-delay: var(--delay);
          animation-delay: var(--delay);
}

.l-loading_star::before,
.l-loading_star::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  pointer-events: none;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .92), rgba(255, 255, 255, 0));
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.l-loading_star::before {
  width: 260%;
  height: 1px;
}

.l-loading_star::after {
  width: 1px;
  height: 260%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .92), rgba(255, 255, 255, 0));
}

.l-loading::before {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  content: "Vo Roof";
  color: var(--color-base);
  font-family: "Jost","Noto Sans JP",sans-serif;
  font-size: clamp(4.8rem, 10vw, 9.6rem);
  line-height: 1;
  letter-spacing: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-animation: l-loading-fadein 1.5s ease-in 0.2s forwards;
          animation: l-loading-fadein 1.5s ease-in 0.2s forwards;
}

@-webkit-keyframes l-loading-fadein {
  to { opacity: 1; }
}

@keyframes l-loading-fadein {
  to { opacity: 1; }
}

@-webkit-keyframes l-loading-glow {
  0% {
    opacity: .45;
    -webkit-transform: scale(.98);
            transform: scale(.98);
  }
  100% {
    opacity: .9;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@keyframes l-loading-glow {
  0% {
    opacity: .45;
    -webkit-transform: scale(.98);
            transform: scale(.98);
  }
  100% {
    opacity: .9;
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@-webkit-keyframes l-loading-twinkle {
  0%, 100% {
    opacity: .15;
    -webkit-transform: scale(.55);
            transform: scale(.55);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
}

@keyframes l-loading-twinkle {
  0%, 100% {
    opacity: .15;
    -webkit-transform: scale(.55);
            transform: scale(.55);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  .l-loading::before,
  .l-loading::after,
  .l-loading_star {
    -webkit-animation: none;
            animation: none;
  }

  .l-loading::before {
    opacity: 1;
  }

  .l-loading::after {
    opacity: .5;
  }

  .l-loading_star {
    opacity: .65;
    -webkit-transform: none;
            transform: none;
  }

  .l-headerinvert_bg_video {
    display: none;
  }

  .l-headerinvert_bg_overlay {
    opacity: .35;
  }
}

.l-loading_logo_mask>rect:last-child {
  x: -100%;
}

.l-kv {
  position: relative;
  width: 100%;
  height: 100svh;
}

.l-kv_title {
  z-index: 3;
  position: absolute;
  bottom: 11rem;
  left: 50%;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  padding-inline: 8rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  mix-blend-mode: difference;
}

.l-kv_title_strs,
.p-footer_logo_strs,
.p-header_logo_img {
  display: none;
}

.l-kv_title::before {
  display: block;
  content: "Vo Roof";
  color: var(--color-base);
  font-family: "Jost","Noto Sans JP",sans-serif;
  font-size: clamp(7.2rem, 13vw, 17rem);
  line-height: .9;
  letter-spacing: 0;
}

.p-header_logo::before {
  content: "Vo Roof";
  color: var(--color-base);
  font-family: "Jost","Noto Sans JP",sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.p-header.is-inverted .p-header_logo::before {
  color: var(--color-base);
}

.p-footer_logo::before {
  z-index: 3;
  position: relative;
  content: "Vo Roof";
  display: block;
  color: var(--color-base);
  font-family: "Jost","Noto Sans JP",sans-serif;
  font-size: clamp(7.2rem, 13vw, 17rem);
  line-height: .9;
  letter-spacing: 0;
  mix-blend-mode: difference;
}

.l-kv_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 3;
  position: absolute;
  bottom: 3.2rem;
  left: 50%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding-inline: 8rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Jost","Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: 0;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  -webkit-text-size-adjust: initial;
  color: var(--color-base);
  font-size: 1.4rem;
  letter-spacing: .05em;
}

.l-concept {
  position: relative;
  z-index: 1;
  padding-top: 30rem;
  color: var(--color-base);
}

.l-concept_inner {
  position: relative;
  padding-bottom: 141.8rem;
}

.l-concept_text {
  width: 48rem;
}

.l-concept_text_heading {
  margin-bottom: 7.6rem;
}

.l-concept_text_copy {
  margin-bottom: 5.3rem;
  font-family: "Jost","Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: 0;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  -webkit-text-size-adjust: initial;
  line-height: 1.2;
}

.l-concept_text_message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  line-height: 3;
}

.l-concept_img-01,.l-concept_img-02 {
  position: absolute;
}

.l-concept_img-01 {
  right: 0;
  bottom: 83.4rem;
  width: 64rem;
  height: 84.8rem;
}

.l-concept_img-02 {
  bottom: 30rem;
  left: 0;
  width: 40rem;
  height: 53.4rem;
}

.l-menu {
  padding-top: 14rem;
  padding-bottom: 14.5rem;
  font-family: "Jost","Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: 0;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  -webkit-text-size-adjust: initial;
  background-color: var(--color-main-light);
  color: var(--color-base);
}

.l-menu_heading {
  margin-bottom: 4rem;
}

.l-menu_cta {
  display: flex;
  justify-content: center;
  margin-bottom: 6rem;
}

.l-menu_cta_link {
  display: inline-flex;
}

.l-menu_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 8rem;
}

.l-menu_list_item {
  display: grid;
}

.l-menu_list_item_link {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  place-items: center;
  padding-top: 12rem;
  padding-bottom: 6.4rem;
  gap: 27.6rem;
  background: center/cover no-repeat;
  text-align: center;
}

.l-menu_list_item_link_text {
  height: 14.4rem;
}

.l-menu_list_item_link_text_heading {
  display: block;
  font-size: 6.4rem;
  text-transform: capitalize;
}

.l-menu_list_item_link_label_text {
  padding-inline: 1rem;
  font-size: 1.8rem;
}

.l-menu_list_item_link_label_line {
  bottom: -0.4rem;
}

.l-menu_list_item_link_label.is-underline {
  padding-right: 0;
}

.l-menu_allergen {
  text-align: right;
}

.l-menu_allergen_link {
  margin-right: 0;
  margin-left: auto;
  font-size: 1.2rem;
}

.l-party {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-top: 24rem;
  padding-bottom: 138.1rem;
  background-color: transparent;
}

#js-headerinvertContainer {
  position: relative;
  width: 100%;
  isolation: isolate;
  background-color: #050816;
}

#js-headerinvertContainer > .l-party,
#js-headerinvertContainer > .l-scene {
  position: relative;
  z-index: 1;
}

.l-headerinvert_bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.l-headerinvert_bg_video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  -webkit-transform: none;
          transform: none;
}

.l-headerinvert_bg_overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 8, 22, .22) 0%, rgba(5, 8, 22, .36) 54%, rgba(5, 8, 22, .22) 100%),
    radial-gradient(circle at 50% 8%, rgba(255, 217, 152, .14) 0%, rgba(255, 217, 152, 0) 46%);
}

.l-party_text {
  display: grid;
  grid-template-rows: auto;
  grid-template-areas: "heading message" "heading link";
  grid-auto-columns: repeat(2, 1fr);
  gap: 5rem 17rem;
}

#js-headerinvertContainer .l-party_text,
#js-headerinvertContainer .l-party_text_message,
#js-headerinvertContainer .l-party_text_link_lead,
#js-headerinvertContainer .l-party_text_link_button_text {
  color: rgba(255, 255, 255, .94);
  text-shadow: 0 0 1.2rem rgba(5, 8, 22, .42);
}

#js-headerinvertContainer .l-party_heading {
  color: var(--color-base);
  text-shadow: 0 0 1.6rem rgba(5, 8, 22, .48);
}

#js-headerinvertContainer .l-party_text_link_button {
  box-shadow: 0 .8rem 1.6rem rgba(5, 8, 22, .18);
}

.l-party_text_heading {
  grid-area: heading;
}

.l-party_text_message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: message;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  line-height: 2.5;
}

.l-party_text_link {
  grid-area: link;
}

.l-party_text_link_lead {
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 2.5;
  letter-spacing: .01em;
}

.l-party_text_link_button {
  width: 17rem;
  height: 4.8rem;
}

.l-party_img-01,.l-party_img-02,.l-party_img-03 {
  position: absolute;
  z-index: 1;
}

.l-party_img-01 {
  bottom: 56.2rem;
  left: 8rem;
  width: 55.4rem;
  height: 73.9rem;
}

.l-party_img-02 {
  right: 8rem;
  bottom: 90.7rem;
  width: 32rem;
  height: 21.4rem;
}

.l-party_img-03 {
  bottom: 24rem;
  left: 72rem;
  width: 76rem;
  height: 50.66rem;
}

.l-scene {
  overflow: hidden;
}

.l-scene_item {
  height: 200lvh;
  pointer-events: none;
}

.l-scene_item_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100lvh;
  padding: 3.2rem 8rem;
  font-family: "Jost","Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: 0;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  -webkit-text-size-adjust: initial;
  background: cover/center no-repeat;
  color: var(--color-base);
  will-change: transform;
}

.l-scene_item_text,.l-scene_item_scroll {
  z-index: 1;
  position: relative;
}

.l-scene_item_text>* {
  display: block;
}

.l-scene_item_text_heading {
  margin-bottom: 1rem;
}

.l-scene_item_text_hours {
  font-size: 1.2rem;
  letter-spacing: .05em;
}

.l-scene_item_scroll {
  letter-spacing: .05em;
}

.l-scene_item_bg {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  background: center/cover no-repeat;
}

.l-scene_item:first-child .l-scene_item_bg {
  background-image: url("../../assets/imported/headerinvert-scene-01.webp");
  background-position: center center;
}

.l-scene_item:nth-child(2) .l-scene_item_bg {
  background-image: url("../../assets/imported/vo-roof-food-02.webp");
}

.l-scene_item:nth-child(3) .l-scene_item_bg {
  background-image: url("../../assets/imported/headerinvert-scene-03.webp");
  background-position: center center;
}

.l-scene_item:nth-child(3),.l-scene_item:last-child {
  height: 100vh;
}

.l-news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 24rem;
}

#news {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

#js-headerinvertContainer .l-news {
  color: rgba(255, 255, 255, .94);
}

#js-headerinvertContainer .l-news_heading {
  color: var(--color-base);
  text-shadow: 0 0 1.6rem rgba(5, 8, 22, .42);
}

#js-headerinvertContainer .l-news_articles {
  border-top-color: rgba(255, 255, 255, .24);
}

#js-headerinvertContainer .l-news_articles_item {
  border-bottom-color: rgba(255, 255, 255, .18);
}

#js-headerinvertContainer .l-news_articles_item_link_date,
#js-headerinvertContainer .l-news_articles_item_link_text {
  color: rgba(255, 255, 255, .94);
  text-shadow: 0 0 1rem rgba(5, 8, 22, .38);
}

.l-news_heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: 32rem;
      flex-basis: 32rem;
}

.l-news_articles {
  -webkit-box-flex: 99;
      -ms-flex-positive: 99;
          flex-grow: 99;
  border-top: 1px solid var(--color-font-bk);
}

.l-news_articles_item {
  border-bottom: 1px solid var(--color-font-bk);
}

.l-news_articles_item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-block: 3.2rem;
}

.l-news_articles_item_link_date,.l-news_articles_item_link_text {
  font-size: 1.4rem;
  line-height: 2;
  -webkit-transition: -webkit-transform var(--transition-button);
  transition: -webkit-transform var(--transition-button);
  transition: transform var(--transition-button);
  transition: transform var(--transition-button), -webkit-transform var(--transition-button);
}

.l-news_articles_item_link_date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16rem;
  font-family: YakuHanJP,"Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: .1em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
}

.l-news_articles_item_link_text {
  -webkit-box-flex: 99;
      -ms-flex-positive: 99;
          flex-grow: 99;
  padding-right: 4rem;
}

.l-news_articles_item_link_button {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 18.4rem;
  height: 3.4rem;
  margin-block: auto;
  font-size: 1.2rem;
}

.l-access {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 24rem;
  padding-top: 24rem;
}

#access {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

#js-headerinvertContainer .l-access {
  color: rgba(255, 255, 255, .94);
}

#js-headerinvertContainer .l-access_text_heading {
  color: var(--color-base);
  text-shadow: 0 0 1.6rem rgba(5, 8, 22, .42);
}

#js-headerinvertContainer .l-access_text_detail {
  color: rgba(255, 255, 255, .94);
  text-shadow: 0 0 1rem rgba(5, 8, 22, .38);
}

#js-headerinvertContainer .l-access_text_detail a {
  color: inherit;
}

#js-headerinvertContainer .l-access_map_link {
  color: var(--color-base);
}

#js-headerinvertContainer .l-access_map .c-button_line_base {
  fill: var(--color-base);
}

#js-headerinvertContainer .l-contact {
  position: relative;
  z-index: 2;
  isolation: isolate;
  color: rgba(255, 255, 255, .94);
}

#js-headerinvertContainer .l-contact_list_item_link_label_text {
  color: var(--color-base);
  text-shadow: 0 0 1rem rgba(5, 8, 22, .38);
}

#js-headerinvertContainer .l-contact_list_item_link_label_line_base {
  fill: var(--color-base);
}

#js-headerinvertContainer .l-contact_link_button_text {
  color: rgba(255, 255, 255, .94);
  text-shadow: 0 0 1rem rgba(5, 8, 22, .38);
}

.l-access>* {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.l-access_text_heading {
  margin-bottom: 8rem;
}

.l-access_text_detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2em;
  line-height: 2;
}

.l-access_map_img {
  margin-bottom: 2rem;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: #0b1020;
}

.l-access_map_img iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.l-access_map .c-button {
  margin-right: 0;
  margin-left: auto;
  padding: 1.5rem;
  font-size: 1.8rem;
}

.l-access_map .c-button_line_base {
  fill: var(--color-font-bk);
}

.l-mycantina_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 8rem;
  overflow: hidden;
  border-radius: 1rem;
  background-color: var(--color-main-light);
  color: var(--color-base);
}

.l-mycantina_content>* {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.l-mycantina_content_heading {
  z-index: 1;
  position: relative;
  font-family: "Jost","Noto Sans JP",游ゴシック, Yu Gothic, YuGothic, メイリオ, Hiragino Kaku Gothic Pro, ヒラギノ角ゴ Pro W3, Lucida Grande, Osaka, Verdana, ＭＳ Ｐゴシック, sans-serif;
  letter-spacing: 0;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  -webkit-text-size-adjust: initial;
  font-size: 4.8rem;
  line-height: 1.2;
}

.l-mycantina_content_text {
  z-index: 1;
  position: relative;
}

.l-mycantina_content_text_description {
  margin-bottom: 4rem;
  line-height: 2;
}

.l-mycantina_content_text_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}

.l-mycantina_content_text_links_button.is-round {
  height: 6rem;
  padding: 2rem;
  font-size: 1.4rem;
}

.l-mycantina_content_text_links_button.is-round::before {
  border: 1px solid var(--color-base);
  background-color: rgba(0,0,0,0);
}

.l-mycantina_content_text_links_button.is-round:first-child {
  width: 24rem;
  margin-right: 3rem;
  padding-top: 1.8rem;
  color: var(--color-main-light);
  font-size: 1.8rem;
}

.l-mycantina_content_text_links_button.is-round:first-child::before {
  background-color: var(--color-base);
}

.l-mycantina_content::before {
  display: block;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: center/cover url("../../assets/imported/vo-roof-interior.webp");
  content: "";
  opacity: 0;
  -webkit-transition: visibility var(--transition-default),opacity var(--transition-default);
  transition: visibility var(--transition-default),opacity var(--transition-default);
}

.l-contact {
  padding-top: 12rem;
  padding-bottom: 24rem;
}

.l-contact_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8rem;
  gap: 8rem;
}

.l-contact_list_item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 12rem;
}

.l-contact_list_item_link {
  display: grid;
  place-items: center;
  aspect-ratio: 600/524;
  width: 100%;
  height: auto;
}

.l-contact_list_item_link_label {
  position: relative;
  isolation: isolate;
  margin-top: -1.4rem;
  padding-bottom: .5rem;
  font-size: 5.4rem;
}

.l-contact_list_item_link_label::before {
  display: block;
  z-index: -1;
  position: absolute;
  inset: -.2rem -.9rem;
  border-radius: 999rem;
  background: rgba(5, 8, 22, .32);
  -webkit-backdrop-filter: blur(.8rem) saturate(140%);
  backdrop-filter: blur(.8rem) saturate(140%);
  content: "";
}

#takeout .l-contact_list_item_link_label::before,
#reservation .l-contact_list_item_link_label::before {
  inset: .8rem -.9rem;
}

.l-contact_list_item_link_label_text {
  position: relative;
  z-index: 1;
  height: 1.2em;
  color: var(--color-base);
  text-shadow: 0 0 1rem rgba(5, 8, 22, .55), 0 .1rem .2rem rgba(5, 8, 22, .55);
}

.l-contact_list_item_link_label_text>span {
  gap: 0;
}

.l-contact_list_item_link_label_line {
  bottom: -0.2rem;
}

.l-contact_list_item_link_label.is-underline {
  padding: 1.5rem .5rem;
}

.l-contact_link {
  text-align: right;
}

.l-contact_link_button {
  margin-right: 0;
  margin-left: auto;
  font-size: 1.2rem;
}

.l-modal {
  z-index: 9998;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  overflow-y: auto;
  background-color: rgba(0,0,0,.4);
  -webkit-transition: visibility var(--transition-nav),opacity var(--transition-nav);
  transition: visibility var(--transition-nav),opacity var(--transition-nav);
}

.l-modal_inner {
  position: relative;
  width: 90rem;
  margin-inline: auto;
  margin-block: 19.7rem;
}

.l-modal_button {
  position: absolute;
  top: 2rem;
  right: 2rem;
}

.l-modal_button.is-round {
  width: 7.1rem;
  height: 3.2rem;
  color: var(--color-main-light);
  font-size: 1.2rem;
}

.l-modal_button.is-round::before {
  background-color: var(--color-base);
}

.l-modal_iframe {
  width: 100%;
  height: 215.5rem;
  background-color: var(--color-main-light);
}

.l-modal[inert] {
  visibility: hidden;
  opacity: 0;
}

@media screen and (max-width: 48em) {
  .l-loading_logo {
    width: 14rem;
  }
  .l-headerinvert_bg {
    height: 100lvh;
  }
  .l-kv_logo {
    width: 11.2rem;
  }
  .l-kv_title {
    bottom: 6.6rem;
    padding-inline: 2rem;
  }
  .l-kv_text {
    bottom: 2rem;
    padding-inline: 2rem;
    font-size: 1.2rem;
  }
  .l-concept {
    padding-top: 20rem;
    padding-bottom: 20rem;
  }
  .l-concept_inner {
    padding-bottom: initial;
  }
  .l-concept_text {
    width: initial;
    margin-bottom: 12rem;
  }
  .l-concept_text_heading {
    margin-bottom: 6rem;
  }
  .l-concept_text_copy {
    margin-bottom: 4rem;
    font-size: 4.8rem;
  }
  .l-concept_text_message {
    gap: 4.8rem;
  }
  .l-concept_img-01,.l-concept_img-02 {
    position: relative;
    right: initial;
    bottom: initial;
    left: initial;
  }
  .l-concept_img-01 {
    width: 32rem;
    height: 42.4rem;
    margin-right: -2rem;
    margin-bottom: 12.4rem;
    margin-left: auto;
  }
  .l-concept_img-02 {
    width: 20rem;
    height: 26.7rem;
    margin-right: auto;
    margin-left: -2rem;
  }
  .l-menu {
    padding-block: 10rem;
  }
  .l-menu_heading {
    margin-bottom: 4rem;
  }
  .l-menu_list {
    grid-template-rows: repeat(3, auto);
    grid-template-columns: initial;
    margin-bottom: 4rem;
    padding-inline: 2rem;
    gap: 5rem;
  }
  .l-menu_list_item_link {
    padding-top: 8rem;
    padding-bottom: 5rem;
    gap: 18.4rem;
  }
  .l-menu_list_item_link_text {
    display: block;
    height: 10.7rem;
  }
  .l-menu_list_item_link_text_heading {
    font-size: 4rem;
  }
  .l-party {
    padding-top: 12rem;
    padding-bottom: 74.95rem;
  }
  .l-party_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
  .l-party_img-01 {
    bottom: 39.187rem;
    left: 0;
    width: 20.775rem;
    height: 27.713rem;
  }
  .l-party_img-02 {
    right: 2rem;
    bottom: 35.181rem;
    width: 12rem;
    height: 8.025rem;
  }
  .l-party_img-03 {
    bottom: 11.87rem;
    left: 50%;
    transform: translateX(-50%);
    width: 28.5rem;
    height: 19rem;
  }
  .l-scene_item_inner {
    padding: 1.4rem 2rem 2rem;
  }
  .l-scene_item_text_scroll {
    font-size: 1.2rem;
  }
  .l-scene_item:nth-child(3) .l-scene_item_bg {
    background-position: center center;
  }
  .l-news {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 12rem;
  }
  .l-news_heading {
    margin-bottom: 4rem;
  }
  .l-news_articles_item_link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-block: 1.6rem;
    gap: initial;
  }
  .l-news_articles_item_link_date,.l-news_articles_item_link_text {
    font-size: 1.3rem;
    line-height: 2;
  }
  .l-news_articles_item_link_date {
    margin-bottom: 1rem;
  }
  .l-news_articles_item_link_text {
    padding-right: initial;
  }
  .l-news_articles_item_link_text:has(+*) {
    margin-bottom: 2rem;
  }
  .l-news_articles_item_link_button {
    margin-block: 2rem 0;
    margin-right: 0;
    margin-left: auto;
  }
  .l-access {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 12rem;
    padding-top: 12rem;
    gap: 6rem;
  }
  .l-access_text_heading {
    margin-bottom: 4rem;
  }
  .l-mycantina_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 8rem 2.5rem;
    gap: 4rem;
  }
  .l-mycantina_content_heading {
    font-size: 2.8rem;
    text-align: center;
  }
  .l-mycantina_content_text_links {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l-mycantina_content_text_links_button.is-round:first-child {
    margin-right: initial;
    margin-bottom: 2.2rem;
  }
  .l-contact {
    padding-top: initial;
    padding-bottom: 12rem;
  }
  .l-contact_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 4rem;
    gap: initial;
  }
  .l-contact_list_item {
    padding-top: 8rem;
  }
  .l-contact_list_item_link_label {
    font-size: 3.6rem;
  }
  .l-contact_link_button {
    width: 100%;
  }
  .l-contact_link_button_text {
    width: 100%;
    text-align: right;
    white-space: normal;
    word-break: break-word;
  }
  .l-modal_inner {
    width: calc(100% - 4rem);
    margin-block: 13.6rem;
  }
  .l-modal_button {
    top: 1rem;
    right: 1rem;
  }
  .l-modal_iframe {
    height: 314rem;
  }
}

@media (hover: hover) {
  .l-news_articles_item a.l-news_articles_item_link:hover .l-news_articles_item_link_date,.l-news_articles_item a.l-news_articles_item_link:hover .l-news_articles_item_link_text {
    -webkit-transform: translateX(4rem);
            transform: translateX(4rem);
  }
  .l-news_articles_item a.l-news_articles_item_link:hover .l-news_articles_item_link_button_text>*>* {
    -webkit-transform: translateY(-1.5em);
            transform: translateY(-1.5em);
  }
  .l-news_articles_item a.l-news_articles_item_link:hover .l-news_articles_item_link_button::before {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  .l-mycantina_content:hover::before {
    visibility: visible;
    opacity: 1;
  }
}

@media screen and (max-width: 76.8125em)and (min-width: 48.0001em) {
  .l-modal_iframe {
    height: 843rem;
  }
}

@media screen and (hover: hover)and (max-width: 48em) {
  .l-modal_iframe {
    height: 307rem;
  }
}
