/***
    The new CSS reset - version 1.11.1 (last updated 24.10.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
 display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
 - fix for the content editable attribute will work properly.
 - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

.-fadeIn {
  opacity: 0;
  transition: all 1s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.-fadeIn.-active {
  opacity: 1;
}

.-fadeUp {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: all 1s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.-fadeUp.-active {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* Base */
/* ============================================ */
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #030303;
  font-size: 1rem;
  line-height: 1;
  overflow-wrap: break-word;
}
@media (max-width: 767px) {
  body {
    font-size: 0.875rem;
  }
}

section {
  background: url(../img/body_bg.png) repeat left top/auto;
  background-color: #F8F0E1;
}

button:focus-visible,
input:focus-visible,
optgroup:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: auto;
}

picture {
  display: block;
}

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

@media (pointer: fine), (hover: hover) {
  a:where([href^="tel:"]) {
    pointer-events: none;
  }
}
/* ===============================================
  Layout
=============================================== */
/* l-header */
/* ============================================ */
.l-header {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 0;
  left: 0;
  padding: 16px 40px;
  transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  background: url(../img/body_bg.png) repeat left top/auto;
  background-color: #F8F0E1;
}
@media (max-width: 767px) {
  .l-header {
    padding: 16px 20px;
  }
}
.l-header.-active {
  box-shadow: 0 0 3px #d8d8d8;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-header-logo {
  width: 167px;
  position: relative;
}

.l-header-hamburger {
  width: 30px;
  height: 30px;
  text-align: center;
  z-index: 100;
  position: relative;
}
.l-header-hamburger.-active {
  margin: 0;
  font-size: 0;
}
.l-header-hamburger__line {
  display: inline-block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, margin 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
}
.l-header-hamburger__line--upper {
  margin-top: -10px;
}
.l-header-hamburger__line--lower {
  margin-top: 10px;
}
.l-header-hamburger.-active .l-header-hamburger__line {
  transition: margin 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
}
.l-header-hamburger.-active .l-header-hamburger__line--middle {
  opacity: 0;
}
.l-header-hamburger.-active .l-header-hamburger__line::before, .l-header-hamburger.-active .l-header-hamburger__line::after {
  background: #fff;
}
.l-header-hamburger__line::before {
  content: "";
  display: block;
  background: #030303;
  width: 100%;
  height: 100%;
}
.l-header-hamburger.-active .l-header-hamburger__line--upper {
  margin: 0;
  transform: translateX(-50%) rotate(45deg);
}
.l-header-hamburger.-active .l-header-hamburger__line--lower {
  margin: 0;
  transform: translateX(-50%) rotate(-45deg);
}

.l-header-menu {
  position: fixed;
  z-index: 10;
  width: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  overflow: auto;
  height: auto;
  background-color: #1A1311;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 105px 0 54px;
}
@media (max-width: 767px) {
  .l-header-menu {
    padding: 86px 0 20px;
  }
}
.l-header-menu.-active {
  visibility: visible;
  opacity: 1;
}
.l-header-menu__logo {
  width: 167px;
  margin: 0 auto 30px;
}
.l-header-menu__list {
  display: flex;
}
@media (max-width: 767px) {
  .l-header-menu__list {
    flex-direction: column;
    align-items: center;
  }
}
.l-header-menu__item {
  line-height: 1.2;
}
.l-header-menu__item + .l-header-menu__item {
  margin: 0 0 0 56px;
}
@media (max-width: 1024px) {
  .l-header-menu__item + .l-header-menu__item {
    margin: 0 0 0 28px;
  }
}
@media (max-width: 767px) {
  .l-header-menu__item + .l-header-menu__item {
    margin: 28px 0 0;
  }
}
.l-header-menu__item a {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .l-header-menu__item a {
    color: #fff;
    font-size: 1rem;
  }
}
.l-header-menu__item:not(.l-header-menu__item--instagram) a {
  position: relative;
}
.l-header-menu__item:not(.l-header-menu__item--instagram) a::before {
  content: "";
  display: inline-block;
  background: #030303;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -8px;
  left: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .l-header-menu__item:not(.l-header-menu__item--instagram) a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
}
.l-header-menu__item--instagram {
  width: 23px;
  flex-shrink: 0;
  line-height: 1;
  font-size: 0;
}
.l-header-menu__item--instagram a {
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .l-header-menu__item--instagram a:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}

/* l-main */
/* ============================================ */
/* l-inner */
/* ============================================ */
.l-inner {
  max-width: 1280px;
  padding: 0 40px;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .l-inner {
    padding: 0 20px;
  }
}

/* l-footer */
/* ============================================ */
.l-footer {
  background: #1A1311;
  padding: 85px 0 55px;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 40px 0;
  }
}

.l-footer-upper {
  margin: 0 0 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .l-footer-upper {
    flex-direction: column;
  }
}

.l-footer-logo {
  width: 274px;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .l-footer-logo {
    width: 167px;
    margin: 0 0 20px;
  }
}
@media (max-width: 600px) {
  .l-footer-logo {
    margin: 0 0 30px;
  }
}

.l-footer-menu__list {
  display: flex;
  align-items: center;
}
@media (max-width: 600px) {
  .l-footer-menu__list {
    flex-direction: column;
  }
}
.l-footer-menu__item {
  line-height: 1.2;
}
.l-footer-menu__item + .l-footer-menu__item {
  margin: 0 0 0 56px;
}
@media (max-width: 1024px) {
  .l-footer-menu__item + .l-footer-menu__item {
    margin: 0 0 0 28px;
  }
}
@media (max-width: 600px) {
  .l-footer-menu__item + .l-footer-menu__item {
    margin: 28px 0 0;
  }
}
.l-footer-menu__item a {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #fff;
}
@media (max-width: 767px) {
  .l-footer-menu__item a {
    font-size: 1rem;
  }
}
.l-footer-menu__item:not(.l-footer-menu__item--instagram) a {
  position: relative;
}
.l-footer-menu__item:not(.l-footer-menu__item--instagram) a::before {
  content: "";
  display: inline-block;
  background: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -8px;
  left: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .l-footer-menu__item:not(.l-footer-menu__item--instagram) a:where(:any-link, :enabled, summary):hover::before {
    transform: scaleX(1);
  }
}
.l-footer-menu__item--instagram {
  width: 23px;
  flex-shrink: 0;
}
.l-footer-menu__item--instagram a {
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .l-footer-menu__item--instagram a:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}

.l-footer-lower {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-footer-copy {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Lato", sans-serif;
  color: #777;
  font-size: 0.875rem;
}
@media (max-width: 767px) {
  .l-footer-copy {
    font-size: 0.75rem;
  }
}

.l-footer-link {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #fff;
  padding: 0 20px 0 0;
  position: relative;
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (max-width: 767px) {
  .l-footer-link {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .l-footer-link:where(:any-link, :enabled, summary):hover {
    opacity: 0.6;
  }
}
.l-footer-link::before, .l-footer-link::after {
  background: #1A1311;
  content: "";
  display: inline-block;
  border: 1px solid #fff;
  width: 9px;
  height: 9px;
  position: absolute;
}
.l-footer-link::before {
  top: 2px;
  right: 3px;
}
.l-footer-link::after {
  bottom: 2px;
  right: 0;
}

/* l-loading */
/* ============================================ */
.l-loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  height: 100svh;
  top: 0;
  left: 0;
  background: #1A1311;
}
.l-loading__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 120px;
}
@media (max-width: 767px) {
  .l-loading__inner {
    padding: 0 60px;
  }
}
.l-loading__logo {
  width: 445px;
}

/* ===============================================
  Component
=============================================== */
/* c-button */
/* ============================================ */
/* c-title */
/* ============================================ */
/* p-about */
/* ============================================ */
.p-about {
  padding: 30px 0 120px;
}
@media (max-width: 767px) {
  .p-about {
    padding: 15px 0 60px;
  }
}
.p-about__head {
  margin: 0 0 52px;
}
@media (max-width: 767px) {
  .p-about__head {
    margin: 0 0 20px;
  }
}
.p-about__head__large {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 4.875rem;
  text-align: center;
  line-height: 1.47;
  margin: 0 0 9px;
}
@media (max-width: 767px) {
  .p-about__head__large {
    font-size: 1.375rem;
  }
}
.p-about__head__small {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 2.25rem;
  text-align: center;
  line-height: 1.47;
}
@media (max-width: 767px) {
  .p-about__head__small {
    font-size: 1rem;
  }
}
.p-about__thumb {
  margin: 0 0 130px;
}
@media (max-width: 767px) {
  .p-about__thumb {
    margin: 0 0 65px;
  }
}
.p-about__sano {
  display: grid;
  gap: 6.3333333333%;
  grid-template-columns: 1fr 49.1666666667%;
  margin: 0 0 100px;
}
@media (max-width: 1024px) {
  .p-about__sano {
    gap: 40px;
    grid-template-columns: 1fr 33.3333333333%;
  }
}
@media (max-width: 767px) {
  .p-about__sano {
    gap: 20px;
    grid-template-columns: 1fr;
    margin: 0 0 50px;
  }
}
.p-about__sano__text .-head {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.5;
  background: #1A1311;
  color: #fff;
  width: fit-content;
  padding: 5px 20px 8px;
  margin: 0 0 20px;
}
@media (max-width: 767px) {
  .p-about__sano__text .-head {
    font-size: 1rem;
  }
}
.p-about__sano__text .-title {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 2.375rem;
  line-height: 1.6;
  margin: 0 0 36px;
}
@media (max-width: 767px) {
  .p-about__sano__text .-title {
    font-size: 1.375rem;
    margin: 0 0 20px;
  }
}
.p-about__sano__text .-desc {
  font-size: 1.125rem;
  line-height: 2.2;
}
@media (max-width: 767px) {
  .p-about__sano__text .-desc {
    font-size: 0.875rem;
  }
}
.p-about__button {
  cursor: pointer;
  display: flex;
  width: 334px;
  max-width: 100%;
  position: relative;
  background: #BC000F;
  justify-content: center;
  margin: 0 auto;
  padding: 13px 0 15px;
  border-radius: 32px;
  transition: background 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (max-width: 767px) {
  .p-about__button {
    padding: 6px 0 8px;
  }
}
@media (hover: hover) {
  .p-about__button:where(:any-link, :enabled, summary):hover {
    background: #80000a;
  }
}
.p-about__button__mark {
  position: absolute;
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #fff;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.p-about__button__mark::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #BC000F;
  clip-path: polygon(calc(50% - 0.5px) 0, calc(50% + 0.5px) 0, calc(50% + 0.5px) calc(50% - 0.5px), 100% calc(50% - 0.5px), 100% calc(50% + 0.5px), calc(50% + 0.5px) calc(50% + 0.5px), calc(50% + 0.5px) 100%, calc(50% - 0.5px) 100%, calc(50% - 0.5px) calc(50% + 0.5px), 0 calc(50% + 0.5px), 0 calc(50% - 0.5px), calc(50% - 0.5px) calc(50% - 0.5px));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-about__button.-active .p-about__button__mark::before {
  clip-path: polygon(0 calc(50% - 0.5px), 0 calc(50% - 0.5px), 0 calc(50% - 0.5px), 100% calc(50% - 0.5px), 100% calc(50% - 0.5px), 100% calc(50% - 0.5px), 100% calc(50% + 0.5px), 100% calc(50% + 0.5px), 100% calc(50% + 0.5px), 0 calc(50% + 0.5px), 0 calc(50% + 0.5px), 0 calc(50% + 0.5px));
}
.p-about__button__text {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .p-about__button__text {
    font-size: 1.125rem;
  }
}

/* p-menu */
/* ============================================ */
.p-menu {
  padding: 128px 0 164px;
}
@media (max-width: 767px) {
  .p-menu {
    padding: 64px 0 82px;
  }
}
.p-menu__head {
  line-height: 1.5;
  text-align: center;
  margin: 0 0 75px;
}
@media (max-width: 767px) {
  .p-menu__head {
    margin: 0 0 32px;
  }
}
.p-menu__head__large {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 4.875rem;
  margin: 0 0 8px;
}
@media (max-width: 767px) {
  .p-menu__head__large {
    font-size: 2rem;
  }
}
.p-menu__head__small {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-menu__head__small {
    font-size: 0.875rem;
  }
}

.p-menu-tab {
  margin: 0 0 74px;
  display: grid;
  gap: 20px 5%;
  grid-template-columns: repeat(6, minmax(0, 164px));
  align-items: center;
  justify-content: center;
}
@media (max-width: 1024px) {
  .p-menu-tab {
    grid-template-columns: repeat(3, minmax(0, 164px));
  }
}
@media (max-width: 767px) {
  .p-menu-tab {
    margin: 0 0 32px;
  }
}
.p-menu-tab__item {
  text-align: center;
}
.p-menu-tab__button {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.4;
  padding: 10px 0;
  cursor: pointer;
  width: 100%;
  border-radius: 24px;
  transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media (hover: hover) {
  .p-menu-tab__button:where(:any-link, :enabled, summary):hover {
    background: #BC000F;
    color: #fff;
  }
}
@media (max-width: 767px) {
  .p-menu-tab__button {
    font-size: 1rem;
    padding: 4px 0;
  }
}
.p-menu-tab__button.-current {
  background: #BC000F;
  color: #fff;
  pointer-events: none;
}

.p-menu-content {
  display: none;
}
.p-menu-content.-show {
  display: block;
  animation: appear 0.3s cubic-bezier(0.39, 0.575, 0.565, 1) backwards;
}
@keyframes appear {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

.p-menu-ramen__item + .p-menu-ramen__item {
  margin: 80px 0 0;
}
@media (max-width: 767px) {
  .p-menu-ramen__item + .p-menu-ramen__item {
    margin: 40px 0 0;
  }
}
.p-menu-ramen__head {
  margin: 0 0 20px;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .p-menu-ramen__head {
    margin: 0 0 50px;
  }
}
.p-menu-ramen__head__img {
  flex-shrink: 0;
  width: 30.4166666667%;
  opacity: 0;
}
@media (max-width: 767px) {
  .p-menu-ramen__head__img {
    width: 34.8333333333%;
  }
}
@media (max-width: 767px) {
  .p-menu-ramen__item:nth-child(odd) .p-menu-ramen__head {
    flex-direction: column;
  }
}
.p-menu-ramen__item:nth-child(even) .p-menu-ramen__head {
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .p-menu-ramen__item:nth-child(even) .p-menu-ramen__head {
    flex-direction: column;
  }
}
.p-menu-ramen__item:nth-child(odd) .p-menu-ramen__head__img {
  margin: 0 50px 0 0;
}
@media (max-width: 767px) {
  .p-menu-ramen__item:nth-child(odd) .p-menu-ramen__head__img {
    margin: 0 0 20px;
  }
}
.p-menu-ramen__item:nth-child(even) .p-menu-ramen__head__img {
  margin: 0 0 0 50px;
}
@media (max-width: 767px) {
  .p-menu-ramen__item:nth-child(even) .p-menu-ramen__head__img {
    margin: 0 0 20px;
  }
}
.p-menu-ramen__head__desc {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .p-menu-ramen__head__desc {
    font-size: 1.125rem;
    text-align: center;
  }
}
.p-menu-ramen__thumb {
  text-align: center;
  position: relative;
  margin: 0 0 48px;
}
@media (max-width: 767px) {
  .p-menu-ramen__thumb {
    margin: 0 0 24px;
  }
}
.p-menu-ramen__thumb .-mark {
  width: min(185px, 15.4166666667%);
  position: absolute;
  top: -10%;
  z-index: 20;
}
@media (max-width: 767px) {
  .p-menu-ramen__thumb .-mark {
    width: 25%;
  }
}
.p-menu-ramen__item:nth-child(odd) .p-menu-ramen__thumb .-mark {
  right: 50%;
  transform: translateX(150%);
}
.p-menu-ramen__item:nth-child(even) .p-menu-ramen__thumb .-mark {
  left: 50%;
  transform: translateX(-150%);
}
.p-menu-ramen__thumb .-pic {
  width: min(644px, 53.6666666667%);
  position: relative;
  margin: 0 auto;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-menu-ramen__thumb .-pic {
    width: 70%;
  }
}
.p-menu-ramen__thumb .-pic::before {
  content: "";
  display: inline-block;
  background: url(../img/oblong_shape.png) no-repeat center/contain;
  width: min(966px, 75.46875vw);
  height: min(920px, 71.875vw);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -10;
}
.p-menu-ramen__thumb .-pic .-steam {
  position: absolute;
  z-index: 20;
  left: 0;
  bottom: 0;
  animation: steam 18s infinite linear;
  transition: all 1s;
}
.p-menu-ramen__thumb .-pic .-steam2 {
  position: absolute;
  opacity: 0;
}
.p-menu-ramen__thumb .-pic .-steam2.-active {
  z-index: 30;
  left: 10px;
  bottom: 0;
  animation: steam 18s infinite linear;
  transition: all 1s;
}
@keyframes steam {
  0% {
    filter: blur(10px);
    transform: rotateY(0deg);
    transform: scale(1, 1);
    opacity: 0;
    bottom: 0;
  }
  33% {
    opacity: 0.75;
    transform: rotateY(40deg);
    transform: scale(0.6, 1.2);
  }
  66% {
    transform: rotateY(2deg);
    transform: scaleY(1.2, 0.4);
  }
  100% {
    filter: blur(16px);
    transform: rotateY(50deg);
    transform: scaleY(1.4, 1.2);
    opacity: 0;
    bottom: 100%;
  }
}
.p-menu-ramen__thumb .-bg {
  position: absolute;
  z-index: 0;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
}
.p-menu-ramen__main-menu, .p-menu-ramen__sub-menu {
  text-align: center;
}
.p-menu-ramen__main-menu h3 {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 4.25rem;
  line-height: 1.47;
  margin: 0 0 6px;
}
@media (max-width: 767px) {
  .p-menu-ramen__main-menu h3 {
    font-size: 1.5rem;
  }
}
.p-menu-ramen__main-menu p {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.9375rem;
}
@media (max-width: 767px) {
  .p-menu-ramen__main-menu p {
    font-size: 1.125rem;
  }
}
.p-menu-ramen__main-menu .-large {
  font-size: 2.4375rem;
  line-height: 1.67;
}
@media (max-width: 767px) {
  .p-menu-ramen__main-menu .-large {
    font-size: 1.375rem;
  }
}
.p-menu-ramen__main-menu .-small {
  font-size: 1.8125rem;
}
@media (max-width: 767px) {
  .p-menu-ramen__main-menu .-small {
    font-size: 1.125rem;
  }
}
.p-menu-ramen__sub-menu {
  margin: 64px 0 0;
  padding: 50px 0;
  position: relative;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu {
    margin: 32px 0 0;
    padding: 25px 0;
  }
}
.p-menu-ramen__sub-menu::before, .p-menu-ramen__sub-menu::after {
  content: "";
  display: inline-block;
  background: #1A1311;
  width: 100%;
  height: 2px;
  border-radius: 13px;
  position: absolute;
  left: 0;
}
.p-menu-ramen__sub-menu::before {
  top: 0;
}
.p-menu-ramen__sub-menu::after {
  bottom: 0;
}
.p-menu-ramen__sub-menu .-item + .-item {
  margin: 56px 0 0;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu .-item + .-item {
    margin: 28px 0 0;
  }
}
.p-menu-ramen__sub-menu h3 {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 2.625rem;
  line-height: 1.48;
  margin: 0 0 8px;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu h3 {
    font-size: 1.25rem;
  }
}
.p-menu-ramen__sub-menu p {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.5625rem;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu p {
    font-size: 0.875rem;
  }
}
.p-menu-ramen__sub-menu .-large {
  font-size: 1.9375rem;
  line-height: 1.67;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu .-large {
    font-size: 1.125rem;
  }
}
.p-menu-ramen__sub-menu .-small {
  font-size: 1.5625rem;
}
@media (max-width: 767px) {
  .p-menu-ramen__sub-menu .-small {
    font-size: 0.875rem;
  }
}

.p-menu-ramen + .p-menu-grand {
  margin: 76px 0 0;
}
@media (max-width: 767px) {
  .p-menu-ramen + .p-menu-grand {
    margin: 38px 0 0;
  }
}

.p-menu-grand__main {
  background: #fff;
  border-radius: 13px;
  padding: 10px 48px 10px 10px;
  display: grid;
  align-items: center;
  grid-template-columns: 44.6584938704% 1fr;
  gap: 3.6777583187%;
}
@media (max-width: 767px) {
  .p-menu-grand__main {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
}
.p-menu-grand__main + .p-menu-grand__main {
  margin: 24px 0 0;
}
@media (max-width: 767px) {
  .p-menu-grand__main + .p-menu-grand__main {
    margin: 20px 0 0;
  }
}
.p-menu-grand__main + .p-menu-grand__list {
  margin: 24px 0 0;
}
@media (max-width: 767px) {
  .p-menu-grand__main + .p-menu-grand__list {
    margin: 20px 0 0;
  }
}
.p-menu-grand__main__info .-name {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 2.75rem;
  line-height: 1.36;
  margin: 0 0 16px;
}
@media (max-width: 767px) {
  .p-menu-grand__main__info .-name {
    font-size: 1.25rem;
    margin: 0 0 8px;
  }
}
.p-menu-grand__main__info .-desc {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.85;
  padding: 0 0 30px;
  border-bottom: 1px solid #e8e8e8;
  margin: 0 0 12px;
}
@media (max-width: 767px) {
  .p-menu-grand__main__info .-desc {
    font-size: 0.875rem;
    padding: 0 0 15px;
    margin: 0 0 6px;
  }
}
.p-menu-grand__main__info .-data {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.p-menu-grand__main__info .-data dt, .p-menu-grand__main__info .-data dd {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 2.1;
}
.p-menu-grand__main__info .-data dt {
  font-size: 1.5625rem;
}
@media (max-width: 767px) {
  .p-menu-grand__main__info .-data dt {
    font-size: 0.875rem;
  }
}
.p-menu-grand__main__info .-data dd {
  font-size: 1.5625rem;
}
@media (max-width: 767px) {
  .p-menu-grand__main__info .-data dd {
    font-size: 0.875rem;
  }
}
.p-menu-grand__main__info .-data dd span {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.9375rem;
}
@media (max-width: 767px) {
  .p-menu-grand__main__info .-data dd span {
    font-size: 1.125rem;
  }
}
.p-menu-grand__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  place-content: auto;
}
@media (max-width: 1024px) {
  .p-menu-grand__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .p-menu-grand__list {
    gap: 20px;
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-menu-grand__item {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 13px;
  padding: 10px 9.5px 28px;
}
@media (max-width: 767px) {
  .p-menu-grand__item {
    padding: 20px;
  }
}
.p-menu-grand__item__img {
  height: 0;
  padding-top: 82.1917808219%;
  position: relative;
  margin: 0 0 25px;
  border-radius: 13px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-menu-grand__item__img {
    margin: 0 0 12px;
  }
}
.p-menu-grand__item__img img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-menu-grand__item__info {
  padding: 0 20px;
  height: fit-content;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-menu-grand__item__info {
    padding: 0;
  }
}
.p-menu-grand__item__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.625rem;
  line-height: 1.46;
  margin: 0 0 12px;
}
@media (max-width: 767px) {
  .p-menu-grand__item__title {
    font-size: 1.125rem;
  }
}
.p-menu-grand__item__desc {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 1.87;
  margin: 0 0 24px;
}
.p-menu-grand__item__price {
  display: flex;
  align-items: center;
}
.p-menu-grand__item__price .-notice {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 0.8125rem;
  border: 1px solid #d8d8d8;
  border-radius: 19px;
  display: inline-block;
  width: fit-content;
  padding: 10px 20px;
}
@media (max-width: 767px) {
  .p-menu-grand__item__price .-notice {
    font-size: 0.75rem;
    padding: 8px;
  }
}
.p-menu-grand__item__price .-number {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.0625rem;
  margin: 0 0 0 auto;
}
@media (max-width: 767px) {
  .p-menu-grand__item__price .-number {
    font-size: 0.875rem;
  }
}
.p-menu-grand__item__price .-number .-small {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1rem;
  margin: 0 12px 0 0;
}
@media (max-width: 767px) {
  .p-menu-grand__item__price .-number .-small {
    font-size: 0.875rem;
  }
}
.p-menu-grand__item__price .-number .-large {
  font-size: 1.6875rem;
  line-height: 1.48;
}
@media (max-width: 767px) {
  .p-menu-grand__item__price .-number .-large {
    font-size: 1.125rem;
  }
}

/* p-modal */
/* ============================================ */
.p-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-modal.-active {
  visibility: visible;
  opacity: 1;
}
.p-modal__container {
  color: #fff;
  background: #1A1311;
  height: fit-content;
  max-height: calc(100vh - 80px);
  max-height: calc(100svh - 80px);
  padding: 60px;
  position: relative;
  overflow: auto;
}
@media (max-width: 767px) {
  .p-modal__container {
    max-height: calc(100vh - 40px);
    max-height: calc(100svh - 40px);
    padding: 20px;
  }
}
.p-modal__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.48;
  display: flex;
  align-items: center;
  margin: 0 0 42px;
}
@media (max-width: 767px) {
  .p-modal__title {
    font-size: 1.25rem;
    margin: 0 0 20px;
  }
}
.p-modal__title span {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.375rem;
  margin: 0 0 0 38px;
}
@media (max-width: 767px) {
  .p-modal__title span {
    font-size: 1rem;
    margin: 0 0 0 20px;
  }
}
.p-modal__close {
  cursor: pointer;
  position: absolute;
  display: inline-block;
  width: 63px;
  height: 63px;
  top: 64px;
  right: 60px;
}
@media (max-width: 767px) {
  .p-modal__close {
    width: 20px;
    height: 20px;
    top: 26px;
    right: 20px;
  }
}
.p-modal__close::before, .p-modal__close::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
}
.p-modal__close::before {
  left: 0;
  transform: rotate(45deg);
}
.p-modal__close::after {
  right: 0;
  transform: rotate(135deg);
}
.p-modal__desc {
  line-height: 2;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .p-modal__desc {
    font-size: 0.875rem;
  }
}

/* p-movie */
/* ============================================ */
.p-movie {
  position: fixed;
  z-index: -10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
}
.p-movie.-active {
  visibility: visible;
}
.p-movie video {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -100;
  transform: translateY(0);
}

/* p-mv */
/* ============================================ */
.p-mv {
  margin: 86px 0 0;
  padding: 50px 0 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-mv {
    padding: 25px 0 0;
  }
}
.p-mv__catch {
  opacity: 0;
  max-width: 789.75px;
  width: 100%;
  margin: 0 auto 40px;
}
@media (max-width: 767px) {
  .p-mv__catch {
    margin: 0 auto 5.3333333333vw;
    padding: 0 10.6666666667vw;
  }
}
.p-mv__ramen {
  height: min(736.5px, 51.1458333333vw);
  position: relative;
}
@media (max-width: 767px) {
  .p-mv__ramen {
    height: 100vw;
    margin: 26.6666666667vw 0 0;
  }
}
.p-mv__ramen::before, .p-mv__ramen::after {
  content: "";
  background: url(../img/mv_steam_shape.png) no-repeat center/contain;
  display: inline-block;
  width: min(552.75px, 38.3854166667%);
  height: min(529.5px, 36.7708333333vw);
  position: absolute;
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1), transform 2s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
@media (max-width: 767px) {
  .p-mv__ramen::before, .p-mv__ramen::after {
    width: min(737px, 51.1805555556%);
    height: min(706px, 49.0277777778vw);
  }
}
.p-mv__ramen.-active::before, .p-mv__ramen.-active::after {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.p-mv__ramen::before {
  left: max(50% - 736.5px, 50% - 51.1458333333vw);
  top: max(-225px, -15.625vw);
}
@media (max-width: 767px) {
  .p-mv__ramen::before {
    left: max(50% - 982px, 50% - 68.1944444444vw);
    top: max(-300px, -20.8333333333vw);
  }
}
.p-mv__ramen::after {
  right: max(50% - 556.5px, 50% - 38.6458333333vw);
  top: max(-138px, -9.5833333333vw);
}
@media (max-width: 767px) {
  .p-mv__ramen::after {
    right: max(50% - 742px, 50% - 51.5277777778vw);
    top: max(-184px, -12.7777777778vw);
  }
}
.p-mv__ramen__left {
  width: min(689.25px, 47.8645833333%);
  position: absolute;
  left: max(50% - 967.5px, 50% - 67.1875vw);
  top: max(-109.5px, -7.6041666667vw);
}
@media (max-width: 767px) {
  .p-mv__ramen__left {
    width: 80%;
    left: max(50% - 1290px, 50% - 89.5833333333vw);
    top: -36%;
  }
}
.p-mv__ramen__right {
  width: min(1035px, 71.875%);
  position: absolute;
  right: max(50% - 1140px, 50% - 79.1666666667vw);
  top: max(-109.5px, -7.6041666667vw);
}
@media (max-width: 767px) {
  .p-mv__ramen__right {
    width: 118%;
    right: max(50% - 1520px, 50% - 105.5555555556vw);
    top: -36%;
  }
}
.p-mv__ramen__center {
  width: min(797.25px, 55.3645833333%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-mv__ramen__center {
    width: 95%;
    top: unset;
    bottom: -5%;
  }
}

/* p-particular */
/* ============================================ */
.p-particular {
  background: #1A1311;
  padding: 88px 0 130px;
}
@media (max-width: 767px) {
  .p-particular {
    padding: 44px 0 65px;
  }
}
.p-particular__head {
  margin: 0 0 100px;
}
@media (max-width: 767px) {
  .p-particular__head {
    margin: 0 0 32px;
  }
}
.p-particular__head__logo {
  width: 496px;
  max-width: 100%;
  margin: 0 auto 12px;
}
.p-particular__head__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  color: #fff;
  font-size: 4.875rem;
  line-height: 1.47;
  text-align: center;
}
@media (max-width: 767px) {
  .p-particular__head__title {
    font-size: 1.375rem;
  }
}
.p-particular .stack-cards__item {
  position: sticky;
  top: 0;
  transform-origin: center top;
}
.p-particular__item {
  display: grid;
  grid-template-columns: 50% 50%;
  background: #fff;
  border-radius: 13px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-particular__item {
    height: fit-content;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .p-particular__item:nth-child(even) {
    margin-top: 0 !important;
  }
}
.p-particular__item + .p-particular__item {
  margin: 25px 0 0;
}
.p-particular__item__text {
  padding: min(5rem, 6.25vw) min(3.4375rem, 4.296875vw);
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-particular__item__text {
    padding: 34px;
    order: 1;
  }
}
.p-particular__item__text .-bg-text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: min(30.3125rem, 37.890625vw);
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  z-index: -10;
  color: #F7F7F7;
}
@media (max-width: 767px) {
  .p-particular__item__text .-bg-text {
    font-size: 15rem;
  }
}
.p-particular__item__title {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: min(3rem, 3.75vw);
  line-height: 1.3;
  margin: 0 0 28px;
}
@media (max-width: 767px) {
  .p-particular__item__title {
    font-size: 1.5rem;
    margin: 0 0 14px;
  }
}
.p-particular__item__desc {
  font-size: 1.125rem;
  line-height: 2.2;
}
@media (max-width: 1024px) {
  .p-particular__item__desc {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .p-particular__item__desc {
    font-size: 0.875rem;
  }
}
.p-particular__item__img {
  font-size: 0;
}
.p-particular__item__img img {
  height: 100%;
  object-fit: cover;
}
/* p-shop */
/* ============================================ */
.p-shop {
  padding: 80px 0 74px;
  position: relative;
  z-index: 10;
}
@media (max-width: 767px) {
  .p-shop {
    padding: 40px 0 38px;
  }
}
.p-shop::before {
  content: "";
  display: block;
  width: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  height: min(51.5625vw, 20% + 247px);
  z-index: -10;
}
.p-shop__head {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 4.875rem;
  line-height: 1.5;
  text-align: center;
  margin: 0 0 50px;
}
@media (max-width: 767px) {
  .p-shop__head {
    font-size: 2rem;
    margin: 0 0 25px;
  }
}
.p-shop__slider {
  overflow: hidden;
  margin: 0 0 48px;
}
@media (max-width: 767px) {
  .p-shop__slider {
    margin: 0 0 24px;
  }
}
.p-shop__slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 2s;
}
@media (max-width: 767px) {
  .p-shop__slider img {
    object-fit: contain;
  }
}
.p-shop .swiper-slide {
  overflow: hidden;
}
.p-shop .swiper-pagination {
  width: fit-content;
  top: unset;
  bottom: 50px;
  left: 38px;
  font-size: 0;
}
@media (max-width: 767px) {
  .p-shop .swiper-pagination {
    bottom: 20px;
    left: 12px;
  }
}
.p-shop .swiper-pagination-bullet {
  margin: 0 12px !important;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  opacity: 1;
}
@media (max-width: 767px) {
  .p-shop .swiper-pagination-bullet {
    margin: 0 8px !important;
    width: 4px;
    height: 4px;
  }
}
.p-shop .swiper-pagination-bullet-active {
  transform: scale(2);
}
.p-shop__data {
  background: #fff;
  border-radius: 13px;
  padding: 42px;
}
@media (max-width: 767px) {
  .p-shop__data {
    padding: 20px;
  }
}
.p-shop__data__head {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: 1.9375rem;
  line-height: 1.4;
  padding: 0 0 24px;
  border-bottom: 1px solid rgba(26, 19, 17, 0.07);
  margin: 0 0 26px;
}
@media (max-width: 767px) {
  .p-shop__data__head {
    font-size: 1.6875rem;
  }
}
.p-shop__data__container {
  display: grid;
  grid-template-columns: 1fr 41.2186379928%;
  gap: 3.7634408602%;
}
@media (max-width: 1024px) {
  .p-shop__data__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .p-shop__data__container {
    gap: 20px;
  }
}
.p-shop__data__item {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 11.6666666667%;
}
@media (max-width: 767px) {
  .p-shop__data__item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
.p-shop__data__item + .p-shop__data__item {
  margin: 40px 0 0;
}
@media (max-width: 767px) {
  .p-shop__data__item + .p-shop__data__item {
    margin: 32px 0 0;
  }
}
.p-shop__data__item dt, .p-shop__data__item dd {
  line-height: 1.8;
}
.p-shop__data__item dt {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
}
.p-shop__data__item dd {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .p-shop__map {
    height: 0;
    padding-top: 75%;
    position: relative;
  }
}
.p-shop__map iframe {
  width: 100%;
}
@media (max-width: 1024px) {
  .p-shop__map iframe {
    position: absolute;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
  }
}

/* p-video */
/* ============================================ */
.p-video {
  overflow: hidden;
  height: 56.25vw;
}
@media (max-width: 767px) {
  .p-video {
    height: 75vw;
  }
}

/* ===============================================
  Utility
=============================================== */
/* display */
/* ============================================ */
.u-dis-i {
  display: inline;
}

.u-dis-ib {
  display: inline-block;
}

.u-dis-b {
  display: block;
}

.u-dis-f {
  display: flex;
}

.u-pc-i {
  display: inline;
}
@media (max-width: 767px) {
  .u-pc-i {
    display: none;
  }
}

.u-sp-i {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-i {
    display: inline;
  }
}

.u-pc-ib {
  display: inline-block;
}
@media (max-width: 767px) {
  .u-pc-ib {
    display: none;
  }
}

.u-sp-ib {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-ib {
    display: inline-block;
  }
}

.u-pc-b {
  display: block;
}
@media (max-width: 767px) {
  .u-pc-b {
    display: none;
  }
}

.u-sp-b {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-b {
    display: block;
  }
}

.u-pc-f {
  display: flex;
}
@media (max-width: 767px) {
  .u-pc-f {
    display: none;
  }
}

.u-sp-f {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-f {
    display: flex;
  }
}

/* visibility */
/* ============================================ */
.u-hidden {
  visibility: hidden;
}

.u-visible {
  visibility: visible;
}

/* margin */
/* ============================================ */
.u-m-0 {
  margin: 0;
}

.u-mt-0 {
  margin-top: 0;
}

.u-mr-0 {
  margin-right: 0;
}

.u-mb-0 {
  margin-bottom: 0;
}

.u-ml-0 {
  margin-left: 0;
}

.u-mx-0 {
  margin-right: 0;
  margin-left: 0;
}

.u-my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.u-m-a {
  margin: auto;
}

.u-mt-a {
  margin-top: auto;
}

.u-mr-a {
  margin-right: auto;
}

.u-mb-a {
  margin-bottom: auto;
}

.u-ml-a {
  margin-left: auto;
}

.u-mx-a {
  margin-right: auto;
  margin-left: auto;
}

.u-my-a {
  margin-top: auto;
  margin-bottom: auto;
}

/* padding */
/* ============================================ */
.u-p-0 {
  padding: 0;
}

.u-pt-0 {
  padding-top: 0;
}

.u-pr-0 {
  padding-right: 0;
}

.u-pb-0 {
  padding-bottom: 0;
}

.u-pl-0 {
  padding-left: 0;
}

.u-px-0 {
  padding-right: 0;
  padding-left: 0;
}

.u-py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.u-p-a {
  padding: auto;
}

.u-pt-a {
  padding-top: auto;
}

.u-pr-a {
  padding-right: auto;
}

.u-pb-a {
  padding-bottom: auto;
}

.u-pl-a {
  padding-left: auto;
}

.u-px-a {
  padding-right: auto;
  padding-left: auto;
}

.u-py-a {
  padding-top: auto;
  padding-bottom: auto;
}

/* border */
/* ============================================ */
.u-b-none {
  border: none;
}

.u-bt-none {
  border-top: none;
}

.u-br-none {
  border-right: none;
}

.u-bb-none {
  border-bottom: none;
}

.u-bl-none {
  border-left: none;
}

/* text-align */
/* ============================================ */
.u-ta-l {
  text-align: left;
}

.u-ta-c {
  text-align: center;
}

.u-ta-r {
  text-align: right;
}

/* kerning */
/* ============================================ */
.u-palt {
  font-feature-settings: "palt";
}/*# sourceMappingURL=style.css.map */