@charset "UTF-8";
/*************************************
SIZE
*************************************/
/*************************************
COLORS
*************************************/
/*************************************
MIXINS
*************************************/
.scpop {
  transform: scale3d(0, 0, 0);
  transform-origin: center center;
  will-change: animation;
}

.scpop.ac {
  animation: bounce 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/*------------------------------------
animation
	*/
@keyframes hueRotate {
  0% {
    filter: hue-rotate(0deg);
  }
  100% {
    filter: hue-rotate(359deg);
  }
}
@keyframes photoCoverAnim {
  0% {
    filter: grayscale(95%);
  }
  100% {
    filter: grayscale(0%);
  }
}
@keyframes bounce {
  0% {
    transform: scale3d(0, 0, 0);
  }
  40% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  60% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  80% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes scroller {
  0% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(4.7584187408vw);
    opacity: 1;
  }
  100% {
    transform: translateY(4.7584187408vw);
    opacity: 0;
  }
}
@keyframes scrollerSp {
  0% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(16.6666666667vw);
    opacity: 1;
  }
  100% {
    transform: translateY(16.6666666667vw);
    opacity: 0;
  }
}
.sc.fadeIn {
  opacity: 0;
  transition: all 1s;
}

.sc.fadeIn.ac {
  opacity: 1;
}

.sc.fadeInDelay .fInObj {
  opacity: 0;
  transition: all 1s;
}
.sc.fadeInDelay .fInObj.d1 {
  transition-delay: 0.3s;
}
.sc.fadeInDelay .fInObj.d2 {
  transition-delay: 0.6s;
}
.sc.fadeInDelay .fInObj.d3 {
  transition-delay: 0.9s;
}
.sc.fadeInDelay .fInObj.d4 {
  transition-delay: 1.2s;
}
.sc.fadeInDelay .fInObj.blur {
  filter: blur(1.4641288433vw);
}

.sc.fadeInDelay.ac .fInObj {
  opacity: 1;
}
.sc.fadeInDelay.ac .fInObj.blur {
  filter: blur(0);
}

.sc.delay1 {
  transition-delay: 0.4s !important;
}

.sc.blurIn {
  opacity: 0;
  filter: blur(1.4641288433vw);
  transition: all 1s;
}

.sc.blurIn.ac {
  opacity: 1;
  filter: blur(0px);
}

.sc.fadeInUp {
  opacity: 0;
  transform: translateY(0.7320644217vw);
  transition: all 0.6s;
}

.sc.fadeInUp.ac {
  opacity: 1;
  transform: translateY(0);
}

/* 店舗フッタ */
#bottomContent .shop.sc .contentTitle, #bottomContent .shop.sc .bg, #bottomContent .shop.sc .read, #bottomContent .shop.sc .shopList {
  opacity: 0;
  transition: opacity 1s;
}
#bottomContent .shop.sc .bg {
  filter: blur(1.0980966325vw);
}
#bottomContent .shop.sc .contentTitle {
  transition-delay: 0.3s;
}
#bottomContent .shop.sc .read {
  transition-delay: 0.6s;
}
#bottomContent .shop.sc .shopList {
  transition-delay: 0.9s;
}

#bottomContent .shop.sc.ac .contentTitle, #bottomContent .shop.sc.ac .bg, #bottomContent .shop.sc.ac .read, #bottomContent .shop.sc.ac .shopList {
  opacity: 1;
}
#bottomContent .shop.sc.ac .bg {
  filter: blur(0);
}

/*------------------------
COLOR
-------------------------*/
a {
  color: #524E4D;
  text-decoration: none;
}

/*------------------------
TEXT SET
-------------------------*/
html {
  font-size: 62.5%;
}

body {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  box-sizing: border-box;
}
/*------------------------
BASIC LAYOUT / MODULE
-------------------------*/
img {
  image-rendering: -webkit-optimize-contrast;
}

.pcHide {
  display: none;
}
@media screen and ( max-width : 768px ) {
  .pcHide {
    display: block;
  }
}

.spHide {
  display: block;
}
@media screen and ( max-width : 768px ) {
  .spHide {
    display: none;
  }
}

.lbx {
  cursor: pointer;
}

.tac {
  text-align: center;
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.wrap {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media screen and ( max-width : 1024px ) {
  .wrap {
    padding: 0 20px;
  }
}

.minWrap {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

figure {
  margin: 0;
}

/*------------------------
RESET
-------------------------*/
body {
  word-wrap: break-word;
}

th, td {
  text-align: left;
  vertical-align: top;
  border: none;
}

caption {
  text-align: left;
}

img {
  border: 0;
  vertical-align: bottom;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

fieldset, img {
  border: 0;
}

a {
  outline: none;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  font-weight: bold;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
}

/*
	clearfix
------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}

* html .clearfix {
  display: inline-block;
}

.clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/*html5の要素をblock*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
  box-sizing: border-box;
}

/*------------------------
FORM
-------------------------*/
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*------------------------
TABLE
-------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  width: 100%;
}

/* Dish Grid (Shibaura) */
body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishSection.contentWrap {
  max-width: none;
  padding: 0;
}
body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishGrid {
  width: calc(100% - 70px);
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 12px;
  padding: 0;
  list-style: none;
}
body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishCard {
  display: block;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
}
body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishCard img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  transition: opacity 200ms ease;
}
body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishCard:hover img {
  opacity: 0.65;
}
@media (max-width: 1023px) {
  body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishGrid {
    width: calc(100% - 60px);
    grid-template-columns: repeat(8, 1fr);
    gap: 12px;
  }
}
@media (max-width: 767px) {
  body.tenpo #restaurantContent:has(.titleArea.shibaura) .dishGrid {
    width: calc(100% - 24px);
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
  }
}

body.isLightboxOpen {
  overflow: hidden;
}

/* GLightbox (Shibaura) */
.glightbox-container .goverlay {
  background: rgba(251, 250, 245, 0.93) !important;
}
.glightbox-container .gdesc-inner,
.glightbox-container .gslide-description {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.glightbox-container {
  --psPadX: 64px;
  --psPadTop: 64px;
  --psPadBottom: 48px;
  --imgTitleGap: 12px;
  --captionReserve: 56px;
}
@media (max-width: 767px) {
  .glightbox-container {
    --psPadX: 16px;
    --psPadTop: 28px;
    --psPadBottom: 24px;
    --imgTitleGap: 10px;
    --captionReserve: 52px;
  }
}
.glightbox-container .ginner-container,
.glightbox-container .ginner-container.desc-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: var(--psPadTop) var(--psPadX) var(--psPadBottom) !important;
  box-sizing: border-box !important;
  height: 100% !important;
  gap: var(--imgTitleGap) !important;
}
.glightbox-container .gslide-media {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex: 0 1 auto !important;
  min-height: 0 !important;
}
.glightbox-container .gslide-media img {
  max-width: 100% !important;
  max-height: calc(100vh - var(--psPadTop) - var(--psPadBottom) - var(--captionReserve)) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
.glightbox-container .gslide-description {
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}
.glightbox-container .gslide-title {
  margin: 0 !important;
  text-align: center !important;
  font-family: "Shippori Mincho", serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  color: #111 !important;
  line-height: 1.4 !important;
}
@media (min-width: 1024px) {
  .glightbox-container .gslide-title {
    font-size: 15px !important;
  }
}

/* GLightbox arrows (Shibaura) */
.glightbox-container .gprev,
.glightbox-container .gnext {
  position: fixed !important;
  top: 50% !important;
  z-index: 9999 !important;
  width: 5.270863836vw !important;
  height: 5.270863836vw !important;
  transform: translateY(-50%) !important;
  overflow: hidden !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  cursor: pointer !important;
}
.glightbox-container .gprev::before, .glightbox-container .gprev::after,
.glightbox-container .gnext::before,
.glightbox-container .gnext::after {
  display: block;
}
@media screen and ( max-width : 768px ) {
  .glightbox-container .gprev,
  .glightbox-container .gnext {
    width: 14.358974359vw !important;
    height: 14.358974359vw !important;
  }
}
.glightbox-container .gnext {
  right: calc(5.270863836vw / -2) !important;
  left: auto !important;
}
@media screen and ( max-width : 768px ) {
  .glightbox-container .gnext {
    right: calc(14.358974359vw / -2) !important;
  }
}
.glightbox-container .gnext::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(186, 38, 54, 0.95);
  transition: background 0.2s ease;
}
.glightbox-container .gnext::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.7320644217vw;
  height: 0.7320644217vw;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(calc(-50% - 1.317715959vw), -50%) rotate(45deg);
}
@media screen and ( max-width : 768px ) {
  .glightbox-container .gnext::after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    transform: translate(calc(-50% - 3.5897435897vw), -50%) rotate(45deg);
  }
}
.glightbox-container .gprev {
  left: calc(5.270863836vw / -2) !important;
  right: auto !important;
}
@media screen and ( max-width : 768px ) {
  .glightbox-container .gprev {
    left: calc(14.358974359vw / -2) !important;
  }
}
.glightbox-container .gprev::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(186, 38, 54, 0.95);
  transition: background 0.2s ease;
}
.glightbox-container .gprev::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.7320644217vw;
  height: 0.7320644217vw;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(calc(-50% + 1.317715959vw), -50%) rotate(-135deg);
}
@media screen and ( max-width : 768px ) {
  .glightbox-container .gprev::after {
    width: 2.5641025641vw;
    height: 2.5641025641vw;
    transform: translate(calc(-50% + 3.5897435897vw), -50%) rotate(-135deg);
  }
}

/* Arrow hover (PC only) */
@media (hover: hover) and (pointer: fine) {
  .glightbox-container .gnext:hover::before,
  .glightbox-container .gprev:hover::before {
    background: rgba(117, 32, 9, 0.95) !important;
  }
  .glightbox-container .gnext:hover::after,
  .glightbox-container .gprev:hover::after {
    border-top-color: #fff !important;
    border-right-color: #fff !important;
  }
}
/* Counter */
.glightbox-container .gcounter {
  position: fixed;
  right: 32px;
  bottom: 20px;
  z-index: 2147483647;
  padding: 0;
  font-size: 11px;
  line-height: 1;
  background: transparent;
  color: #000;
  pointer-events: none;
}

.glightbox-container .gslide-media img {
  -webkit-user-drag: none;
  user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}

.glightbox-container .gfadeIn {
  animation-duration: 600ms !important;
}

.glightbox-container .gfadeOut {
  animation-duration: 600ms !important;
}

/* ===== GLightbox Close (X) ===== */
.glightbox-container .gclose svg,
.glightbox-container .gclose img {
  display: none !important;
}

.glightbox-container .gclose {
  position: absolute !important;
  width: 48px !important;
  height: 48px !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  background-image: none !important;
  overflow: hidden !important;
  transform: none !important;
  transition: opacity 0.2s ease !important;
}

.glightbox-container .gclose:hover {
  transform: none !important;
}

.glightbox-container .gclose::before,
.glightbox-container .gclose::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 60px !important;
  height: 1.4px !important;
  background: #33302F !important;
  transform-origin: center !important;
  transition: opacity 0.2s ease !important;
}

.glightbox-container .gclose::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

.glightbox-container .gclose::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

@media (hover: hover) and (pointer: fine) {
  .glightbox-container .gclose:hover::before,
  .glightbox-container .gclose:hover::after {
    opacity: 0.3 !important;
  }
}