@charset "UTF-8";

:root {
  --text-color: #27292B;
  --white: #fff;
  --blue: #055FB0;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Light.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Medium.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Bold.otf") format("opentype");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: url("../../fonts/Noto_Sans_JP/NotoSansJP-Black.otf") format("opentype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 100 900;
  src: url("../../fonts/Noto_Serif_JP/NotoSerifJP-VariableFont_wght.ttf") format("truetype-variations");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 200;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-ExtraLight.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 300;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-Light.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 600;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-SemiBold.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 800;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-ExtraBold.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 900;
  src: url("../../fonts/Noto_Serif_JP/static/NotoSerifJP-Black.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Serif Display";
  font-style: normal;
  font-weight: 100 900;
  src: url("../../fonts/Noto_Serif_Display/NotoSerifDisplay-VariableFont_wdth,wght.ttf") format("truetype-variations");
}

@font-face {
  font-family: "Noto Serif Display";
  font-style: italic;
  font-weight: 100 900;
  src: url("../../fonts/Noto_Serif_Display/NotoSerifDisplay-Italic-VariableFont_wdth,wght.ttf") format("truetype-variations");
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 900;
  src: url("../../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Black.ttf") format("truetype");
}

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Lato/Lato-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Lato/Lato-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Play";
  font-style: normal;
  font-weight: 400;
  src: url("../../fonts/Play/Play-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Play";
  font-style: normal;
  font-weight: 700;
  src: url("../../fonts/Play/Play-Bold.ttf") format("truetype");
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(100vw / var(--vw) * 300);
}

body {
  color: var(--text-color);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
}

body.hidden {
  overflow: hidden;
}

.overflow-hidden {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: var(--text-color);
}

main {
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: 1;
}

section {
  overflow: hidden;
}

.c-arrow-btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: calc(100vw / var(--vw) * 20);
  padding-right: calc(100vw / var(--vw) * 20);
  border: 0.8px solid currentColor;
  width: calc(100vw / var(--vw) * 238);
  height: calc(100vw / var(--vw) * 40);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--text-color, #27292B);
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.c-arrow-btn:hover {
  opacity: 0.7;
}

.c-arrow-btn:hover .c-arrow-btn__arrow {
  width: calc(100vw / var(--vw) * 88);
}

.c-arrow-btn__text {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-arrow-btn__arrow {
  display: inline-block;
  width: calc(100vw / var(--vw) * 69);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: calc(100vw / var(--vw) * 190);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.c-arrow-btn__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.c-instagram {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 15);
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.c-instagram:hover {
  opacity: 0.6;
}

.c-instagram__icon {
  width: calc(100vw / var(--vw) * 32);
  height: calc(100vw / var(--vw) * 32);
}

.c-instagram__text {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-size: calc(100vw / var(--vw) * 16);
  color: #333;
  line-height: 1;
  white-space: nowrap;
}

.c-price-tax {
  font-size: 0.75em;
}

:root {
  --top-text: #333;
  --top-black: #070707;
  --top-gold: #f4dfb7;
  --top-cream: #fdeece;
  --top-contact-bg: #fffaeb;
  --top-dark: #111;
  --top-white: #fff;
  --top-body: 'Zen Kaku Gothic New', sans-serif;
  --top-mincho: 'Shippori Mincho', serif;
  --top-yuMinchou: 'Yuminchou', serif;
  --top-logo: 'Yuji Syuku', serif;
}

.l-header {
  display: none !important;
}

.top {
  font-family: var(--top-body);
  color: var(--top-text);
  line-height: 1.8;
  background: #fff;
}

.top * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.top a {
  color: inherit;
  text-decoration: none;
}

.top-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
  padding: calc(100vw / var(--vw) * 4) calc(100vw / var(--vw) * 20);
  border-style: solid;
  border-color: var(--top-text);
  border-width: calc(100vw / var(--vw) * 0.8);
  font-family: var(--top-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--top-text);
  background: transparent;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  position: relative;
  width: calc(100vw / var(--vw) * 197);
}

.top-btn:hover {
  opacity: 0.7;
}

.top-btn--white {
  border-color: #fff;
  color: #fff;
}

.top-btn--white span {
  color: #fff;
}

.top-btn__arrow {
  display: inline-block;
  width: calc(100vw / var(--vw) * 69);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: calc(100vw / var(--vw) * 150);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.top-btn__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.top-btn:hover .top-btn__arrow {
  width: calc(100vw / var(--vw) * 88);
}

.top-title {
  font-family: var(--top-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 35);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  color: var(--top-black);
  letter-spacing: 0.8em;
}

.top-title--white {
  color: #fff;
}

.top-emblem {
  width: calc(100vw / var(--vw) * 42);
  height: auto;
}

.top-title-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.top-text {
  font-family: var(--top-body);
  font-size: calc(100vw / var(--vw) * 16);
  font-weight: 400;
  line-height: 2;
  color: var(--top-text);
}

.top-text--white {
  color: #fff;
}

.top-hero {
  width: 100%;
  height: calc(100vw / var(--vw) * 807);
  overflow: hidden;
}

.top-hero img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top-hero__video {
  width: 100%;
}

.top-hero__bottom-video {
  width: calc(100vw / var(--vw) * 800);
  height: calc(100vw / var(--vw) * 450);
  margin: 0 auto;
  margin-top: calc(100vw / var(--vw) * 86);
}

.top-banner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding-top: calc(100vw / var(--vw) * 86);
  overflow: hidden;
  --top-banner-gap: calc(100vw / var(--vw) * 20);
}

.top-banner .slick-list {
  margin: 0 calc(var(--top-banner-gap) * -1);
}

.top-banner .slick-slide {
  padding: 0 var(--top-banner-gap);
}

.top-banner__track {
  height: 100%;
}

.top-banner__track:not(.slick-initialized) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.top-banner__slide {
  height: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.top-banner__track:not(.slick-initialized) .top-banner__slide {
  min-width: 100%;
}

.top-banner__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top-about {
  position: relative;
  overflow: hidden;
  padding-top: calc(100vw / var(--vw) * 174);
}

.top-about__inner {
  max-width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100vw / var(--vw) * 1042);
}

.top-about__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 143);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18);
}

.top-about__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-about__body {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: calc(100vw / var(--vw) * 148) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 126);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 35);
}

.top-about__btn {
  margin-top: calc(100vw / var(--vw) * 16);
}

.top-about__visual {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
}

.top-about__photo-main {
  position: absolute;
  top: calc(100vw / var(--vw) * 28);
  right: 0;
  width: calc(100vw / var(--vw) * 616);
  height: calc(100vw / var(--vw) * 730);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 10;
}

.top-about__deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 200);
  right: 0;
  width: calc(100vw / var(--vw) * 644);
  height: calc(100vw / var(--vw) * 329);
  background-image: url(../../images/about_deco.webp);
  z-index: 1;
}

.top-about__bg-obj {
  position: absolute;
  top: calc(100vw / var(--vw) * 613);
  left: 0;
  width: calc(100vw / var(--vw) * 302);
}

.top-about__photo-sub {
  position: absolute;
  left: calc(100vw / var(--vw) * 150);
  bottom: 0;
  width: calc(100vw / var(--vw) * 405);
  z-index: 2;
}

.top-food {
  position: relative;
  overflow: hidden;
  padding-top: calc(100vw / var(--vw) * 208);
}

.top-food__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100vw / var(--vw) * 1066);
}

.top-food__visual {
  width: calc(100vw / var(--vw) * 647);
  position: relative;
}

.top-food__deco {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100vw / var(--vw) * 476);
  height: calc(100vw / var(--vw) * 654);
  background-image: url(../../images/top_food_deco.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.top-food__photo-main {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: calc(100vw / var(--vw) * 67);
}

.top-food__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: calc(100vw / var(--vw) * 136) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 152);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 45);
}

.top-food__btn {
  margin-top: calc(100vw / var(--vw) * 15);
}

.top-food__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 130) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18);
}

.top-food__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-food__photo-sub {
  position: absolute;
  right: calc(100vw / var(--vw) * 268);
  bottom: 0;
  width: calc(100vw / var(--vw) * 257);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 2;
}

.top-banquet {
  position: relative;
  height: calc(100vw / var(--vw) * 960);
  overflow: hidden;
  padding-top: calc(100vw / var(--vw) * 93);
}

.top-banquet__deco-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100vw / var(--vw) * 406);
  background-image: url(../../images/top_banquest_deco.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.top-banquet__photo {
  position: absolute;
  top: calc(100vw / var(--vw) * 93);
  left: calc(100vw / var(--vw) * 130);
  right: calc(100vw / var(--vw) * 130);
  height: calc(100vw / var(--vw) * 770);
  overflow: hidden;
}

.top-banquet__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top-banquet__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.39);
}

.top-banquet__inner {
  position: relative;
  z-index: 2;
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding-top: calc(100vw / var(--vw) * 136);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 134);
}

.top-banquet__body {
  width: calc(100vw / var(--vw) * 337);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 40);
  margin-top: calc(100vw / var(--vw) * 98);
}

.top-banquet__btn {
  margin-top: calc(100vw / var(--vw) * 16);
}

.top-banquet__btn .top-btn__arrow {
  left: calc(100vw / var(--vw) * 160);
}

.top-banquet__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
}

.top-banquet__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-room {
  position: relative;
  padding-top: calc(100vw / var(--vw) * 240);
  padding-bottom: calc(100vw / var(--vw) * 243);
}

.top-room__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100vw / var(--vw) * 1056);
}

.top-room__visual {
  width: calc(100vw / var(--vw) * 571);
}

.top-room__photo-main {
  width: 100%;
}

.top-room__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: calc(100vw / var(--vw) * 181) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 122);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 32);
}

.top-room__btn {
  margin-top: calc(100vw / var(--vw) * 16);
  width: calc(100vw / var(--vw) * 218);
}

.top-room__btn .top-btn__arrow {
  left: calc(100vw / var(--vw) * 180);
}

.top-room__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
  margin-right: calc(100vw / var(--vw) * 144);
}

.top-room__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-room__photo-sub {
  position: absolute;
  right: calc(100vw / var(--vw) * 140);
  bottom: calc(100vw / var(--vw) * 227);
  width: calc(100vw / var(--vw) * 370);
  z-index: 2;
}

.top-room__deco {
  position: absolute;
  right: calc(100vw / var(--vw) * 117);
  bottom: calc(100vw / var(--vw) * 203);
  width: calc(100vw / var(--vw) * 240);
  height: calc(100vw / var(--vw) * 293);
  background-image: url(../../images/top_room_deco.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

.top-room__bg-obj-top {
  position: absolute;
  top: calc(100vw / var(--vw) * -20);
  left: 0;
  width: calc(100vw / var(--vw) * 300);
}

.top-room__bg-obj-bottom {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 550);
  right: 0;
  width: calc(100vw / var(--vw) * 409);
}

.top-kodawari {
  background-image: url(../../images/kodawari_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: calc(100vw / var(--vw) * 220);
  padding-bottom: calc(100vw / var(--vw) * 138);
  position: relative;
  overflow: hidden;
}

.top-kodawari__inner {
  width: calc(100vw / var(--vw) * 1440);
  position: relative;
}

.top-kodawari__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
}

.top-kodawari__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-kodawari__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  padding-bottom: calc(100vw / var(--vw) * 175);
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
}

.top-kodawari__item.middle {
  padding-bottom: calc(100vw / var(--vw) * 237);
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.top-kodawari__item:last-child {
  padding-bottom: 0;
}

.top-kodawari__item-photo {
  position: relative;
}

.top-kodawari__item-photo img:first-child {
  width: calc(100vw / var(--vw) * 676);
  position: relative;
  z-index: 2;
}

.top-kodawari__item-photo.middle img:first-child {
  width: calc(100vw / var(--vw) * 552);
}

.top-kodawari__item-photo-deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * -112);
  right: 0;
  width: calc(100vw / var(--vw) * 266);
  z-index: 1;
}

.top-kodawari__item-photo-deco.left {
  right: auto;
  left: calc(100vw / var(--vw) * 360);
  bottom: calc(100vw / var(--vw) * -62);
}

.top-kodawari__item-photo-deco.bottom {
  left: 0;
  top: calc(100vw / var(--vw) * 97);
  width: calc(100vw / var(--vw) * 165);
}

.top-kodawari__item-photo-sub {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 133);
  right: calc(100vw / var(--vw) * 122);
  width: calc(100vw / var(--vw) * 370);
  z-index: 1;
}

.top-kodawari__item-body {
  padding-top: calc(100vw / var(--vw) * 80);
  padding-left: calc(100vw / var(--vw) * 157);
  padding-right: calc(100vw / var(--vw) * 68);
}

.top-kodawari__item-body.middle {
  padding-top: calc(100vw / var(--vw) * 143);
  padding-left: calc(100vw / var(--vw) * 180);
  padding-right: 0;
}

.top-kodawari__item-body.bottom {
  padding-top: calc(100vw / var(--vw) * 146);
  padding-left: calc(100vw / var(--vw) * 338);
  padding-right: calc(100vw / var(--vw) * 73);
}

.top-kodawari__item-heading {
  font-family: var(--top-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 28);
  color: var(--top-text);
  margin-bottom: calc(100vw / var(--vw) * 20);
}

.top-recruit {
  position: relative;
  overflow: hidden;
  padding-top: calc(100vw / var(--vw) * 260);
}

.top-recruit__inner {
  max-width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: calc(100vw / var(--vw) * 602);
}

.top-recruit__photo {
  width: calc(100vw / var(--vw) * 732);
}

.top-recruit__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top-recruit__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: calc(100vw / var(--vw) * 253) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 74);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 32);
}

.top-recruit__btn {
  margin-top: calc(100vw / var(--vw) * 16);
}

.top-recruit__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 131) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
}

.top-recruit__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-contact {
  position: relative;
  overflow: hidden;
  padding-top: calc(100vw / var(--vw) * 276);
  padding-bottom: calc(100vw / var(--vw) * 257);
}

.top-contact__bg {
  width: calc(100vw / var(--vw) * 1180);
  position: relative;
  margin-left: auto;
}

.top-contact__card {
  position: absolute;
  top: calc(100vw / var(--vw) * 382);
  left: calc(100vw / var(--vw) * 82);
  z-index: 2;
  background: var(--top-contact-bg);
  width: calc(100vw / var(--vw) * 623);
  padding: calc(100vw / var(--vw) * 72) calc(100vw / var(--vw) * 62);
  padding-right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 82);
}

.top-contact__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
}

.top-contact__title img {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.top-contact__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 32);
  padding-top: calc(100vw / var(--vw) * 154);
}

.top-contact__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 16);
  margin-top: calc(100vw / var(--vw) * 28);
}

.top-contact__btn-tel {
  width: calc(100vw / var(--vw) * 229);
}

.top-contact__btn-tel .top-btn__arrow {
  left: calc(100vw / var(--vw) * 190);
}

.top-contact__btn-form {
  width: calc(100vw / var(--vw) * 255);
}

.top-contact__btn-form .top-btn__arrow {
  left: calc(100vw / var(--vw) * 216);
}

:root {
  --ab-text: #333;
  --ab-black: #070707;
  --ab-gold: #f4dfb7;
  --ab-cream: #fdeece;
  --ab-dark: #131313;
  --ab-white: #fff;
  --ab-body: 'Zen Kaku Gothic New', sans-serif;
  --ab-mincho: 'Shippori Mincho', serif;
  --ab-logo: 'Yuji Syuku', serif;
}

.ab {
  font-family: var(--ab-body);
  color: var(--ab-text);
  line-height: 1.8;
  background: #fff;
}

.ab * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.ab a {
  color: inherit;
  text-decoration: none;
}

.ab-title-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.ab-emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.ab-title {
  font-family: var(--ab-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
  color: var(--ab-text);
}

.ab-text {
  font-family: var(--ab-body);
  font-size: calc(100vw / var(--vw) * 16);
  font-weight: 400;
  line-height: 2;
  color: var(--ab-text);
}

.ab-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 16);
  padding: calc(100vw / var(--vw) * 4) calc(100vw / var(--vw) * 20);
  border-style: solid;
  border-color: var(--ab-text);
  border-width: calc(100vw / var(--vw) * 0.8);
  font-family: var(--ab-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--ab-text);
  background: transparent;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  position: relative;
  text-decoration: none;
  width: calc(100vw / var(--vw) * 197);
}

.ab-btn:hover {
  opacity: 0.7;
}

.ab-btn__arrow {
  display: inline-block;
  width: calc(100vw / var(--vw) * 69);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: calc(100vw / var(--vw) * 150);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.ab-btn__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.ab-btn:hover .ab-btn__arrow {
  width: calc(100vw / var(--vw) * 88);
}

.ab-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
}

.ab-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ab-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.ab-fv__page-title {
  position: absolute;
  left: calc(100vw / var(--vw) * 131);
  top: calc(100vw / var(--vw) * 150);
  z-index: 2;
  font-family: var(--ab-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: #fff;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.6em;
  line-height: 1;
}

.ab-fv__photo-small-left {
  position: absolute;
  left: calc(100vw / var(--vw) * 48);
  bottom: calc(100vw / var(--vw) * 30);
  z-index: 2;
  width: calc(100vw / var(--vw) * 253);
  height: calc(100vw / var(--vw) * 160);
  -o-object-fit: cover;
  object-fit: cover;
}

.ab-fv__photo-small-right {
  position: absolute;
  right: calc(100vw / var(--vw) * 52);
  top: calc(100vw / var(--vw) * 67);
  z-index: 2;
  width: calc(100vw / var(--vw) * 221);
  height: calc(100vw / var(--vw) * 331);
  -o-object-fit: cover;
  object-fit: cover;
}

.ab-fv__overlay {
  position: absolute;
  right: calc(100vw / var(--vw) * 130);
  bottom: calc(100vw / var(--vw) * 30);
  z-index: 2;
  width: calc(100vw / var(--vw) * 518);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 56) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 85);
}

.ab-fv__quote {
  font-family: var(--ab-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  color: #fff;
  line-height: 1.6;
  letter-spacing: calc(100vw / var(--vw) * 1.8);
  margin-bottom: calc(100vw / var(--vw) * 10);
}

.ab-fv__quote-line {
  width: 100%;
  height: calc(100vw / var(--vw) * 1);
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 0);
}

.ab-fv__quote-sub {
  font-family: var(--ab-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: #fff;
  line-height: 1.7;
}

.ab-concept {
  position: relative;
  padding: calc(100vw / var(--vw) * 130) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 100);
  overflow: hidden;
}

.ab-concept__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: calc(100vw / var(--vw) * 598);
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.ab-concept__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-left: calc(100vw / var(--vw) * 130);
}

.ab-concept__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: calc(100vw / var(--vw) * 155) calc(100vw / var(--vw) * 103) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 155);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100vw / var(--vw) * 432);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 24);
  max-width: calc(100vw / var(--vw) * 480);
  white-space: nowrap;
}

.ab-concept__visual {
  width: calc(100vw / var(--vw) * 570);
  position: relative;
}

.ab-concept__photo-main {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100vw / var(--vw) * 570);
  height: calc(100vw / var(--vw) * 561);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 2;
}

.ab-concept__deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 0);
  left: calc(100vw / var(--vw) * -46);
  width: calc(100vw / var(--vw) * 266);
  height: calc(100vw / var(--vw) * 128);
  background-image: url(../../images/about/ab-concept-deco.webp);
  z-index: 1;
}

.ab-food {
  position: relative;
  overflow: hidden;
}

.ab-food__bg {
  position: absolute;
  top: 0;
  left: calc(100vw / var(--vw) * 340);
  right: calc(100vw / var(--vw) * -8);
  height: calc(100vw / var(--vw) * 662);
  background-image: url(../../images/about/ab-food-bg.webp);
  z-index: 0;
}

.ab-food__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100vw / var(--vw) * 662);
  z-index: 1;
}

.ab-food__visual {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
}

.ab-food__photo-main {
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 460);
  -o-object-fit: cover;
  object-fit: cover;
  margin-top: calc(100vw / var(--vw) * 121);
}

.ab-food__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 185);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 120);
}

.ab-food__body {
  padding-top: calc(100vw / var(--vw) * 287);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 35);
  max-width: calc(100vw / var(--vw) * 480);
}

.ab-food__title {
  padding-top: calc(100vw / var(--vw) * 120);
}

.ab-space {
  position: relative;
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
  overflow: hidden;
}

.ab-space__bg {
  position: absolute;
  bottom: 0;
  left: calc(100vw / var(--vw) * -120);
  width: calc(100vw / var(--vw) * 408);
}

.ab-space__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(100vw / var(--vw) * 634);
}

.ab-space__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-left: calc(100vw / var(--vw) * 130);
  padding-top: calc(100vw / var(--vw) * 120);
}

.ab-space__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-top: calc(100vw / var(--vw) * 277);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 35);
  padding-left: calc(100vw / var(--vw) * 130);
}

.ab-space__visual {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  height: calc(100vw / var(--vw) * 600);
}

.ab-space__photo-main {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100vw / var(--vw) * 483);
  height: calc(100vw / var(--vw) * 554);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 2;
}

.ab-space__photo-sub1 {
  position: absolute;
  top: calc(100vw / var(--vw) * 332);
  right: calc(100vw / var(--vw) * 273);
  width: calc(100vw / var(--vw) * 266);
  height: calc(100vw / var(--vw) * 266);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 1;
}

.ab-space__photo-sub2 {
  position: absolute;
  top: calc(100vw / var(--vw) * 375);
  right: calc(100vw / var(--vw) * 342);
  width: calc(100vw / var(--vw) * 272);
  height: calc(100vw / var(--vw) * 259);
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 3;
}

.ab-hospitality {
  position: relative;
  overflow: hidden;
}

.ab-hospitality__bg {
  position: absolute;
  top: 0;
  left: calc(100vw / var(--vw) * 332);
  right: 0;
  height: calc(100vw / var(--vw) * 662);
  background-image: url(../../images/about/ab-food-bg.webp);
  z-index: 0;
}

.ab-hospitality__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 170);
  height: calc(100vw / var(--vw) * 662);
  z-index: 1;
  padding: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0);
}

.ab-hospitality__photo {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(100vw / var(--vw) * 570);
  height: calc(100vw / var(--vw) * 450);
  -o-object-fit: cover;
  object-fit: cover;
}

.ab-hospitality__content {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.ab-hospitality__title {
  position: absolute;
  right: calc(100vw / var(--vw) * 130);
}

.ab-hospitality__body {
  padding-top: calc(100vw / var(--vw) * 202);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 35);
}

.ab-scenes {
  position: relative;
  padding: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 80);
  overflow: hidden;
}

.ab-scenes__title {
  position: absolute;
  top: 0;
  left: calc(100vw / var(--vw) * 138);
}

.ab-scenes__bg {
  position: absolute;
  top: calc(100vw / var(--vw) * 510);
  left: 0;
  right: calc(100vw / var(--vw) * 82);
  width: calc(100vw / var(--vw) * 1358);
  height: calc(100vw / var(--vw) * 778);
  background-image: url(../../images/about/ab-scenes-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.ab-scenes__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.ab-scenes__head {
  margin-bottom: calc(100vw / var(--vw) * 50);
  padding-left: calc(100vw / var(--vw) * 387);
}

.ab-scenes__subtitle {
  padding-top: calc(100vw / var(--vw) * 148);
}

.ab-scenes__grid {
  display: grid;
  grid-template-columns: calc(100vw / var(--vw) * 416) calc(100vw / var(--vw) * 416);
  gap: calc(100vw / var(--vw) * 90);
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 82) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 387);
}

.ab-scenes__card {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 310);
  overflow: hidden;
}

.ab-scenes__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.ab-scenes__card-overlay {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(12%, rgba(34, 34, 34, 0.9)), color-stop(51%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, rgba(34, 34, 34, 0.9) 12%, rgba(0, 0, 0, 0) 51%);
  background: linear-gradient(to top, rgba(34, 34, 34, 0.9) 12%, rgba(0, 0, 0, 0) 51%);
}

.ab-scenes__card-text {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 20);
  left: calc(100vw / var(--vw) * 20);
  z-index: 2;
}

.ab-scenes__card-title {
  font-family: var(--ab-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 24);
  color: #fff;
  line-height: 1.6;
}

.ab-scenes__card-desc {
  font-family: var(--ab-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: #fff;
  line-height: 1.7;
}

.ab-scenes__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: calc(100vw / var(--vw) * 163);
  margin-top: calc(100vw / var(--vw) * -40);
}

.ab-scenes__btn-wrap .ab-btn {
  width: calc(100vw / var(--vw) * 212);
}

.ab-scenes__btn-wrap .ab-btn .ab-btn__arrow {
  left: calc(100vw / var(--vw) * 185);
}

.ab-shop {
  position: relative;
  padding: calc(100vw / var(--vw) * 97) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 185);
  overflow: hidden;
}

.ab-shop__bg {
  position: absolute;
  width: calc(100vw / var(--vw) * 287);
}

.ab-shop__bg.left {
  left: 0;
  top: 0;
}

.ab-shop__bg.right {
  right: 0;
  bottom: calc(100vw / var(--vw) * 160);
}

.ab-shop__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
}

.ab-shop__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 424);
}

.ab-shop__desc {
  padding-top: calc(100vw / var(--vw) * 134);
}

.ab-shop__table {
  width: calc(100vw / var(--vw) * 600);
  margin: 0 auto;
  margin-left: calc(100vw / var(--vw) * 413);
  margin-top: calc(100vw / var(--vw) * -50);
}

.ab-shop__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 0);
  border-bottom-style: solid;
  border-bottom-color: #ccc;
  border-bottom-width: calc(100vw / var(--vw) * 1);
}

.ab-shop__label {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: calc(100vw / var(--vw) * 192);
  flex-basis: calc(100vw / var(--vw) * 192);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--ab-text);
}

.ab-shop__value {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--ab-text);
}

.ab-shop__value--roboto {
  font-family: "Roboto", sans-serif;
}

.ab-shop__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 106);
  margin-top: calc(100vw / var(--vw) * 50);
  margin-left: calc(100vw / var(--vw) * 413);
}

.ab-shop__deco-left {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100vw / var(--vw) * 287);
  height: calc(100vw / var(--vw) * 313);
  opacity: 0.15;
  z-index: 0;
}

.ab-shop__deco-right {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100vw / var(--vw) * 287);
  height: calc(100vw / var(--vw) * 313);
  opacity: 0.15;
  z-index: 0;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

:root {
  --p-shop-text: #333;
  --p-shop-white: #fff;
  --p-shop-cream: #fdeece;
  --p-shop-dark: #131313;
  --p-shop-body: 'Zen Kaku Gothic New', sans-serif;
  --p-shop-mincho: 'Shippori Mincho', serif;
  --p-shop-logo: 'Yuji Syuku', serif;
}

.p-shop {
  font-family: var(--p-shop-body);
  color: var(--p-shop-text);
  line-height: 1.7;
  background: #fff;
}

.p-shop * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-shop a {
  color: inherit;
  text-decoration: none;
}

.p-shop img {
  max-width: 100%;
  display: block;
}

.p-shop-rules__title,
.p-shop-parking__title,
.p-shop-access__title,
.p-shop-basic__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-shop-rules__title-text,
.p-shop-parking__title-text,
.p-shop-access__title-text,
.p-shop-basic__title-text {
  font-family: var(--p-shop-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
  color: var(--p-shop-text);
}

.p-shop-rules__emblem,
.p-shop-parking__emblem,
.p-shop-access__emblem,
.p-shop-basic__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-shop-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
}

.p-shop-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-shop-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-shop-fv__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.5)));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5));
}

.p-shop-fv__page-title {
  position: absolute;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  z-index: 2;
  font-family: var(--p-shop-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: #fff;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.6em;
  line-height: 1;
}

.p-shop-fv__overlay {
  position: absolute;
  z-index: 2;
  right: calc(100vw / var(--vw) * 130);
  bottom: calc(100vw / var(--vw) * 30);
  width: calc(100vw / var(--vw) * 648);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 56) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 85);
  white-space: nowrap;
}

.p-shop-fv__lead {
  font-family: var(--p-shop-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  line-height: 1.6;
  letter-spacing: calc(100vw / var(--vw) * 1.8);
  color: #fff;
}

.p-shop-fv__lead-line {
  display: block;
  width: 100%;
  height: calc(100vw / var(--vw) * 1);
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 0);
}

.p-shop-fv__sub {
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: #fff;
}

.p-shop-basic {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 140);
}

.p-shop-basic__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 170);
}

.p-shop-basic__table {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: calc(100vw / var(--vw) * 600);
}

.p-shop-basic__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0);
  border-bottom: 1px solid #d7d7d7;
}

.p-shop-basic__row:first-child {
  border-top: 1px solid #d7d7d7;
}

.p-shop-basic__row--hours {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-shop-basic__label {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: calc(100vw / var(--vw) * 192);
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-basic__value {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-basic__value--roboto {
  font-family: "Roboto", sans-serif;
}

.p-shop-basic__hours-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  -webkit-column-gap: calc(100vw / var(--vw) * 10);
  -moz-column-gap: calc(100vw / var(--vw) * 10);
  column-gap: calc(100vw / var(--vw) * 10);
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.p-shop-basic__hours-row + .p-shop-basic__hours-row {
  margin-top: calc(100vw / var(--vw) * 6);
}

.p-shop-basic__hours-label {
  font-family: var(--p-shop-body);
  white-space: nowrap;
}

.p-shop-basic__hours-time {
  font-family: var(--p-shop-body);
  white-space: nowrap;
}

.p-shop-basic__hours-note {
  font-family: var(--p-shop-body);
  white-space: nowrap;
}

.p-shop-access {
  position: relative;
}

.p-shop-access__bg {
  position: absolute;
  top: 0;
  width: calc(100vw / var(--vw) * 1207);
  height: calc(100vw / var(--vw) * 660);
  left: calc(100vw / var(--vw) * 233);
  bottom: 0;
  background-image: url(../../images/shop/access_bg.webp);
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.p-shop-access__inner {
  position: relative;
  z-index: 1;
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 130) calc(100vw / var(--vw) * 75) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: calc(100vw / var(--vw) * 40);
}

.p-shop-access__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 65);
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-shop-access__map {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: calc(100vw / var(--vw) * 600);
  height: calc(100vw / var(--vw) * 450);
  overflow: hidden;
}

.p-shop-access__map iframe {
  width: 100%;
  height: 100%;
}

.p-shop-access__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 50);
}

.p-shop-access__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-shop-access__heading {
  font-family: var(--p-shop-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-access__text {
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-access__note {
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-access__title {
  position: absolute;
  top: calc(100vw / var(--vw) * 75);
  right: calc(100vw / var(--vw) * 130);
}

.p-shop-parking {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-shop-parking__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 70);
}

.p-shop-parking__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-shop-parking__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: calc(100vw / var(--vw) * 108);
}

.p-shop-parking__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: calc(100vw / var(--vw) * 352);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 20);
  padding-top: calc(100vw / var(--vw) * 133.5);
  white-space: nowrap;
}

.p-shop-parking__text {
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-parking__note {
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 14);
  line-height: 1.7;
  color: var(--p-shop-text);
  margin-top: calc(100vw / var(--vw) * -13);
}

.p-shop-parking__photo {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: calc(100vw / var(--vw) * 600);
  height: calc(100vw / var(--vw) * 450);
  overflow: hidden;
  margin-top: calc(100vw / var(--vw) * 65);
}

.p-shop-parking__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-shop-rules {
  position: relative;
  padding-bottom: calc(100vw / var(--vw) * 140);
}

.p-shop-rules__bg {
  position: absolute;
  top: 0;
  width: calc(100vw / var(--vw) * 1207);
  height: calc(100vw / var(--vw) * 660);
  left: calc(100vw / var(--vw) * 233);
  bottom: 0;
  background-image: url(../../images/shop/access_bg.webp);
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.p-shop-rules__inner {
  position: relative;
  z-index: 1;
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 75) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: calc(100vw / var(--vw) * 100);
}

.p-shop-rules__content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 65);
  margin-top: calc(100vw / var(--vw) * 67);
}

.p-shop-rules__photo {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: calc(100vw / var(--vw) * 600);
  height: calc(100vw / var(--vw) * 450);
  overflow: hidden;
}

.p-shop-rules__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-shop-rules__list {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 9);
  padding-top: calc(100vw / var(--vw) * 157.5);
}

.p-shop-rules__item {
  position: relative;
  padding-left: calc(100vw / var(--vw) * 21);
  font-family: var(--p-shop-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--p-shop-text);
}

.p-shop-rules__item::before {
  content: "";
  position: absolute;
  left: calc(100vw / var(--vw) * 0);
  top: calc(100vw / var(--vw) * 10);
  width: calc(100vw / var(--vw) * 8);
  height: calc(100vw / var(--vw) * 8);
  border-radius: 50%;
  background: var(--p-shop-text);
}

.p-shop-rules__title {
  margin-top: calc(100vw / var(--vw) * 30);
}

:root {
  --md-text: #333;
  --md-black: #131313;
  --md-white: #fff;
  --md-cream: #fdeece;
  --md-gold: #f4dfb7;
  --md-gold-border: #d8be8a;
  --md-accent: #cb991d;
  --md-body: 'Zen Kaku Gothic New', sans-serif;
  --md-mincho: 'Shippori Mincho', serif;
  --md-logo: 'Yuji Syuku', serif;
}

.p-menu-cat {
  font-family: var(--md-body);
  color: var(--md-text);
  line-height: 1.8;
  background: var(--md-white);
}

.p-menu-cat * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-menu-cat a {
  color: inherit;
  text-decoration: none;
}

.p-menu-cat img {
  display: block;
  max-width: 100%;
}

.p-menu-cat-cats {
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0);
  position: relative;
}

.p-menu-cat-cats__bg-object {
  position: absolute;
  width: calc(100vw / var(--vw) * 287);
}

.p-menu-cat-cats__bg-object.top {
  top: calc(100vw / var(--vw) * 52);
  right: calc(100vw / var(--vw) * 0);
}

.p-menu-cat-cats__bg-object.left {
  top: calc(100vw / var(--vw) * 569);
  left: calc(100vw / var(--vw) * 0);
}

.p-menu-cat-cats__bg-object.bottom {
  bottom: calc(100vw / var(--vw) * 0);
  right: calc(100vw / var(--vw) * 0);
}

.p-menu-cat-cats__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 240);
}

.p-menu-cat-cats__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
}

.p-menu-cat-cats__block[data-cat=osusume] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-left: calc(100vw / var(--vw) * -130);
  margin-right: calc(100vw / var(--vw) * -130);
  width: calc(100vw / var(--vw) * 1440);
  background-color: var(--md-cream);
  background-image: url(../../images/menu-category/osusume-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: calc(100vw / var(--vw) * 190) calc(100vw / var(--vw) * 310) calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 241);
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__paper {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100vw / var(--vw) * 97);
  background-image: url(../../images/menu-category/menu-cat-osusume-bg.webp);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-card-wrap__bg {
  display: none;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__body {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-list__item {
  border-bottom-color: #fff;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__head {
  position: absolute;
  left: calc(100vw / var(--vw) * 131);
  top: calc(100vw / var(--vw) * 120);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  margin-bottom: 0;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__title {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
}

.p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__note {
  margin-top: calc(100vw / var(--vw) * 30);
  margin-left: calc(100vw / var(--vw) * 536);
  font-size: calc(100vw / var(--vw) * 21);
  text-align: left;
  white-space: nowrap;
}

.p-menu-cat-cats__block[data-cat=osusume] > * {
  position: relative;
  z-index: 1;
}

.p-menu-cat-cats__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  margin-bottom: calc(100vw / var(--vw) * 30);
}

.p-menu-cat-cats__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-menu-cat-cats__title {
  font-family: var(--md-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--md-text);
  line-height: 1;
}

.p-menu-cat-cats__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 100);
}

.p-menu-cat-cats__note {
  margin-top: calc(100vw / var(--vw) * 40);
  font-size: calc(100vw / var(--vw) * 21);
  color: var(--md-text);
  text-align: center;
}

.p-menu-cat-card-wrap {
  position: relative;
  width: calc(100vw / var(--vw) * 436);
}

.p-menu-cat-card-wrap__bg {
  position: absolute;
  display: block;
  width: calc(100vw / var(--vw) * 420);
  height: calc(100vw / var(--vw) * 322);
  bottom: calc(100vw / var(--vw) * -9);
  left: calc(100vw / var(--vw) * 25);
  background-image: url(../../images/menu-category/menu-cat-card-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
}

.p-menu-cat-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: var(--md-white);
  padding: calc(100vw / var(--vw) * 18);
  width: 100%;
  -webkit-box-shadow: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0) rgba(93, 89, 79, 0.08);
  box-shadow: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0) rgba(93, 89, 79, 0.08);
  z-index: 1;
}

.p-menu-cat-card__photo {
  width: 100%;
  height: calc(100vw / var(--vw) * 300);
  overflow: hidden;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-menu-cat-card__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-cat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: calc(100vw / var(--vw) * 354);
  gap: calc(100vw / var(--vw) * 26);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-menu-cat-list__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
  padding-bottom: calc(100vw / var(--vw) * 5);
  border-bottom: 1px solid #ececec;
}

.p-menu-cat-list__item::before {
  content: "";
  position: absolute;
  left: calc(100vw / var(--vw) * 1);
  top: calc(100vw / var(--vw) * 8.5);
  width: calc(100vw / var(--vw) * 6);
  height: calc(100vw / var(--vw) * 24);
  background: #e55c69;
}

.p-menu-cat-list__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: calc(100vw / var(--vw) * 8);
}

.p-menu-cat-list__title {
  font-family: var(--md-mincho);
  font-weight: 700;
  font-size: calc(100vw / var(--vw) * 24);
  color: var(--md-text);
  line-height: 1.7;
}

.p-menu-cat-list__price {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 24);
  color: var(--md-text);
  line-height: 1.7;
  white-space: nowrap;
  display: block;
  width: 100%;
  text-align: right;
  padding-right: calc(100vw / var(--vw) * 16);
}

.p-menu-cat-list__desc {
  font-family: var(--md-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--md-text);
  line-height: 1.7;
}

.p-menu-cat-recommend {
  background: var(--md-white);
  padding-bottom: calc(100vw / var(--vw) * 140);
}

.p-menu-cat-recommend__inner {
  width: calc(100vw / var(--vw) * 1180);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 47);
  -moz-column-gap: calc(100vw / var(--vw) * 47);
  column-gap: calc(100vw / var(--vw) * 47);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-menu-cat-recommend__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-menu-cat-recommend__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-menu-cat-recommend__title {
  font-family: var(--md-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--md-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.p-menu-cat-recommend__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 45);
  -moz-column-gap: calc(100vw / var(--vw) * 45);
  column-gap: calc(100vw / var(--vw) * 45);
  margin-top: calc(100vw / var(--vw) * 127);
}

.p-menu-cat-recommend__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-menu-cat-recommend__photo {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 264);
  overflow: hidden;
}

.p-menu-cat-recommend__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-cat-recommend__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: calc(100vw / var(--vw) * 40);
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 13);
  background: #000;
  color: var(--md-white);
  font-family: var(--md-mincho);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 21);
  line-height: 1;
  white-space: nowrap;
}

.p-menu-cat-shop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background: var(--md-white);
}

.p-menu-cat-shop__brand {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background: var(--md-white);
  width: calc(100vw / var(--vw) * 560);
  padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 40);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-menu-cat-shop__cat {
  font-family: var(--md-logo);
  font-size: calc(100vw / var(--vw) * 16);
  margin-bottom: calc(100vw / var(--vw) * 4);
  color: var(--md-text);
}

.p-menu-cat-shop__logo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: calc(100vw / var(--vw) * 6);
  margin-bottom: calc(100vw / var(--vw) * 18);
}

.p-menu-cat-shop__logo {
  font-family: var(--md-logo);
  font-size: calc(100vw / var(--vw) * 40);
  line-height: 1.1;
  color: var(--md-text);
}

.p-menu-cat-shop__logo-sub {
  font-family: var(--md-logo);
  font-size: calc(100vw / var(--vw) * 22);
  color: var(--md-text);
}

.p-menu-cat-shop__tel-label {
  font-family: var(--md-mincho);
  font-size: calc(100vw / var(--vw) * 14);
  margin-bottom: calc(100vw / var(--vw) * 2);
  color: var(--md-text);
}

.p-menu-cat-shop__tel {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  font-family: "Roboto", sans-serif;
  font-size: calc(100vw / var(--vw) * 28);
  font-weight: 500;
  color: var(--md-text);
  line-height: 1;
}

.p-menu-cat-shop__tel-icon {
  width: calc(100vw / var(--vw) * 24);
  height: calc(100vw / var(--vw) * 24);
}

.p-menu-cat-shop__info {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: var(--md-black);
  color: var(--md-white);
  padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 40);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 14);
}

.p-menu-cat-shop__info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: calc(100vw / var(--vw) * 24);
}

.p-menu-cat-shop__info-row dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: var(--md-mincho);
  font-size: calc(100vw / var(--vw) * 14);
  width: calc(100vw / var(--vw) * 90);
  color: var(--md-white);
  opacity: 0.85;
}

.p-menu-cat-shop__info-row dd {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-family: var(--md-body);
  font-size: calc(100vw / var(--vw) * 14);
  line-height: 1.7;
  color: var(--md-white);
}

:root {
  --menu-text: #333;
  --menu-black: #070707;
  --menu-gold: #f4dfb7;
  --menu-cream: #fdeece;
  --menu-tag-border: #d8be8a;
  --menu-accent: #cb991d;
  --menu-dark: #131313;
  --menu-white: #fff;
  --menu-body: 'Zen Kaku Gothic New', sans-serif;
  --menu-mincho: 'Shippori Mincho', serif;
  --menu-logo: 'Yuji Syuku', serif;
}

.p-menu {
  font-family: var(--menu-body);
  color: var(--menu-text);
  line-height: 1.8;
  background: #fff;
}

.p-menu * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-menu a {
  color: inherit;
  text-decoration: none;
}

.p-menu img {
  display: block;
  max-width: 100%;
}

.p-menu-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
}

.p-menu-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-menu-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-fv__page-title {
  position: absolute;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  z-index: 2;
  font-family: var(--menu-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: #fff;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.6em;
  line-height: 1;
}

.p-menu-fv__overlay {
  position: absolute;
  right: calc(100vw / var(--vw) * 130);
  bottom: calc(100vw / var(--vw) * 30);
  z-index: 2;
  width: calc(100vw / var(--vw) * 550);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 56) calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 85);
}

.p-menu-fv__lead {
  font-family: var(--menu-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  color: #fff;
  line-height: 1.6;
  letter-spacing: calc(100vw / var(--vw) * 1.8);
}

.p-menu-fv__lead-line {
  display: block;
  width: 100%;
  height: calc(100vw / var(--vw) * 1);
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0);
}

.p-menu-fv__sub {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: #fff;
  line-height: 1.7;
}

.p-menu-about {
  position: relative;
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 140);
  overflow: hidden;
}

.p-menu-about__bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100vw / var(--vw) * 287);
}

.p-menu-about__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  height: calc(100vw / var(--vw) * 590);
}

.p-menu-about__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 18);
  padding-left: calc(100vw / var(--vw) * 130);
}

.p-menu-about__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-menu-about__title-text {
  font-family: var(--menu-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--menu-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-menu-about__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-left: calc(100vw / var(--vw) * 70);
  margin-top: calc(100vw / var(--vw) * 140);
  width: calc(100vw / var(--vw) * 432);
}

.p-menu-about__text {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  font-weight: 400;
  line-height: 2;
  color: var(--menu-black);
}

.p-menu-about__visual {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  width: auto;
  height: calc(100vw / var(--vw) * 420);
  margin-left: calc(100vw / var(--vw) * 60);
}

.p-menu-about__deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * -20);
  left: calc(100vw / var(--vw) * 20);
  width: calc(100vw / var(--vw) * 600);
  height: calc(100vw / var(--vw) * 156);
  background-image: url(../../images/menu/menu-about_deco.webp);
  z-index: 0;
}

.p-menu-about__photo {
  position: relative;
  width: calc(100vw / var(--vw) * 560);
  height: calc(100vw / var(--vw) * 420);
  margin-left: calc(100vw / var(--vw) * 40);
  z-index: 1;
}

.p-menu-about__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-cards {
  background-image: url(../../images/menu/menu-card_bg.webp);
  background-size: auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0);
}

.p-menu-cards__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 185);
}

.p-menu-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 120);
  -moz-column-gap: calc(100vw / var(--vw) * 120);
  column-gap: calc(100vw / var(--vw) * 120);
  row-gap: calc(100vw / var(--vw) * 100);
}

.p-menu-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-menu-card__photo {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 310);
  overflow: hidden;
}

.p-menu-card__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-card__body {
  background: #fff;
  padding: calc(100vw / var(--vw) * 20);
  min-height: calc(100vw / var(--vw) * 273);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.p-menu-card__title {
  font-family: var(--menu-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 26);
  color: var(--menu-text);
  line-height: 1.7;
  margin-bottom: calc(100vw / var(--vw) * 8);
}

.p-menu-card__desc {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--menu-text);
  line-height: 1.7;
  margin-bottom: calc(100vw / var(--vw) * 18);
}

.p-menu-card__tags-label {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: #3a3a3a;
  line-height: 1.7;
  margin-bottom: calc(100vw / var(--vw) * 10);
}

.p-menu-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc(100vw / var(--vw) * 12);
  list-style: none;
  margin-bottom: calc(100vw / var(--vw) * 28);
}

.p-menu-card__tag {
  background: #fff;
  border: 1px solid var(--menu-tag-border);
  padding: calc(100vw / var(--vw) * 5) calc(100vw / var(--vw) * 9);
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--menu-text);
  line-height: 1.7;
}

.p-menu-card__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: calc(100vw / var(--vw) * 12);
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 14);
  color: var(--menu-text);
  text-align: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  margin-top: auto;
  width: calc(100vw / var(--vw) * 95);
  margin-left: auto;
}

.p-menu-card__more:hover {
  opacity: 0.7;
}

.p-menu-card__more-text {
  line-height: 1;
}

.p-menu-card__more-arrow {
  display: inline-block;
  position: relative;
  width: calc(100vw / var(--vw) * 95);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.p-menu-card__more-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 17);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.p-menu-card__more:hover .p-menu-card__more-arrow {
  width: calc(100vw / var(--vw) * 110);
}

.p-menu-help {
  position: relative;
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 240);
  overflow: hidden;
}

.p-menu-help__bg {
  width: calc(100vw / var(--vw) * 287);
  position: absolute;
  bottom: 0;
  right: 0;
}

.p-menu-help__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  min-height: calc(100vw / var(--vw) * 510);
}

.p-menu-help__visual {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 410);
  margin-left: calc(100vw / var(--vw) * 130);
}

.p-menu-help__deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * -32);
  left: calc(100vw / var(--vw) * 32);
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 181);
  background-image: url(../../images/menu/menu-help_deco.webp);
  z-index: 0;
}

.p-menu-help__photo {
  position: absolute;
  top: 0;
  left: calc(100vw / var(--vw) * 0);
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 410);
  z-index: 1;
}

.p-menu-help__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-menu-help__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: calc(100vw / var(--vw) * 145);
  padding-top: calc(100vw / var(--vw) * 132);
  padding-right: calc(100vw / var(--vw) * 70);
}

.p-menu-help__text {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--menu-text);
  line-height: 2;
  margin-bottom: calc(100vw / var(--vw) * 60);
}

.p-menu-help__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 20);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-menu-help__mail-btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: calc(100vw / var(--vw) * 20);
  border: 0.8px solid var(--menu-text);
  width: calc(100vw / var(--vw) * 182);
  height: calc(100vw / var(--vw) * 40);
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--menu-text);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-menu-help__mail-btn:hover {
  opacity: 0.7;
}

.p-menu-help__mail-btn:hover .p-menu-help__mail-arrow {
  width: calc(100vw / var(--vw) * 88);
}

.p-menu-help__mail-text {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-menu-help__mail-arrow {
  display: inline-block;
  width: calc(100vw / var(--vw) * 69);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: calc(100vw / var(--vw) * 140);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.p-menu-help__mail-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.p-menu-help__phone-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 0.8px solid var(--menu-text);
  width: calc(100vw / var(--vw) * 314);
  height: calc(100vw / var(--vw) * 55);
  text-align: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-menu-help__phone-btn:hover {
  opacity: 0.7;
}

.p-menu-help__phone-label {
  display: block;
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 12);
  color: var(--menu-text);
  line-height: 1;
  margin-bottom: calc(100vw / var(--vw) * 4);
}

.p-menu-help__phone-row {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 4);
}

.p-menu-help__phone-icon {
  width: calc(100vw / var(--vw) * 20);
  height: calc(100vw / var(--vw) * 20);
}

.p-menu-help__phone-icon--sp {
  display: none !important;
}

.p-menu-help__phone-num {
  font-family: "Roboto", sans-serif;
  font-size: calc(100vw / var(--vw) * 21);
  font-weight: 400;
  color: var(--menu-text);
  line-height: 1;
}

.p-menu-help__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: calc(100vw / var(--vw) * 18);
  padding-right: calc(100vw / var(--vw) * 130);
  padding-top: calc(100vw / var(--vw) * 0);
}

.p-menu-help__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-menu-help__title-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 10);
}

.p-menu-help__title-sub {
  margin-top: calc(100vw / var(--vw) * 110);
}

.p-menu-help__title-text {
  font-family: var(--menu-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--menu-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-menu-group {
  position: relative;
  padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 120);
  overflow: hidden;
}

.p-menu-group__title-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 10);
}

.p-menu-group__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  height: calc(100vw / var(--vw) * 510);
}

.p-menu-group__title {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: calc(100vw / var(--vw) * 18);
  padding-left: calc(100vw / var(--vw) * 130);
}

.p-menu-group__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-menu-group__title-text {
  font-family: var(--menu-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--menu-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-menu-group__body {
  padding-left: calc(100vw / var(--vw) * 85);
  padding-top: calc(100vw / var(--vw) * 192);
  padding-right: calc(100vw / var(--vw) * 60);
}

.p-menu-group__text {
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--menu-text);
  line-height: 2;
  letter-spacing: 0.02em;
  margin-bottom: calc(100vw / var(--vw) * 30);
}

.p-menu-group__text-accent {
  font-weight: 500;
  color: var(--menu-accent);
}

.p-menu-group__btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: calc(100vw / var(--vw) * 20);
  border: 0.8px solid var(--menu-text);
  width: calc(100vw / var(--vw) * 230);
  height: calc(100vw / var(--vw) * 40);
  font-family: var(--menu-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--menu-text);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.p-menu-group__btn:hover {
  opacity: 0.7;
}

.p-menu-group__btn:hover .p-menu-group__btn-arrow {
  width: calc(100vw / var(--vw) * 88);
}

.p-menu-group__btn-text {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-menu-group__btn-arrow {
  display: inline-block;
  width: calc(100vw / var(--vw) * 69);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: calc(100vw / var(--vw) * 190);
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.p-menu-group__btn-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: calc(100vw / var(--vw) * -4);
  width: calc(100vw / var(--vw) * 15);
  height: calc(100vw / var(--vw) * 1);
  background: currentColor;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.p-menu-group__visual {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 410);
}

.p-menu-group__deco {
  position: absolute;
  bottom: calc(100vw / var(--vw) * -32);
  left: calc(100vw / var(--vw) * -32);
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 181);
  background-image: url(../../images/menu/menu-group-deco.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.p-menu-group__photo {
  position: absolute;
  top: 0;
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 410);
  z-index: 1;
}

.p-menu-group__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

:root {
  --bq-text: #333333;
  --bq-white: #ffffff;
  --bq-black: #131313;
  --bq-plan-bg: #121212;
  --bq-cream: #fdeece;
  --bq-gold: #bd8f1c;
  --bq-gold-soft: #d8be8a;
  --bq-border: #d8be8a;
  --bq-body: 'Zen Kaku Gothic New', sans-serif;
  --bq-mincho: 'Shippori Mincho', serif;
  --bq-logo: 'Yuji Syuku', serif;
}

.p-banquet {
  font-family: var(--bq-body);
  color: var(--bq-text);
  line-height: 1.8;
  background: var(--bq-white);
}

.p-banquet * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-banquet a {
  color: inherit;
  text-decoration: none;
}

.p-banquet img {
  display: block;
  max-width: 100%;
}

.p-banquet ol,
.p-banquet ul,
.p-banquet li {
  list-style: none;
}

.p-banquet dl,
.p-banquet dt,
.p-banquet dd {
  margin: 0;
}

.p-banquet-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
  background: var(--bq-black);
}

.p-banquet-fv__photos {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 592fr 848fr;
}

.p-banquet-fv__photo {
  overflow: hidden;
}

.p-banquet-fv__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-banquet-fv__page-title {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: var(--bq-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-banquet-fv__lead-box {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 804);
  top: calc(100vw / var(--vw) * 513);
  width: calc(100vw / var(--vw) * 550);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 85);
  color: var(--bq-white);
}

.p-banquet-fv__lead {
  font-family: var(--bq-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  letter-spacing: 0.06em;
  line-height: 1.6;
  white-space: nowrap;
}

.p-banquet-fv__divider {
  display: block;
  width: calc(100vw / var(--vw) * 361);
  height: 1px;
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 16) calc(100vw / var(--vw) * 0);
}

.p-banquet-fv__sub {
  font-family: var(--bq-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
}

.p-banquet-about {
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 140);
}

.p-banquet-about__inner {
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 100);
  -moz-column-gap: calc(100vw / var(--vw) * 100);
  column-gap: calc(100vw / var(--vw) * 100);
}

.p-banquet-about__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-about__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-banquet-about__title-text {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.p-banquet-about__body {
  width: calc(100vw / var(--vw) * 464);
  margin-top: calc(100vw / var(--vw) * 164);
  white-space: nowrap;
}

.p-banquet-about__text {
  font-family: var(--bq-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--bq-text);
}

.p-banquet-about__photo {
  position: relative;
  width: calc(100vw / var(--vw) * 450);
  height: calc(100vw / var(--vw) * 374);
  margin-top: calc(100vw / var(--vw) * 20);
  margin-left: calc(100vw / var(--vw) * 15);
}

.p-banquet-about__photo::after {
  content: "";
  position: absolute;
  width: calc(100vw / var(--vw) * 331);
  height: calc(100vw / var(--vw) * 452);
  background-image: url(../../images/banquet/banquet-about-image-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  top: calc(100vw / var(--vw) * -40);
  right: calc(100vw / var(--vw) * -130);
  z-index: 0;
}

.p-banquet-about__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.p-banquet-plans {
  position: relative;
  background-color: var(--bq-cream);
  background-image: url(../../images/banquet/wagara-pattern.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: soft-light;
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0);
}

.p-banquet-plans__inner {
  width: calc(100vw / var(--vw) * 1182);
  margin: 0 auto;
}

.p-banquet-plans__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 36);
  -moz-column-gap: calc(100vw / var(--vw) * 36);
  column-gap: calc(100vw / var(--vw) * 36);
}

.p-banquet-plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: var(--bq-plan-bg);
  overflow: hidden;
}

.p-banquet-plan__photo {
  width: 100%;
  height: calc(100vw / var(--vw) * 290);
  overflow: hidden;
}

.p-banquet-plan__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-banquet-plan__body {
  color: var(--bq-white);
  padding: calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30);
}

.p-banquet-plan__title {
  font-family: var(--bq-mincho);
  font-weight: var(--plan-title-weight, 500);
  font-size: calc(100vw / var(--vw) * 26);
  color: var(--bq-white);
  text-align: center;
  padding-bottom: calc(100vw / var(--vw) * 15);
  margin-bottom: calc(100vw / var(--vw) * 20);
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.p-banquet-plan__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 15);
}

.p-banquet-plan__meta dt {
  font-family: var(--bq-mincho);
  font-size: calc(100vw / var(--vw) * 18);
  font-weight: 500;
  margin-bottom: calc(100vw / var(--vw) * 3);
}

.p-banquet-plan__meta dd {
  font-family: var(--bq-body);
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.6;
  color: var(--bq-white);
  white-space: nowrap;
  letter-spacing: -0.05em;
}

.p-banquet-rooms {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-banquet-rooms__inner {
  width: calc(100vw / var(--vw) * 1180);
  margin: 0 auto;
}

.p-banquet-rooms__grid {
  display: grid;
  grid-template-columns: 450fr 450fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 116);
  -moz-column-gap: calc(100vw / var(--vw) * 116);
  column-gap: calc(100vw / var(--vw) * 116);
  row-gap: calc(100vw / var(--vw) * 91);
  grid-template-areas: "r1 body title" "r2 r3   title";
}

.p-banquet-rooms__slot--r1 {
  grid-area: r1;
  margin-top: calc(100vw / var(--vw) * 96);
}

.p-banquet-rooms__slot--r2 {
  grid-area: r2;
}

.p-banquet-rooms__slot--r3 {
  grid-area: r3;
}

.p-banquet-rooms__slot--body {
  grid-area: body;
  align-self: center;
}

.p-banquet-rooms__slot--title {
  grid-area: title;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-rooms__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-banquet-rooms__title {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1.3;
}

.p-banquet-rooms__title br {
  display: none;
}

.p-banquet-rooms__text {
  font-family: var(--bq-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--bq-text);
}

.p-banquet-room {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  position: relative;
}

.p-banquet-room::after {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 450);
  height: calc(100vw / var(--vw) * 40);
  background-image: url(../../images/banquet/banquet-room-bg-object.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-banquet-room__photo {
  width: 100%;
  height: calc(100vw / var(--vw) * 290);
  overflow: hidden;
}

.p-banquet-room__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-banquet-room__info {
  position: absolute;
  bottom: calc(100vw / var(--vw) * 15);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -ms-flex-item-align: center;
  align-self: center;
  background: var(--bq-white);
  color: var(--bq-text);
  width: calc(100vw / var(--vw) * 210);
  height: calc(100vw / var(--vw) * 40);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 15);
}

.p-banquet-room__name,
.p-banquet-room__capacity {
  font-family: var(--bq-mincho);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 21);
  color: var(--bq-text);
  line-height: 1;
}

.p-banquet-scenes {
  position: relative;
  background-color: var(--bq-cream);
  background-image: url(../../images/banquet/wagara-pattern.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: soft-light;
  padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
}

.p-banquet-scenes__inner {
  position: relative;
  z-index: 1;
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: calc(100vw / var(--vw) * 70);
  -moz-column-gap: calc(100vw / var(--vw) * 70);
  column-gap: calc(100vw / var(--vw) * 70);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-banquet-scenes__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-scenes__emblem {
  width: calc(100vw / var(--vw) * 30);
  height: calc(100vw / var(--vw) * 28);
}

.p-banquet-scenes__title {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.p-banquet-scenes__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-banquet-scenes__desc {
  font-family: var(--bq-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--bq-text);
  text-align: center;
  margin-bottom: calc(100vw / var(--vw) * 40);
}

.p-banquet-scenes__list {
  display: grid;
  grid-template-columns: repeat(3, 180fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 60);
  -moz-column-gap: calc(100vw / var(--vw) * 60);
  column-gap: calc(100vw / var(--vw) * 60);
  row-gap: calc(100vw / var(--vw) * 20);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-banquet-scenes__item {
  background: var(--bq-white);
  border: 1px solid #ddc596;
  width: calc(100vw / var(--vw) * 180);
  height: calc(100vw / var(--vw) * 70);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  font-family: var(--bq-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 21);
  color: var(--bq-gold);
}

.p-banquet-services {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
  position: relative;
}

.p-banquet-services__bg {
  position: absolute;
  width: calc(100vw / var(--vw) * 287);
  left: 0;
  top: calc(100vw / var(--vw) * 198);
}

.p-banquet-services__inner {
  width: calc(100vw / var(--vw) * 983);
  margin-left: auto;
  margin-right: calc(100vw / var(--vw) * 130);
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 98);
  -moz-column-gap: calc(100vw / var(--vw) * 98);
  column-gap: calc(100vw / var(--vw) * 98);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-banquet-services__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 80);
  -moz-column-gap: calc(100vw / var(--vw) * 80);
  column-gap: calc(100vw / var(--vw) * 80);
  row-gap: calc(100vw / var(--vw) * 54);
  margin-top: calc(100vw / var(--vw) * 68);
}

.p-banquet-services__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-services__emblem {
  width: calc(100vw / var(--vw) * 30);
  height: calc(100vw / var(--vw) * 28);
}

.p-banquet-services__title {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-text);
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
}

.p-banquet-service {
  position: relative;
  width: 100%;
  aspect-ratio: 352/120;
  overflow: hidden;
  border: 3px solid #bea668;
}

.p-banquet-service__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-banquet-service__caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 25%;
  height: 50%;
  background: rgba(255, 255, 255, 0.84);
  color: var(--bq-text);
  font-family: var(--bq-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 21);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.p-banquet-organizer {
  position: relative;
  height: calc(100vw / var(--vw) * 539);
  overflow: hidden;
  color: var(--bq-white);
}

.p-banquet-organizer__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  padding-right: calc(100vw / var(--vw) * 130);
}

.p-banquet-organizer__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 60%;
  object-position: center 60%;
}

.p-banquet-organizer__head {
  position: absolute;
  z-index: 2;
  left: calc(100vw / var(--vw) * 142);
  top: calc(100vw / var(--vw) * 140);
  width: calc(100vw / var(--vw) * 50);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-organizer__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-banquet-organizer__title {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.p-banquet-organizer__text-box {
  position: absolute;
  z-index: 2;
  white-space: nowrap;
  left: calc(100vw / var(--vw) * 262);
  top: calc(100vw / var(--vw) * 193);
  width: calc(100vw / var(--vw) * 702);
  background: rgba(18, 18, 18, 0.78);
  padding: calc(100vw / var(--vw) * 45) calc(100vw / var(--vw) * 45) calc(100vw / var(--vw) * 45) calc(100vw / var(--vw) * 45);
}

.p-banquet-organizer__text {
  font-family: var(--bq-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 18);
  line-height: 1.7;
  color: var(--bq-white);
}

.p-banquet-flow {
  padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
}

.p-banquet-flow__inner {
  width: calc(100vw / var(--vw) * 1074);
  margin-left: auto;
  margin-right: calc(100vw / var(--vw) * 130);
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 70);
  -moz-column-gap: calc(100vw / var(--vw) * 70);
  column-gap: calc(100vw / var(--vw) * 70);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-banquet-flow__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-banquet-flow__emblem {
  width: calc(100vw / var(--vw) * 30);
  height: calc(100vw / var(--vw) * 28);
}

.p-banquet-flow__title {
  font-family: var(--bq-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--bq-text);
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
}

.p-banquet-flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 13);
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.p-banquet-flow__sep {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(100vw / var(--vw) * 24);
  height: calc(100vw / var(--vw) * 24);
  position: relative;
}

.p-banquet-flow__sep::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  width: 60%;
  height: 60%;
  border-top: 2px solid var(--bq-gold-soft);
  border-right: 2px solid var(--bq-gold-soft);
}

.p-banquet-flow-step {
  background: var(--bq-white);
  width: calc(100vw / var(--vw) * 210);
  height: calc(100vw / var(--vw) * 150);
  position: relative;
  padding: calc(100vw / var(--vw) * 5);
}

.p-banquet-flow-step__inner {
  position: relative;
  z-index: 10;
  background: var(--bq-white);
  width: calc(100vw / var(--vw) * 200);
  height: calc(100vw / var(--vw) * 140);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 10);
}

.p-banquet-flow-step__bg {
  content: "";
  display: block;
  width: calc(100vw / var(--vw) * 220);
  height: calc(100vw / var(--vw) * 150);
  background-image: url(../../images/banquet/banquet-border-bg.webp);
  position: absolute;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  top: calc(100vw / var(--vw) * 0);
  left: calc(100vw / var(--vw) * 0);
  z-index: 1;
}

.p-banquet-flow-step__icon {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 50);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-banquet-flow-step__icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.p-banquet-flow-step__label {
  font-family: var(--bq-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 21);
  color: var(--bq-text);
  line-height: 1;
}

:root {
  --rc-text: #333333;
  --rc-black: #131313;
  --rc-white: #ffffff;
  --rc-cream: #fdeece;
  --rc-ivory: #fffbf0;
  --rc-pink: #e55c69;
  --rc-gold-soft: #d8be8a;
  --rc-body: 'Zen Kaku Gothic New', sans-serif;
  --rc-mincho: 'Shippori Mincho', serif;
  --rc-en: 'Roboto', sans-serif;
}

.p-recruit {
  font-family: var(--rc-body);
  color: var(--rc-text);
  line-height: 1.8;
  background: var(--rc-white);
}

.p-recruit * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-recruit a {
  color: inherit;
  text-decoration: none;
}

.p-recruit img {
  display: block;
  max-width: 100%;
}

.p-recruit ol,
.p-recruit ul,
.p-recruit li {
  list-style: none;
}

.p-recruit dl,
.p-recruit dt,
.p-recruit dd {
  margin: 0;
}

.p-recruit-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
  background: var(--rc-black);
}

.p-recruit-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-recruit-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-recruit-fv__page-title {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: var(--rc-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-recruit-fv__lead-box {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 750);
  bottom: calc(100vw / var(--vw) * 30);
  width: calc(100vw / var(--vw) * 560);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 32) calc(100vw / var(--vw) * 85);
  color: var(--rc-white);
}

.p-recruit-fv__lead {
  font-family: var(--rc-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  letter-spacing: 0.06em;
  line-height: 1.6;
  white-space: nowrap;
}

.p-recruit-fv__divider {
  display: block;
  width: calc(100vw / var(--vw) * 361);
  height: 1px;
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 16) calc(100vw / var(--vw) * 0);
}

.p-recruit-fv__sub {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
}

.p-recruit-environment {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-recruit-environment__inner {
  width: calc(100vw / var(--vw) * 1180);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 42);
  -moz-column-gap: calc(100vw / var(--vw) * 42);
  column-gap: calc(100vw / var(--vw) * 42);
}

.p-recruit-environment__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-recruit-environment__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-recruit-environment__title {
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--rc-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-recruit-environment__body {
  max-width: calc(100vw / var(--vw) * 520);
}

.p-recruit-environment__text {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--rc-text);
  white-space: nowrap;
}

.p-recruit-environment__photo {
  position: relative;
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 421);
}

.p-recruit-environment__photo-inner {
  position: absolute;
  left: calc(100vw / var(--vw) * 50);
  top: 0;
  width: calc(100vw / var(--vw) * 500);
  height: calc(100vw / var(--vw) * 390);
  overflow: hidden;
  z-index: 2;
}

.p-recruit-environment__photo-inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-recruit-environment__deco {
  position: absolute;
  left: 0;
  top: calc(100vw / var(--vw) * 240);
  width: calc(100vw / var(--vw) * 550);
  height: calc(100vw / var(--vw) * 181);
  background-color: #f4dfb7;
  background-image: url(../../images/recruit/washi-beige.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.p-recruit-jobs {
  padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
}

.p-recruit-jobs__inner {
  width: calc(100vw / var(--vw) * 1020);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 110);
  -moz-column-gap: calc(100vw / var(--vw) * 110);
  column-gap: calc(100vw / var(--vw) * 110);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}

.p-recruit-jobs__list {
  grid-column: 1;
  grid-row: 1;
}

.p-recruit-jobs__head {
  grid-column: 2;
  grid-row: 1;
}

.p-recruit-jobs__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  margin-top: calc(100vw / var(--vw) * 55);
}

.p-recruit-jobs__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-recruit-jobs__title {
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--rc-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-recruit-jobs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 90);
}

.p-recruit-job {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: calc(100vw / var(--vw) * 860);
}

.p-recruit-job__photo {
  position: relative;
  height: calc(100vw / var(--vw) * 504);
  overflow: hidden;
}

.p-recruit-job__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-recruit-job__body {
  background: var(--rc-ivory);
  min-height: calc(100vw / var(--vw) * 504);
  padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 52) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 51);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-recruit-job__title {
  font-family: var(--rc-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 26);
  color: var(--rc-text);
  line-height: 1;
  padding-bottom: calc(100vw / var(--vw) * 12);
  margin-bottom: calc(100vw / var(--vw) * 4);
  border-bottom: 1px solid #000;
}

.p-recruit-job__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.p-recruit-job__meta dd {
  padding-bottom: calc(100vw / var(--vw) * 6);
  margin-bottom: calc(100vw / var(--vw) * 6);
  border-bottom: 1px solid #000;
}

.p-recruit-job__meta dt {
  font-family: var(--rc-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--rc-text);
  line-height: 1;
  margin-bottom: calc(100vw / var(--vw) * 6);
}

.p-recruit-job__meta dd {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
  color: var(--rc-text);
}

.p-recruit-job__flag {
  margin-top: calc(100vw / var(--vw) * 8);
  -ms-flex-item-align: end;
  align-self: flex-end;
  font-family: var(--rc-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--rc-text);
}

.p-recruit-appeal {
  padding: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 240);
  position: relative;
}

.p-recruit-appeal__bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100vw / var(--vw) * 287);
}

.p-recruit-appeal__inner {
  width: calc(100vw / var(--vw) * 1179);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto auto auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 0;
  -moz-column-gap: 0;
  column-gap: 0;
}

.p-recruit-appeal__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  gap: calc(100vw / var(--vw) * 8);
  margin-right: calc(100vw / var(--vw) * 115);
}

.p-recruit-appeal__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-recruit-appeal__title {
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--rc-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-recruit-appeal__body {
  position: relative;
  padding-left: calc(100vw / var(--vw) * 27);
  margin-right: calc(100vw / var(--vw) * 75);
}

.p-recruit-appeal__body::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: calc(100vw / var(--vw) * 6);
  height: calc(100vw / var(--vw) * 140);
  background: var(--rc-pink);
}

.p-recruit-appeal__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 12);
}

.p-recruit-appeal__item {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 23);
  line-height: 1.7;
  color: var(--rc-text);
  white-space: nowrap;
}

.p-recruit-appeal__photo {
  position: relative;
  width: calc(100vw / var(--vw) * 590);
  height: calc(100vw / var(--vw) * 368);
}

.p-recruit-appeal__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-recruit-flow {
  position: relative;
  overflow: hidden;
  padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  padding-top: 0;
  background: var(--rc-white);
}

.p-recruit-flow::before {
  content: "";
  position: absolute;
  left: calc(100vw / var(--vw) * -40);
  top: calc(100vw / var(--vw) * 0);
  width: calc(100vw / var(--vw) * 287);
  height: calc(100vw / var(--vw) * 313);
  background-image: url(../../images/recruit/flow-deco.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
  pointer-events: none;
}

.p-recruit-flow__inner {
  width: calc(100vw / var(--vw) * 1032);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 75);
  -moz-column-gap: calc(100vw / var(--vw) * 75);
  column-gap: calc(100vw / var(--vw) * 75);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-recruit-flow__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-recruit-flow__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-recruit-flow__title {
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--rc-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-recruit-flow__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 50);
  -moz-column-gap: calc(100vw / var(--vw) * 50);
  column-gap: calc(100vw / var(--vw) * 50);
}

.p-recruit-flow-step {
  width: calc(100vw / var(--vw) * 269);
  height: calc(100vw / var(--vw) * 269);
  border-radius: 50%;
  background: var(--rc-white);
  border: 2px solid var(--rc-gold-soft);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30);
}

.p-recruit-flow-step__num {
  font-family: var(--rc-en);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 20);
  color: var(--rc-pink);
  margin-bottom: calc(100vw / var(--vw) * 14);
}

.p-recruit-flow-step__title {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 28);
  color: var(--rc-text);
  line-height: 1;
  padding-bottom: calc(100vw / var(--vw) * 18);
  margin-bottom: calc(100vw / var(--vw) * 14);
  position: relative;
}

.p-recruit-flow-step__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: calc(100vw / var(--vw) * 223);
  height: 1px;
  background: var(--rc-text);
}

.p-recruit-flow-step__desc {
  font-family: var(--rc-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: #000;
  line-height: 1.5;
}

.p-recruit-contact {
  background-color: var(--rc-cream);
  background-image: url(../../images/banquet/wagara-pattern.webp);
  background-size: cover;
  background-position: center;
  background-blend-mode: soft-light;
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-recruit-contact__inner {
  width: calc(100vw / var(--vw) * 1000);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: calc(100vw / var(--vw) * 54);
}

.p-recruit-contact__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 13);
}

.p-recruit-contact__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-recruit-contact__heading {
  font-family: var(--rc-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--rc-text);
  line-height: 1;
}

.p-recruit-contact__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 124);
  -moz-column-gap: calc(100vw / var(--vw) * 124);
  column-gap: calc(100vw / var(--vw) * 124);
}

.p-recruit-contact__btn--mail {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 7);
  width: calc(100vw / var(--vw) * 270);
  height: calc(100vw / var(--vw) * 59);
  background: var(--rc-white);
  border: 1px solid var(--rc-gold-soft);
  font-family: var(--rc-body);
  font-weight: 500;
  color: var(--rc-text);
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.p-recruit-contact__btn--mail:hover {
  opacity: 0.7;
}

.p-recruit-contact__icon {
  width: calc(100vw / var(--vw) * 32);
  height: calc(100vw / var(--vw) * 32);
}

.p-recruit-contact__btn-label {
  font-size: calc(100vw / var(--vw) * 24);
  line-height: 1;
}

.p-recruit-contact__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 4);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.p-recruit-contact__phone-label {
  font-family: var(--rc-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 18);
  color: var(--rc-text);
  line-height: 1;
  padding-left: calc(100vw / var(--vw) * 33);
}

.p-recruit-contact__phone-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 6);
  color: var(--rc-text);
  text-decoration: none;
}

.p-recruit-contact__phone-icon {
  width: calc(100vw / var(--vw) * 27);
  height: calc(100vw / var(--vw) * 27);
}

.p-recruit-contact__phone-num {
  font-family: var(--rc-en);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 28);
  line-height: 1;
}

.p-recruit-contact__phone-sp-label {
  display: none;
}

:root {
  --ct-text: #333333;
  --ct-black: #131313;
  --ct-white: #ffffff;
  --ct-cream: #fdeece;
  --ct-notice-bg: #fffcf2;
  --ct-highlight: #fff2c7;
  --ct-input-border: #d5d5d5;
  --ct-gold-border: #d8be8a;
  --ct-body: 'Zen Kaku Gothic New', sans-serif;
  --ct-mincho: 'Shippori Mincho', serif;
  --ct-en: 'Roboto', sans-serif;
  --ct-btn-font: 'Noto Sans JP', sans-serif;
}

.p-contact {
  font-family: var(--ct-body);
  color: var(--ct-text);
  line-height: 1.8;
  background: var(--ct-white);
}

.p-contact * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-contact a {
  color: inherit;
  text-decoration: none;
}

.p-contact img {
  display: block;
  max-width: 100%;
}

.p-contact ol,
.p-contact ul,
.p-contact li {
  list-style: none;
}

.p-contact-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
  background: var(--ct-black);
}

.p-contact-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-contact-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-contact-fv__page-title {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  font-family: var(--ct-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: var(--ct-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-contact-fv__lead-box {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 868);
  bottom: calc(100vw / var(--vw) * 32);
  width: calc(100vw / var(--vw) * 442);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 85);
  color: var(--ct-white);
}

.p-contact-fv__lead {
  font-family: var(--ct-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  letter-spacing: calc(100vw / var(--vw) * 6);
  line-height: 1.6;
}

.p-contact-fv__divider {
  display: block;
  width: calc(100vw / var(--vw) * 272);
  height: 1px;
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0);
}

.p-contact-fv__sub {
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
}

.p-contact-urgent {
  position: relative;
  background-color: var(--ct-cream);
  background-image: url(../../images/banquet/wagara-pattern.webp);
  background-size: cover;
  background-position: center;
  background-blend-mode: soft-light;
  padding: calc(100vw / var(--vw) * 89) calc(100vw / var(--vw) * 0);
}

.p-contact-urgent__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: calc(100vw / var(--vw) * 80);
  -moz-column-gap: calc(100vw / var(--vw) * 80);
  column-gap: calc(100vw / var(--vw) * 80);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-contact-urgent__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-contact-urgent__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-contact-urgent__title {
  font-family: var(--ct-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--ct-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-contact-urgent__card {
  background: var(--ct-white);
  border: 1px solid var(--ct-gold-border);
  padding: calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 50);
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 40);
  -moz-column-gap: calc(100vw / var(--vw) * 40);
  column-gap: calc(100vw / var(--vw) * 40);
}

.p-contact-urgent__desc {
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 21);
  line-height: 1.7;
  color: #000;
}

.p-contact-urgent__desc strong {
  font-weight: 600;
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--ct-highlight)), to(var(--ct-highlight)));
  background-image: -webkit-linear-gradient(left, var(--ct-highlight), var(--ct-highlight));
  background-image: linear-gradient(to right, var(--ct-highlight), var(--ct-highlight));
  background-repeat: no-repeat;
  background-size: 100% calc(100vw / var(--vw) * 7);
  background-position: 0 100%;
  padding-bottom: calc(100vw / var(--vw) * 2);
}

.p-contact-urgent__phone {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: calc(100vw / var(--vw) * 12);
  grid-column: 2;
  grid-row: 1;
}

.p-contact-urgent__phone-icon {
  width: calc(100vw / var(--vw) * 35);
  height: calc(100vw / var(--vw) * 35);
  position: relative;
  z-index: 1;
}

.p-contact-urgent__phone-num {
  font-family: var(--ct-en);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--ct-text);
  line-height: 1;
  position: relative;
  z-index: 1;
}

.p-contact-urgent__hours {
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--ct-text);
  grid-column: 2;
  grid-row: 2;
  margin-top: calc(100vw / var(--vw) * 10);
}

.p-contact-form {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-contact-form__inner {
  position: relative;
  width: calc(100vw / var(--vw) * 1440);
  max-width: 100%;
  margin: 0 auto;
}

.p-contact-form__main {
  width: calc(100vw / var(--vw) * 700);
  max-width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 44);
}

.p-contact-form__head {
  position: absolute;
  top: 0;
  right: calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-contact-form__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-contact-form__title {
  font-family: var(--ct-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--ct-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.p-contact-form__notice {
  background: var(--ct-notice-bg);
  padding: calc(100vw / var(--vw) * 28) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 28) calc(100vw / var(--vw) * 144);
  text-align: left;
}

.p-contact-form__notice-title {
  font-family: var(--ct-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 20);
  color: var(--ct-text);
  padding-bottom: calc(100vw / var(--vw) * 8);
  margin-bottom: calc(100vw / var(--vw) * 12);
  position: relative;
}

.p-contact-form__notice-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100vw / var(--vw) * 416);
  height: 1px;
  background: var(--ct-text);
}

.p-contact-form__notice-list {
  list-style: none;
  text-align: left;
}

.p-contact-form__notice-list li {
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--ct-text);
  line-height: 1.7;
}

.p-contact-form__body {
  display: block;
}

.p-contact-form__body .wpcf7-form > p,
.p-contact-form__body > form > p {
  margin: 0;
}

.p-contact-form__field {
  margin-bottom: calc(100vw / var(--vw) * 32);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 12);
}

.p-contact-form__label {
  font-family: var(--ct-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 18);
  color: var(--ct-text);
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-contact-form__required {
  font-family: var(--ct-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 12);
  color: #fff;
  background: #e55c69;
  padding: calc(100vw / var(--vw) * 2) calc(100vw / var(--vw) * 8);
  line-height: 1.2;
  border-radius: 2px;
}

.p-contact-form__input,
.p-contact-form__textarea {
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--ct-text);
  background: var(--ct-white);
  border: 2px solid var(--ct-input-border);
  padding: calc(100vw / var(--vw) * 14);
  width: 100%;
  line-height: 1.5;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}

.p-contact-form__input:focus,
.p-contact-form__textarea:focus {
  outline: none;
  border-color: var(--ct-gold-border);
}

.p-contact-form__input {
  height: calc(100vw / var(--vw) * 50);
}

.p-contact-form__textarea {
  height: calc(100vw / var(--vw) * 335);
  resize: vertical;
}

.p-contact-form__radio-group .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: calc(100vw / var(--vw) * 45);
}

.p-contact-form__radio-group .wpcf7-radio label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  font-family: var(--ct-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--ct-text);
  cursor: pointer;
}

.p-contact-form__radio-group .wpcf7-radio input[type=radio] {
  width: calc(100vw / var(--vw) * 16);
  height: calc(100vw / var(--vw) * 16);
  accent-color: var(--ct-black);
}

.p-contact-form__submit-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: calc(100vw / var(--vw) * 40);
}

.p-contact-form__submit {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100vw / var(--vw) * 250);
  height: calc(100vw / var(--vw) * 50);
  background: var(--ct-black);
  color: var(--ct-white);
  font-family: var(--ct-btn-font);
  font-weight: 700;
  font-size: calc(100vw / var(--vw) * 18);
  border: none;
  cursor: pointer;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.p-contact-form__submit:hover:not(:disabled) {
  opacity: 0.8;
}

.p-contact-form__fallback-note {
  margin-top: calc(100vw / var(--vw) * 20);
  font-size: calc(100vw / var(--vw) * 12);
  color: #999;
  text-align: center;
}

.p-contact-form .wpcf7 .wpcf7-form-control-wrap {
  display: block;
}

.p-contact-form .wpcf7 .wpcf7-response-output {
  margin: calc(100vw / var(--vw) * 20);
  padding: calc(100vw / var(--vw) * 16);
  border-width: 2px !important;
  font-family: var(--ct-body);
  font-size: calc(100vw / var(--vw) * 14);
}

.p-contact-form .wpcf7 .wpcf7-not-valid-tip {
  color: #e55c69;
  font-size: calc(100vw / var(--vw) * 13);
  margin-top: calc(100vw / var(--vw) * 4);
}

.p-contact-form .wpcf7 .wpcf7-spinner {
  display: inline-block;
  vertical-align: middle;
}

:root {
  --fl-text: #333333;
  --fl-black: #131313;
  --fl-white: #ffffff;
  --fl-cream: #fdeece;
  --fl-gold-soft: #d8be8a;
  --fl-body: 'Zen Kaku Gothic New', sans-serif;
  --fl-mincho: 'Shippori Mincho', serif;
}

.p-floor {
  font-family: var(--fl-body);
  color: var(--fl-text);
  line-height: 1.8;
  background: var(--fl-white);
}

.p-floor * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.p-floor a {
  color: inherit;
  text-decoration: none;
}

.p-floor img {
  display: block;
  max-width: 100%;
}

.p-floor ol,
.p-floor ul,
.p-floor li {
  list-style: none;
}

.p-floor dl,
.p-floor dt,
.p-floor dd {
  margin: 0;
}

.p-floor-fv {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 760);
  overflow: hidden;
  background: var(--fl-black);
}

.p-floor-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-floor-fv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-floor-fv__page-title {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 130);
  top: calc(100vw / var(--vw) * 120);
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 40);
  color: var(--fl-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.5em;
  line-height: 1;
}

.p-floor-fv__lead-box {
  position: absolute;
  z-index: 3;
  left: calc(100vw / var(--vw) * 792);
  bottom: calc(100vw / var(--vw) * 32);
  width: calc(100vw / var(--vw) * 520);
  background: rgba(19, 19, 19, 0.7);
  padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 85) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 85);
  color: var(--fl-white);
}

.p-floor-fv__lead {
  font-family: var(--fl-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 30);
  letter-spacing: 0.06em;
  line-height: 1.6;
  white-space: nowrap;
}

.p-floor-fv__divider {
  display: block;
  width: calc(100vw / var(--vw) * 326);
  height: 1px;
  background: #c9c9c9;
  margin: calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0);
}

.p-floor-fv__sub {
  font-family: var(--fl-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 1.7;
}

.p-floor-about {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-floor-about__inner {
  width: calc(100vw / var(--vw) * 1181);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 77);
  -moz-column-gap: calc(100vw / var(--vw) * 77);
  column-gap: calc(100vw / var(--vw) * 77);
}

.p-floor-about__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-floor-about__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-floor-about__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-floor-about__body {
  max-width: calc(100vw / var(--vw) * 428);
}

.p-floor-about__text {
  font-family: var(--fl-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 16);
  line-height: 2;
  color: var(--fl-text);
}

.p-floor-about__photo {
  position: relative;
  width: calc(100vw / var(--vw) * 536);
  height: calc(100vw / var(--vw) * 426);
}

.p-floor-about__photo-inner {
  position: absolute;
  left: calc(100vw / var(--vw) * 18);
  top: calc(100vw / var(--vw) * 18);
  width: calc(100vw / var(--vw) * 500);
  height: calc(100vw / var(--vw) * 390);
  overflow: hidden;
}

.p-floor-about__photo-inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-floor-about__deco {
  position: absolute;
  width: calc(100vw / var(--vw) * 176);
  height: calc(100vw / var(--vw) * 181);
  background-color: #f4dfb7;
  background-image: url(../../images/floor/washi-beige.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  pointer-events: none;
}

.p-floor-about__deco--tl {
  left: 0;
  top: 0;
}

.p-floor-about__deco--br {
  right: 0;
  bottom: 0;
}

.p-floor-rooms {
  position: relative;
  background-color: var(--fl-cream);
  background-image: url(../../images/banquet/wagara-pattern.webp);
  background-size: cover;
  background-position: center;
  background-blend-mode: soft-light;
  padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0);
}

.p-floor-room {
  margin-bottom: calc(100vw / var(--vw) * 100);
}

.p-floor-room:last-child {
  margin-bottom: 0;
}

.p-floor-room__inner {
  width: calc(100vw / var(--vw) * 1310);
  margin: 0 auto;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 32);
  -moz-column-gap: calc(100vw / var(--vw) * 32);
  column-gap: calc(100vw / var(--vw) * 32);
}

.p-floor-room--right .p-floor-room__inner {
  grid-template-columns: 620fr 500fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 80);
  -moz-column-gap: calc(100vw / var(--vw) * 80);
  column-gap: calc(100vw / var(--vw) * 80);
}

.p-floor-room--right .p-floor-room__photo {
  grid-column: 1;
  grid-row: 1;
}

.p-floor-room--right .p-floor-room__body {
  grid-column: 2;
  grid-row: 1;
}

.p-floor-room--right .p-floor-room__head {
  grid-column: 3;
  grid-row: 1;
}

.p-floor-room--left .p-floor-room__inner {
  grid-template-columns: auto 500fr 620fr;
  -webkit-column-gap: calc(100vw / var(--vw) * 80);
  -moz-column-gap: calc(100vw / var(--vw) * 80);
  column-gap: calc(100vw / var(--vw) * 80);
}

.p-floor-room--left .p-floor-room__head {
  grid-column: 1;
  grid-row: 1;
}

.p-floor-room--left .p-floor-room__body {
  grid-column: 2;
  grid-row: 1;
}

.p-floor-room--left .p-floor-room__photo {
  grid-column: 3;
  grid-row: 1;
}

.p-floor-room__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  margin-top: calc(100vw / var(--vw) * 55);
}

.p-floor-room__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-floor-room__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-floor-room__photo {
  position: relative;
  height: calc(100vw / var(--vw) * 500);
  overflow: hidden;
}

.p-floor-room__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  image-orientation: from-image;
}

.p-floor-room[data-room=private-mid] .p-floor-room__photo img {
  -o-object-position: center;
  object-position: center;
}

.p-floor-room[data-room=banquet-hall] .p-floor-room__photo img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.p-floor-room__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 12);
}

.p-floor-room__heading {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 26);
  color: var(--fl-text);
  line-height: 1.4;
  padding-bottom: calc(100vw / var(--vw) * 12);
  margin-bottom: calc(100vw / var(--vw) * 12);
  border-bottom: 1px solid var(--fl-gold-soft);
}

.p-floor-room__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 4);
}

.p-floor-room__meta dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  font-family: var(--fl-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 18);
  color: var(--fl-text);
  line-height: 1.7;
}

.p-floor-room__meta dd::before {
  content: "";
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: calc(100vw / var(--vw) * 9);
  height: calc(100vw / var(--vw) * 9);
  background: #c9ac6e;
}

.p-floor-room__desc {
  font-family: var(--fl-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: var(--fl-text);
  line-height: 1.7;
  margin-top: calc(100vw / var(--vw) * 12);
}

.p-floor-room__link {
  margin-top: calc(100vw / var(--vw) * 16);
  -ms-flex-item-align: start;
  align-self: flex-start;
  color: var(--fl-text);
  padding-left: calc(100vw / var(--vw) * 16);
}

.p-floor-features {
  padding: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0);
}

.p-floor-features__inner {
  position: relative;
  width: calc(100vw / var(--vw) * 1310);
  margin: 0 auto;
  height: calc(100vw / var(--vw) * 511);
}

.p-floor-features__head {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100vw / var(--vw) * 50);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-floor-features__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-floor-features__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-floor-features__body {
  position: absolute;
  left: calc(100vw / var(--vw) * 140);
  top: calc(100vw / var(--vw) * 106);
}

.p-floor-features__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 12);
}

.p-floor-features__item {
  position: relative;
  font-family: var(--fl-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 20);
  color: var(--fl-text);
  line-height: 1.7;
  padding-left: calc(100vw / var(--vw) * 16);
}

.p-floor-features__item::before {
  content: "";
  position: absolute;
  left: calc(100vw / var(--vw) * 0);
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: calc(100vw / var(--vw) * 8);
  height: calc(100vw / var(--vw) * 8);
  border-radius: 50%;
  background: var(--fl-gold-soft);
}

.p-floor-features__photos {
  position: absolute;
}

.p-floor-features__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-floor-features__photo--main {
  position: absolute;
  left: calc(100vw / var(--vw) * 670);
  top: calc(100vw / var(--vw) * 0);
  width: calc(100vw / var(--vw) * 640);
  height: calc(100vw / var(--vw) * 420);
  z-index: 1;
}

.p-floor-features__photo--sub {
  position: absolute;
  left: calc(100vw / var(--vw) * 490);
  top: calc(100vw / var(--vw) * 249);
  width: calc(100vw / var(--vw) * 256);
  height: calc(100vw / var(--vw) * 262);
  z-index: 2;
}

.p-floor-scenes {
  padding: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0);
}

.p-floor-scenes__inner {
  width: calc(100vw / var(--vw) * 1180);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 759fr 208fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 80);
  -moz-column-gap: calc(100vw / var(--vw) * 80);
  column-gap: calc(100vw / var(--vw) * 80);
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  min-height: calc(100vw / var(--vw) * 604);
}

.p-floor-scenes__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: calc(100vw / var(--vw) * 59);
  -moz-column-gap: calc(100vw / var(--vw) * 59);
  column-gap: calc(100vw / var(--vw) * 59);
  row-gap: calc(100vw / var(--vw) * 36);
  margin-top: calc(100vw / var(--vw) * 80);
}

.p-floor-scenes__desc {
  font-family: var(--fl-body);
  font-size: calc(100vw / var(--vw) * 16);
  color: #000;
  line-height: 1.7;
  margin-top: calc(100vw / var(--vw) * 161);
  white-space: nowrap;
}

.p-floor-scenes__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-floor-scenes__emblem {
  width: calc(100vw / var(--vw) * 50);
  height: calc(100vw / var(--vw) * 47);
}

.p-floor-scenes__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-floor-scene {
  position: relative;
  width: 100%;
  height: calc(100vw / var(--vw) * 244);
  overflow: hidden;
}

.p-floor-scene__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 0;
}

.p-floor-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0)), color-stop(85%, rgba(0, 0, 0, 0.45)), to(rgba(0, 0, 0, 0.65)));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.45) 85%, rgba(0, 0, 0, 0.65) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.45) 85%, rgba(0, 0, 0, 0.65) 100%);
  z-index: 1;
  pointer-events: none;
}

.p-floor-scene__label {
  position: absolute;
  z-index: 2;
  left: calc(100vw / var(--vw) * 16);
  bottom: calc(100vw / var(--vw) * 16);
  color: var(--fl-white);
  font-family: var(--fl-mincho);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 26);
  line-height: 1;
}

.p-floor-info {
  position: relative;
  height: calc(100vw / var(--vw) * 488);
  overflow: hidden;
  color: var(--fl-white);
}

.p-floor-info__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-floor-info__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-floor-info__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, color-stop(1.5%, rgba(0, 0, 0, 0.66)), color-stop(107%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.66) 1.5%, rgba(0, 0, 0, 0) 107%);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.66) 1.5%, rgba(0, 0, 0, 0) 107%);
}

.p-floor-info__inner {
  position: relative;
  z-index: 1;
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 139);
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: calc(100vw / var(--vw) * 60);
  -moz-column-gap: calc(100vw / var(--vw) * 60);
  column-gap: calc(100vw / var(--vw) * 60);
}

.p-floor-info__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.p-floor-info__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-floor-info__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-white);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.3em;
  line-height: 1;
}

.p-floor-info__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  row-gap: calc(100vw / var(--vw) * 8);
}

.p-floor-info__item {
  font-family: var(--fl-body);
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 20);
  color: var(--fl-white);
  line-height: 1.7;
}

.p-floor-banquet {
  padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0);
}

.p-floor-banquet__inner {
  width: calc(100vw / var(--vw) * 1133);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: calc(100vw / var(--vw) * 60);
  -moz-column-gap: calc(100vw / var(--vw) * 60);
  column-gap: calc(100vw / var(--vw) * 60);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-floor-banquet__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: calc(100vw / var(--vw) * 32);
}

.p-floor-banquet__desc {
  font-family: var(--fl-body);
  font-weight: 400;
  font-size: calc(100vw / var(--vw) * 20);
  color: var(--fl-text);
  text-align: center;
  line-height: 1.8;
}

.p-floor-banquet__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(100vw / var(--vw) * 18);
  width: 100%;
}

.p-floor-banquet__card {
  height: calc(100vw / var(--vw) * 232);
  overflow: hidden;
}

.p-floor-banquet__card-photo {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.p-floor-banquet__card-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.p-floor-banquet__card-title {
  display: none;
}

.p-floor-banquet__btn {
  color: var(--fl-text);
  padding-left: calc(100vw / var(--vw) * 16);
}

.p-floor-banquet__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  margin-top: calc(100vw / var(--vw) * 55);
}

.p-floor-banquet__emblem {
  width: calc(100vw / var(--vw) * 42);
  height: calc(100vw / var(--vw) * 40);
}

.p-floor-banquet__title {
  font-family: var(--fl-mincho);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: var(--fl-text);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.25em;
  line-height: 1;
}

.pc {
  display: block !important;
}

.pc_inline {
  display: inline;
}

.pc_fx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pc_inline_block {
  display: inline-block;
}

.sp {
  display: none !important;
}

.sp_inline {
  display: none !important;
}

.sp_fx {
  display: none !important;
}

.sp_inline_block {
  display: none !important;
}

.relative {
  position: relative;
}

.bg-gray {
  background: var(--bg-gray);
}

.g-fv-sp-menu {
  display: none;
}

.g-fv-sp-menu__label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(100vw / var(--vw) * 12);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.g-fv-sp-menu__line {
  width: calc(100vw / var(--vw) * 40);
  height: calc(100vw / var(--vw) * 1);
  background: #fff;
}

.g-fv-sp-menu.is-hidden {
  display: none;
}

.g-sp-cta-bar {
  display: none;
}

.g-sp-cta-bar__btn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: calc(100vw / var(--vw) * 8);
  position: relative;
  text-decoration: none;
  padding: calc(100vw / var(--vw) * 3);
}

.g-sp-cta-bar__btn::after {
  content: "";
  display: block;
  width: calc(100% - 100vw / var(--vw) * 6);
  height: calc(100% - 100vw / var(--vw) * 6);
  border-style: solid;
  border-color: #fff;
  border-width: calc(100vw / var(--vw) * 1);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.g-sp-cta-bar__btn--tel {
  background: #000;
}

.g-sp-cta-bar__btn--line {
  background: #4cc764;
}

.g-sp-cta-bar__icon {
  width: calc(100vw / var(--vw) * 18);
  height: calc(100vw / var(--vw) * 18);
  -webkit-filter: invert(1);
  filter: invert(1);
}

.g-sp-cta-bar__text {
  font-family: "Shippori Mincho", serif;
  font-size: calc(100vw / var(--vw) * 18);
  font-weight: 500;
  color: #fff;
}

.g-sp-cta-bar__btn--line .g-sp-cta-bar__text {
  font-weight: 700;
}

.g-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  height: calc(100vw / var(--vw) * 120);
  -webkit-box-shadow: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 2) calc(100vw / var(--vw) * 8) calc(100vw / var(--vw) * 0) rgba(0, 0, 0, 0.08);
  box-shadow: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 2) calc(100vw / var(--vw) * 8) calc(100vw / var(--vw) * 0) rgba(0, 0, 0, 0.08);
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.g-sticky.is-visible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.g-sticky__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  height: 100%;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.g-sticky__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-decoration: none;
  color: inherit;
}

.g-sticky__brand-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.g-sticky__cat {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 18);
  color: #000;
  line-height: 1.09;
}

.g-sticky__logo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: calc(100vw / var(--vw) * 4);
}

.g-sticky__logo {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 41);
  color: #000;
  line-height: 1.1;
}

.g-sticky__logo-sub {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 27);
  color: #000;
}

.g-sticky__center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: calc(100vw / var(--vw) * 20);
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.g-sticky__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 43);
}

.g-sticky__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 35);
}

.g-sticky__nav a {
  font-family: var(--top-yuMinchou);
  font-size: calc(100vw / var(--vw) * 16);
  color: #020202;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  text-decoration: none;
}

.g-sticky__nav a:hover {
  opacity: 0.6;
}

.g-sticky__tel-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
}

.g-sticky__tel-label {
  font-family: var(--top-yuMinchou);
  font-size: calc(100vw / var(--vw) * 16);
  color: #333;
}

.g-sticky__tel {
  font-family: "Roboto", sans-serif;
  font-size: calc(100vw / var(--vw) * 30);
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 8);
  text-decoration: none;
  line-height: 1;
}

.g-sticky__tel-icon {
  width: calc(100vw / var(--vw) * 22);
  height: calc(100vw / var(--vw) * 22);
}

.g-hamburger {
  display: none;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}

.g-hamburger.is-open {
  opacity: 1;
  visibility: visible;
}

.g-hamburger__close {
  position: absolute;
  top: calc(100vw / var(--vw) * 30);
  right: calc(100vw / var(--vw) * 15);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 4);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.g-hamburger__close-label {
  font-family: "Shippori Mincho", serif;
  font-size: calc(100vw / var(--vw) * 12);
  color: #1e1e1e;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.g-hamburger__close-x {
  position: relative;
  width: calc(100vw / var(--vw) * 28);
  height: calc(100vw / var(--vw) * 28);
}

.g-hamburger__close-x::before,
.g-hamburger__close-x::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100vw / var(--vw) * 40);
  height: calc(100vw / var(--vw) * 1);
  background: #1e1e1e;
}

.g-hamburger__close-x::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.g-hamburger__close-x::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.g-hamburger__nav {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 30);
}

.g-hamburger__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100vw / var(--vw) * 240);
  height: calc(100vw / var(--vw) * 50);
  border-style: solid;
  border-color: #c9ac6e;
  border-width: calc(100vw / var(--vw) * 1);
  background: #fff;
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 20);
  color: #333;
  text-decoration: none;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}

.g-hamburger__link:hover {
  background: #fdf8ee;
}

.g-footer {
  background-image: url(../../images/footer-bg.webp);
  background-size: cover;
  color: #fff;
  padding: calc(100vw / var(--vw) * 68) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 56);
  position: relative;
  overflow: hidden;
  font-family: "Roboto", sans-serif;
}

.g-footer__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 167) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 129);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.g-footer__cat {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 30);
  color: #fff;
}

.g-footer__logo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: calc(100vw / var(--vw) * 8);
  margin-bottom: calc(100vw / var(--vw) * 11);
}

.g-footer__logo {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 60);
  color: #fff;
  line-height: 1.1;
}

.g-footer__logo-sub {
  font-family: "Yuji Syuku", serif;
  font-size: calc(100vw / var(--vw) * 30);
  color: #fff;
}

.g-footer__hr {
  border: none;
  border-top-style: solid;
  border-top-color: #fff;
  border-top-width: calc(100vw / var(--vw) * 1);
  margin: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 24);
  max-width: calc(100vw / var(--vw) * 697);
}

.g-footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(100vw / var(--vw) * 6);
  font-size: calc(100vw / var(--vw) * 22);
}

.g-footer__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 24);
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.g-footer__label {
  font-weight: 500;
  width: calc(100vw / var(--vw) * 110);
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: var(--top-body);
}

.g-footer__val {
  font-weight: 500;
}

.g-footer__val a {
  color: #fff;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 4);
}

.g-footer__val a::before {
  content: "";
  background-image: url(../../images/footer_tel_icon.svg);
  display: block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: calc(100vw / var(--vw) * 21);
  height: calc(100vw / var(--vw) * 21);
}

.g-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  padding-top: calc(100vw / var(--vw) * 130);
  gap: calc(100vw / var(--vw) * 20);
}

.g-footer__nav a {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 16);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.05em;
  color: #fff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  text-decoration: none;
}

.g-footer__nav a:hover {
  opacity: 0.6;
}

.c-info-bar {
  background: #fff;
  -webkit-box-shadow: 0 0 calc(100vw / var(--vw) * 4) rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 calc(100vw / var(--vw) * 4) rgba(0, 0, 0, 0.1);
  padding: calc(100vw / var(--vw) * 24) calc(100vw / var(--vw) * 0);
}

.c-info-bar__inner {
  width: calc(100vw / var(--vw) * 1440);
  margin: 0 auto;
  padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.c-info-bar__cat {
  font-family: var(--top-logo);
  font-size: calc(100vw / var(--vw) * 18);
  margin-bottom: calc(100vw / var(--vw) * 2);
  color: #333;
}

.c-info-bar__logo-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: calc(100vw / var(--vw) * 4);
  margin-bottom: calc(100vw / var(--vw) * 16);
}

.c-info-bar__logo {
  font-family: var(--top-logo);
  font-size: calc(100vw / var(--vw) * 41);
  line-height: 1.1;
  color: #333;
}

.c-info-bar__logo-sub {
  font-family: var(--top-logo);
  font-size: calc(100vw / var(--vw) * 27);
  color: #333;
}

.c-info-bar__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: calc(100vw / var(--vw) * 35);
}

.c-info-bar__tel-label {
  font-family: var(--top-yuMinchou);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 16);
  margin-bottom: calc(100vw / var(--vw) * 2);
  color: #333;
}

.c-info-bar__tel {
  font-family: "Roboto", sans-serif;
  font-size: calc(100vw / var(--vw) * 30);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 6);
  color: #333;
  line-height: 1;
}

.c-info-bar__tel-icon {
  width: calc(100vw / var(--vw) * 27);
  height: calc(100vw / var(--vw) * 27);
}

.c-info-bar__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  gap: calc(100vw / var(--vw) * 35);
}

.c-info-bar__nav a {
  font-family: var(--top-yuMinchou);
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 16);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.05em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  color: #333;
}

.c-info-bar__nav a:hover {
  opacity: 0.6;
}

.c-info-bar__youtube {
  width: calc(100vw / var(--vw) * 200);
  height: calc(100vw / var(--vw) * 100);
}

.c-cta-reserve {
  position: relative;
  height: calc(100vw / var(--vw) * 648);
  overflow: hidden;
}

.c-cta-reserve__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.c-cta-reserve__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-cta-reserve__card {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.9);
  width: calc(100vw / var(--vw) * 659);
  margin: calc(100vw / var(--vw) * 120) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 130);
  padding: calc(100vw / var(--vw) * 88) calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 60);
}

.c-cta-reserve__heading {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-size: calc(100vw / var(--vw) * 35);
  color: #333;
  line-height: 1.4;
  margin-bottom: calc(100vw / var(--vw) * 40);
}

.c-cta-reserve__desc {
  font-size: calc(100vw / var(--vw) * 22);
  line-height: 1.6;
  color: #333;
  margin-bottom: calc(100vw / var(--vw) * 50);
}

.c-cta-reserve__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 62);
}

.c-cta-reserve__mail-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 10);
  width: calc(100vw / var(--vw) * 220);
  height: calc(100vw / var(--vw) * 55);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-style: solid;
  border-color: #333;
  border-width: calc(100vw / var(--vw) * 1);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: calc(100vw / var(--vw) * 20);
  line-height: 1.7;
  color: #333;
  background: transparent;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  text-decoration: none;
}

.c-cta-reserve__mail-btn:hover {
  opacity: 0.7;
}

.c-cta-reserve__mail-icon {
  width: calc(100vw / var(--vw) * 30);
  height: calc(100vw / var(--vw) * 30);
}

.c-cta-reserve__phone-area {
  text-align: center;
  width: calc(100vw / var(--vw) * 206);
}

.c-cta-reserve__phone-label {
  font-size: calc(100vw / var(--vw) * 16);
  color: #333;
  margin-bottom: calc(100vw / var(--vw) * 2);
}

.c-cta-reserve__phone {
  font-family: "Roboto", sans-serif;
  font-size: calc(100vw / var(--vw) * 28);
  font-weight: 400;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 6);
  white-space: nowrap;
  text-decoration: none;
}

.c-cta-reserve__phone-icon {
  width: calc(100vw / var(--vw) * 27);
  height: calc(100vw / var(--vw) * 27);
}

.g-line-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(100vw / var(--vw) * 15);
  padding: calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0);
  width: calc(100vw / var(--vw) * 66);
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e5e5e5;
  text-decoration: none;
  -webkit-transform: translateY(-50%) translateX(100%);
  transform: translateY(-50%) translateX(100%);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.g-line-banner.is-visible {
  -webkit-transform: translateY(-50%) translateX(0);
  transform: translateY(-50%) translateX(0);
}

.g-line-banner__icon {
  width: calc(100vw / var(--vw) * 30);
  height: calc(100vw / var(--vw) * 30);
}

.g-line-banner__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(100vw / var(--vw) * 10);
  padding-top: calc(100vw / var(--vw) * 10);
  border-top: 1px solid #e5e5e5;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: calc(100vw / var(--vw) * 18);
  color: #333;
}

.g-line-banner__text-col {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1.05;
}

.g-line-banner__green {
  color: #06c755;
}

@media screen and (min-width: 768px) {
  :root {
    --vw: 1440;
  }

  .p-menu .sp {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .top-room__body {
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 0);
  }

  .top-recruit__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media screen and (max-width: 768px) {
  :root {
    --vw: 375;
  }

  .c-arrow-btn {
    width: calc(100vw / var(--vw) * 230);
    height: calc(100vw / var(--vw) * 48);
    font-size: calc(100vw / var(--vw) * 14);
  }

  .top-btn {
    padding: calc(100vw / var(--vw) * 4) calc(100vw / var(--vw) * 20);
    width: calc(100vw / var(--vw) * 197);
    font-size: calc(100vw / var(--vw) * 16);
  }

  .top-btn__arrow {
    width: calc(100vw / var(--vw) * 66);
    left: calc(100vw / var(--vw) * 150);
  }

  .top-btn:hover .top-btn__arrow {
    width: calc(100vw / var(--vw) * 66);
  }

  .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-weight: 600;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0;
    color: var(--top-text);
  }

  .top-title--white {
    color: #fff;
  }

  .top-emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-hero {
    height: calc(100vw / var(--vw) * 734);
    min-height: unset;
  }

  .top-hero__video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .top-banner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 68) calc(100vw / var(--vw) * 15);
    padding-bottom: 0;
    --top-banner-gap: 0px;
  }

  .top-banner__slide {
    height: calc(100vw / var(--vw) * 115);
  }

  .top-about {
    padding-top: calc(100vw / var(--vw) * 34);
    padding-bottom: calc(100vw / var(--vw) * 115);
  }

  .top-about__inner {
    display: block;
    height: auto;
  }

  .top-about__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-about__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 8);
  }

  .top-about__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    letter-spacing: 0.35em;
  }

  .top-about__body {
    padding: calc(100vw / var(--vw) * 78) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 26);
  }

  .top-about__btn {
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * -100);
    margin-left: calc(100vw / var(--vw) * 17);
  }

  .top-about__visual {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    height: calc(100vw / var(--vw) * 559);
    margin-top: calc(100vw / var(--vw) * 40);
    margin: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 15);
    margin-bottom: 0;
  }

  .top-about__photo-main {
    top: 0;
    left: 0;
    right: auto;
    width: calc(100vw / var(--vw) * 320);
    height: calc(100vw / var(--vw) * 379);
  }

  .top-about__bg-obj {
    display: none;
  }

  .top-about__photo-sub {
    left: auto;
    right: 0;
    z-index: 10;
    bottom: calc(100vw / var(--vw) * 190);
    width: calc(100vw / var(--vw) * 206);
  }

  .top-food {
    padding-top: calc(100vw / var(--vw) * 65);
    padding-bottom: calc(100vw / var(--vw) * 100);
  }

  .top-food__inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
  }

  .top-food__visual {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    margin-top: calc(100vw / var(--vw) * 73);
    height: calc(100vw / var(--vw) * 296);
  }

  .top-food__deco {
    width: calc(100vw / var(--vw) * 257);
    height: calc(100vw / var(--vw) * 332);
    top: calc(100vw / var(--vw) * -18);
  }

  .top-food__photo-main {
    margin-top: 0;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .top-food__body {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    padding: calc(100vw / var(--vw) * 56) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 26);
  }

  .top-food__btn {
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * 40);
  }

  .top-food__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-food__title {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 8);
  }

  .top-food__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  .top-food__photo-sub {
    display: none;
  }

  .top-banquet {
    height: auto;
    height: calc(100vw / var(--vw) * 659);
    padding-top: 0;
  }

  .top-banquet__deco-bottom {
    display: none;
  }

  .top-banquet__photo {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .top-banquet__photo::after {
    background: rgba(0, 0, 0, 0.5);
  }

  .top-banquet__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: calc(100vw / var(--vw) * 35);
  }

  .top-banquet__body {
    width: 100%;
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * 0);
    gap: calc(100vw / var(--vw) * 26);
  }

  .top-banquet__btn {
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * 14);
  }

  .top-banquet__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-banquet__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 8);
  }

  .top-banquet__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  .top-room {
    padding-top: calc(100vw / var(--vw) * 135);
    padding-bottom: calc(100vw / var(--vw) * 115);
  }

  .top-room__inner {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .top-room__visual {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    margin-top: calc(100vw / var(--vw) * 35);
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    position: relative;
    height: calc(100vw / var(--vw) * 270);
  }

  .top-room__photo-main {
    position: absolute;
    left: calc(100vw / var(--vw) * 15);
    top: 0;
    width: calc(100vw / var(--vw) * 350);
    height: calc(100vw / var(--vw) * 270);
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 1;
  }

  .top-room__body {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 26);
  }

  .top-room__btn {
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * 14);
    width: calc(100vw / var(--vw) * 218);
  }

  .top-room__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-room__title {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 8);
    margin-right: 0;
  }

  .top-room__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  .top-room__photo-sub {
    display: none;
  }

  .top-room__deco {
    display: none;
  }

  .top-room__bg-obj-top {
    display: none;
  }

  .top-room__bg-obj-bottom {
    display: none;
  }

  .top-kodawari {
    padding-top: calc(100vw / var(--vw) * 100);
    padding-bottom: calc(100vw / var(--vw) * 100);
  }

  .top-kodawari__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
  }

  .top-kodawari__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-kodawari__title {
    position: static;
    left: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 8);
    margin-bottom: calc(100vw / var(--vw) * 78);
  }

  .top-kodawari__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  .top-kodawari__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-bottom: calc(100vw / var(--vw) * 70);
  }

  .top-kodawari__item.middle {
    padding-bottom: 0;
    padding-bottom: calc(100vw / var(--vw) * 70);
  }

  .top-kodawari__item:last-child {
    padding-bottom: 0;
  }

  .top-kodawari__item-photo img:first-child {
    width: 100%;
    height: calc(100vw / var(--vw) * 250);
    -o-object-fit: cover;
    object-fit: cover;
  }

  .top-kodawari__item-photo.middle img:first-child {
    width: 100%;
    height: calc(100vw / var(--vw) * 250);
  }

  .top-kodawari__item-photo {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
  }

  .top-kodawari__item-photo.middle,
  .top-kodawari__item-photo.bottom {
    width: 100%;
  }

  .top-kodawari__item-photo.bottom img:first-child {
    width: 100%;
    height: calc(100vw / var(--vw) * 290);
  }

  .top-kodawari__item-photo-deco {
    display: none;
  }

  .top-kodawari__item-photo-sub {
    display: none;
  }

  .top-kodawari__item-body {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding: 0;
    padding-left: calc(100vw / var(--vw) * 8);
    margin-bottom: calc(100vw / var(--vw) * 30);
  }

  .top-kodawari__item-body.middle,
  .top-kodawari__item-body.bottom {
    padding: 0;
    padding-left: calc(100vw / var(--vw) * 8);
    margin-bottom: calc(100vw / var(--vw) * 30);
  }

  .top-kodawari__item-heading {
    position: relative;
    font-size: calc(100vw / var(--vw) * 24);
    margin-bottom: calc(100vw / var(--vw) * 16);
  }

  .top-kodawari__item-heading::before {
    content: "";
    position: absolute;
    left: calc(100vw / var(--vw) * -8);
    top: calc(100vw / var(--vw) * 5);
    width: calc(100vw / var(--vw) * 3);
    height: calc(100vw / var(--vw) * 26);
    background: #c9ac6e;
  }

  .top-recruit {
    padding-top: calc(100vw / var(--vw) * 94);
    padding-bottom: calc(100vw / var(--vw) * 100);
  }

  .top-recruit__inner {
    width: 100%;
    min-height: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .top-recruit__photo {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    margin-top: calc(100vw / var(--vw) * 35);
    height: calc(100vw / var(--vw) * 290);
  }

  .top-recruit__body {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    padding: calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 26);
  }

  .top-recruit__btn {
    margin-top: 0;
    margin-top: calc(100vw / var(--vw) * 40);
  }

  .top-recruit__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-recruit__title {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    gap: calc(100vw / var(--vw) * 8);
  }

  .top-recruit__title .top-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
  }

  .top-contact {
    padding-top: 0;
    padding-bottom: 0;
    height: calc(100vw / var(--vw) * 615);
  }

  .top-contact__bg {
    width: 100%;
    margin-left: 0;
    position: absolute;
    inset: 0;
    height: 100%;
  }

  .top-contact__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .top-contact__card {
    left: 0;
    right: 0;
    top: calc(100vw / var(--vw) * 90);
    width: 100%;
    background: rgba(255, 251, 240, 0.93);
    padding: calc(100vw / var(--vw) * 49) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 20);
    display: block;
    height: calc(100vw / var(--vw) * 435);
  }

  .top-contact__title img {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .top-contact__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 8);
  }

  .top-contact__body {
    padding-top: 0;
    padding-top: calc(100vw / var(--vw) * 35);
    gap: calc(100vw / var(--vw) * 20);
  }

  .top-contact__actions {
    gap: calc(100vw / var(--vw) * 20);
    margin-top: calc(100vw / var(--vw) * 20);
  }

  .top-contact__btn-tel .top-btn__arrow {
    left: calc(100vw / var(--vw) * 198);
  }

  .top-contact__btn-tel {
    width: calc(100vw / var(--vw) * 229);
  }

  .top-contact__btn-form .top-btn__arrow {
    left: calc(100vw / var(--vw) * 224);
  }

  .top-contact__btn-form {
    width: calc(100vw / var(--vw) * 255);
  }

  .ab-title-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: calc(100vw / var(--vw) * 8);
  }

  .ab-emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .ab-title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0;
  }

  .ab-text {
    letter-spacing: 0.001em;
  }

  .ab-fv {
    height: calc(100vw / var(--vw) * 685);
  }

  .ab-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(29, 29, 29, 0.07)), to(rgba(29, 29, 29, 0.7)));
    background: -webkit-linear-gradient(top, rgba(29, 29, 29, 0.07), rgba(29, 29, 29, 0.7));
    background: linear-gradient(to bottom, rgba(29, 29, 29, 0.07), rgba(29, 29, 29, 0.7));
  }

  .ab-fv__page-title {
    left: calc(100vw / var(--vw) * 17);
    font-size: calc(100vw / var(--vw) * 34);
  }

  .ab-fv__photo-small-left {
    display: none;
  }

  .ab-fv__photo-small-right {
    display: none;
  }

  .ab-fv__overlay {
    left: calc(100vw / var(--vw) * 14);
    right: auto;
    bottom: calc(100vw / var(--vw) * 26);
    width: auto;
    background: transparent;
    padding: 0;
  }

  .ab-fv__quote {
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: calc(100vw / var(--vw) * 1.44);
    margin-bottom: 0;
  }

  .ab-fv__quote-line {
    background: rgba(255, 255, 255, 0.5);
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
    width: calc(100vw / var(--vw) * 322);
  }

  .ab-concept {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 100);
  }

  .ab-concept__inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 14);
  }

  .ab-concept__title {
    width: auto;
    padding-left: 0;
    margin-bottom: calc(100vw / var(--vw) * 36);
  }

  .ab-concept__body {
    margin: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 40);
    max-width: none;
    gap: calc(100vw / var(--vw) * 26);
  }

  .ab-concept__visual {
    min-height: auto;
    margin-top: calc(100vw / var(--vw) * 40);
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 54);
  }

  .ab-concept__photo-main {
    position: relative;
    width: 100%;
    height: calc(100vw / var(--vw) * 360);
  }

  .ab-concept__deco {
    width: calc(100vw / var(--vw) * 183);
    height: calc(100vw / var(--vw) * 88);
    bottom: calc(100vw / var(--vw) * -20);
    right: auto;
    left: calc(100vw / var(--vw) * 25);
  }

  .ab-food {
    padding: 0;
  }

  .ab-food__bg {
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vw / var(--vw) * 510);
  }

  .ab-food__inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 0;
  }

  .ab-food__visual {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .ab-food__photo-main {
    width: 100%;
    height: calc(100vw / var(--vw) * 346);
    margin-top: 0;
  }

  .ab-food__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 0;
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 14);
  }

  .ab-food__body {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 37);
    max-width: none;
  }

  .ab-food__title {
    padding-top: 0;
    text-align: center;
    padding-bottom: calc(100vw / var(--vw) * 35);
  }

  .ab-food__title .ab-title-area {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .ab-space {
    padding: calc(100vw / var(--vw) * 150) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 229);
  }

  .ab-space__bg {
    display: none;
  }

  .ab-space__inner {
    height: auto;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
  }

  .ab-space__title {
    width: auto;
    padding: 0;
    padding-left: calc(100vw / var(--vw) * 14);
    margin-bottom: calc(100vw / var(--vw) * 35);
  }

  .ab-space__body {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 14) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 54);
    max-width: none;
    gap: calc(100vw / var(--vw) * 26);
    margin-bottom: calc(100vw / var(--vw) * 40);
  }

  .ab-space__visual {
    height: auto;
  }

  .ab-space__photo-main {
    position: relative;
    width: calc(100vw / var(--vw) * 297);
    height: calc(100vw / var(--vw) * 375);
  }

  .ab-space__photo-sub1 {
    top: calc(100vw / var(--vw) * 192);
    right: calc(100vw / var(--vw) * 47);
    width: calc(100vw / var(--vw) * 216);
    height: calc(100vw / var(--vw) * 216);
  }

  .ab-space__photo-sub2 {
    bottom: calc(100vw / var(--vw) * -129);
    right: 0;
    top: auto;
    width: calc(100vw / var(--vw) * 192);
    height: calc(100vw / var(--vw) * 192);
  }

  .ab-hospitality {
    padding: 0;
  }

  .ab-hospitality__bg {
    left: 0;
    width: 100%;
    height: calc(100vw / var(--vw) * 446);
  }

  .ab-hospitality__inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
    height: auto;
  }

  .ab-hospitality__photo {
    width: 100%;
    height: calc(100vw / var(--vw) * 346);
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .ab-hospitality__content {
    padding: 0;
  }

  .ab-hospitality__title {
    position: static;
    margin-bottom: calc(100vw / var(--vw) * 35);
    padding-left: calc(100vw / var(--vw) * 14);
  }

  .ab-hospitality__title .ab-title-area {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .ab-hospitality__body {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 51);
    max-width: none;
    gap: calc(100vw / var(--vw) * 26);
  }

  .ab-scenes {
    padding: calc(100vw / var(--vw) * 150) calc(100vw / var(--vw) * 14);
  }

  .ab-scenes__title {
    position: static;
  }

  .ab-scenes__bg {
    display: none;
  }

  .ab-scenes__inner {
    width: 100%;
  }

  .ab-scenes__head {
    margin-top: calc(100vw / var(--vw) * 35);
    padding-left: calc(100vw / var(--vw) * 32);
    margin-bottom: calc(100vw / var(--vw) * 40);
  }

  .ab-scenes__subtitle {
    padding-top: 0;
  }

  .ab-scenes__grid {
    grid-template-columns: 1fr;
    padding: 0;
    gap: calc(100vw / var(--vw) * 40);
    margin-bottom: calc(100vw / var(--vw) * 40);
  }

  .ab-scenes__card {
    height: calc(100vw / var(--vw) * 270);
  }

  .ab-scenes__btn-wrap {
    margin-top: calc(100vw / var(--vw) * 40);
    padding-right: calc(100vw / var(--vw) * 0);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .ab-shop {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 100);
  }

  .ab-shop__bg {
    display: none;
  }

  .ab-shop__inner {
    width: 100%;
  }

  .ab-shop__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 14);
    margin-bottom: calc(100vw / var(--vw) * 40);
  }

  .ab-shop__desc {
    padding-top: calc(100vw / var(--vw) * 35);
    max-width: none;
  }

  .ab-shop__table {
    width: auto;
    margin: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 14);
  }

  .ab-shop__row {
    padding: calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0);
  }

  .ab-shop__label {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc(100vw / var(--vw) * 100);
    flex-basis: calc(100vw / var(--vw) * 100);
  }

  .ab-shop__buttons {
    margin: calc(100vw / var(--vw) * 50) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 16);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .ab-shop__buttons .ab-btn {
    width: calc(100vw / var(--vw) * 200);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-shop-rules__title,
  .p-shop-parking__title,
  .p-shop-access__title,
  .p-shop-basic__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 8);
  }

  .p-shop-rules__title-text,
  .p-shop-parking__title-text,
  .p-shop-access__title-text,
  .p-shop-basic__title-text {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: 0.08em;
    line-height: 1.4;
  }

  .p-shop-rules__emblem,
  .p-shop-parking__emblem,
  .p-shop-access__emblem,
  .p-shop-basic__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-shop-fv {
    height: calc(100vw / var(--vw) * 734);
  }

  .p-shop-fv__page-title {
    left: calc(100vw / var(--vw) * 17);
    top: calc(100vw / var(--vw) * 120);
    font-size: calc(100vw / var(--vw) * 28);
    letter-spacing: 0.5em;
  }

  .p-shop-fv__overlay {
    right: auto;
    left: calc(100vw / var(--vw) * 11);
    bottom: calc(100vw / var(--vw) * 75);
    width: calc(100vw / var(--vw) * 325);
    background: transparent;
    padding: 0;
  }

  .p-shop-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: calc(100vw / var(--vw) * 1.44);
    line-height: 1.6;
  }

  .p-shop-fv__lead-line {
    background: rgba(255, 255, 255, 0.5);
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  }

  .p-shop-fv__sub {
    font-size: calc(100vw / var(--vw) * 14);
    line-height: 1.7;
  }

  .p-shop-basic {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  }

  .p-shop-basic__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 35);
  }

  .p-shop-basic__table {
    width: 100%;
    max-width: none;
  }

  .p-shop-basic__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: calc(100vw / var(--vw) * 16) calc(100vw / var(--vw) * 7);
    gap: calc(100vw / var(--vw) * 4);
  }

  .p-shop-basic__label {
    width: auto;
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-shop-basic__value {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-shop-basic__hours-row {
    grid-template-columns: auto auto;
    -webkit-column-gap: calc(100vw / var(--vw) * 3);
    -moz-column-gap: calc(100vw / var(--vw) * 3);
    column-gap: calc(100vw / var(--vw) * 3);
    display: block;
  }

  .p-shop-basic__hours-row .p-shop-basic__hours-note {
    grid-column: 1/-1;
  }

  .p-shop-basic__hours-note {
    white-space: normal;
  }

  .p-shop-access {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 60);
  }

  .p-shop-access__bg {
    left: 0;
    right: 0;
    width: 100%;
    height: calc(100vw / var(--vw) * 825);
  }

  .p-shop-access__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 35);
  }

  .p-shop-access__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: calc(100vw / var(--vw) * 35);
    width: 100%;
  }

  .p-shop-access__content .p-shop-access__body {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .p-shop-access__content .p-shop-access__map {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-shop-access__map {
    width: 100%;
    height: calc(100vw / var(--vw) * 258);
  }

  .p-shop-access__body {
    gap: calc(100vw / var(--vw) * 30);
  }

  .p-shop-access__text {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-shop-access__note {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-shop-access__title {
    position: relative;
    top: auto;
    right: auto;
    left: calc(100vw / var(--vw) * -7);
    -ms-flex-item-align: start;
    align-self: flex-start;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-shop-parking {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 80);
  }

  .p-shop-parking__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 35);
  }

  .p-shop-parking__title {
    padding-left: calc(100vw / var(--vw) * 0);
  }

  .p-shop-parking__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 40);
    width: 100%;
  }

  .p-shop-parking__body {
    padding-top: 0;
    width: 100%;
  }

  .p-shop-parking__text {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-shop-parking__note {
    font-size: calc(100vw / var(--vw) * 12);
  }

  .p-shop-parking__photo {
    width: 100%;
    height: calc(100vw / var(--vw) * 258);
    margin-top: 0;
  }

  .p-shop-rules {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 80);
  }

  .p-shop-rules__bg {
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
  }

  .p-shop-rules__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 35);
  }

  .p-shop-rules__content {
    margin-top: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: calc(100vw / var(--vw) * 35);
    width: 100%;
  }

  .p-shop-rules__content .p-shop-rules__list {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .p-shop-rules__content .p-shop-rules__photo {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-shop-rules__photo {
    width: 100%;
    height: calc(100vw / var(--vw) * 258);
  }

  .p-shop-rules__list {
    padding-top: 0;
  }

  .p-shop-rules__item {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-shop-rules__title {
    margin-top: 0;
    -ms-flex-item-align: start;
    align-self: flex-start;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    padding-left: calc(100vw / var(--vw) * 8);
  }

  .p-menu-cat-cats {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  }

  .p-menu-cat-cats__bg-object {
    display: none !important;
  }

  .p-menu-cat-cats__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    row-gap: calc(100vw / var(--vw) * 70);
  }

  .p-menu-cat-cats__block[data-cat=osusume] {
    margin-left: calc(100vw / var(--vw) * -15);
    margin-right: calc(100vw / var(--vw) * -15);
    width: calc(100% + 100vw / var(--vw) * 30);
    padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 16) calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 16);
    background-image: url(../../images/menu-category/menu-cat-osusume-bg-sp.webp), url(../../images/menu-category/osusume-bg.webp);
    background-position: right center, center;
    background-size: calc(100vw / var(--vw) * 30) 100%, cover;
    background-repeat: no-repeat, no-repeat;
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__paper {
    display: none;
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__body {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 30);
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-list__item {
    border-bottom-color: #ececec;
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__head {
    position: static;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 8);
    margin-bottom: calc(100vw / var(--vw) * 30);
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    letter-spacing: 0.05em;
    font-size: calc(100vw / var(--vw) * 30);
  }

  .p-menu-cat-cats__block[data-cat=osusume] .p-menu-cat-cats__note {
    margin-left: 0;
    margin-top: calc(100vw / var(--vw) * 30);
    font-size: calc(100vw / var(--vw) * 18);
    text-align: center;
    white-space: normal;
  }

  .p-menu-cat-cats__head {
    gap: calc(100vw / var(--vw) * 10);
    margin-bottom: calc(100vw / var(--vw) * 20);
  }

  .p-menu-cat-cats__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-menu-cat-cats__title {
    font-size: calc(100vw / var(--vw) * 24);
  }

  .p-menu-cat-cats__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: calc(100vw / var(--vw) * 25);
  }

  .p-menu-cat-cats__note {
    margin-top: calc(100vw / var(--vw) * 24);
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-menu-cat-card-wrap {
    width: 100%;
  }

  .p-menu-cat-card-wrap__bg {
    width: calc(100vw / var(--vw) * 326);
    height: calc(100vw / var(--vw) * 208);
    bottom: calc(100vw / var(--vw) * -7);
    left: calc(100vw / var(--vw) * 19);
  }

  .p-menu-cat-card {
    width: calc(100vw / var(--vw) * 338);
  }

  .p-menu-cat-card__photo {
    height: calc(100vw / var(--vw) * 233);
  }

  .p-menu-cat-list {
    width: 100%;
    gap: calc(100vw / var(--vw) * 25);
  }

  .p-menu-cat-list__item {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 13);
    padding-bottom: calc(100vw / var(--vw) * 5);
  }

  .p-menu-cat-list__item::before {
    left: 0;
    top: calc(100vw / var(--vw) * 7);
    height: calc(100vw / var(--vw) * 20);
  }

  .p-menu-cat-list__title {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .p-menu-cat-list__price {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .p-menu-cat-recommend {
    padding-bottom: calc(100vw / var(--vw) * 100);
  }

  .p-menu-cat-recommend__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 24);
  }

  .p-menu-cat-recommend__head {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 0;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-menu-cat-recommend__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-menu-cat-recommend__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: 0.15em;
  }

  .p-menu-cat-recommend__grid {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 50);
    margin-top: calc(100vw / var(--vw) * 0);
  }

  .p-menu-cat-shop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-menu-cat-shop__brand {
    width: 100%;
    padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 30);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
  }

  .p-menu-cat-shop__cat {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-menu-cat-shop__logo-row {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: calc(100vw / var(--vw) * 14);
  }

  .p-menu-cat-shop__logo {
    font-size: calc(100vw / var(--vw) * 32);
  }

  .p-menu-cat-shop__logo-sub {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-menu-cat-shop__tel-label {
    font-size: calc(100vw / var(--vw) * 12);
  }

  .p-menu-cat-shop__tel {
    font-size: calc(100vw / var(--vw) * 22);
  }

  .p-menu-cat-shop__tel-icon {
    width: calc(100vw / var(--vw) * 20);
    height: calc(100vw / var(--vw) * 20);
  }

  .p-menu-cat-shop__info {
    padding: calc(100vw / var(--vw) * 28) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 28);
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-menu-cat-shop__info-row dt {
    font-size: calc(100vw / var(--vw) * 12);
    width: calc(100vw / var(--vw) * 70);
  }

  .p-menu-cat-shop__info-row dd {
    font-size: calc(100vw / var(--vw) * 12);
  }

  .p-menu .pc {
    display: none;
  }

  .p-menu-fv {
    height: calc(100vw / var(--vw) * 685);
  }

  .p-menu-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(29, 29, 29, 0.07)), to(rgba(29, 29, 29, 0.7)));
    background: -webkit-linear-gradient(top, rgba(29, 29, 29, 0.07), rgba(29, 29, 29, 0.7));
    background: linear-gradient(to bottom, rgba(29, 29, 29, 0.07), rgba(29, 29, 29, 0.7));
  }

  .p-menu-fv__page-title {
    left: calc(100vw / var(--vw) * 17);
    top: calc(100vw / var(--vw) * 120);
    font-size: calc(100vw / var(--vw) * 34);
  }

  .p-menu-fv__overlay {
    white-space: nowrap;
    top: auto;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: calc(100vw / var(--vw) * 30);
    width: calc(100vw / var(--vw) * 347);
    background: transparent;
    padding: 0;
  }

  .p-menu-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: calc(100vw / var(--vw) * 1.44);
  }

  .p-menu-fv__lead-line {
    background: rgba(255, 255, 255, 0.5);
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
    margin-right: auto;
    width: calc(100vw / var(--vw) * 322);
  }

  .p-menu-about {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 20);
  }

  .p-menu-about__bg {
    display: none;
  }

  .p-menu-about__inner {
    width: 100%;
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
  }

  .p-menu-about__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    gap: calc(100vw / var(--vw) * 8);
    padding-left: calc(100vw / var(--vw) * 15);
    margin-bottom: calc(100vw / var(--vw) * 27);
  }

  .p-menu-about__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-menu-about__title-text {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0;
    line-height: 1;
  }

  .p-menu-about__body {
    margin-left: 0;
    margin-top: 0;
    margin-bottom: calc(100vw / var(--vw) * 40);
    width: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
  }

  .p-menu-about__visual {
    margin-left: 0;
    width: 100%;
    padding: 0;
    min-height: calc(100vw / var(--vw) * 0);
  }

  .p-menu-about__deco {
    top: auto;
    right: 0;
    left: 0;
    bottom: calc(100vw / var(--vw) * -25);
    width: 100%;
    height: calc(100vw / var(--vw) * 25);
  }

  .p-menu-about__photo {
    width: 100%;
    margin-left: 0;
    height: calc(100vw / var(--vw) * 346);
  }

  .p-menu-cards {
    padding: calc(100vw / var(--vw) * 140) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 100);
  }

  .p-menu-cards__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
  }

  .p-menu-cards__grid {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 70);
  }

  .p-menu-card__photo {
    height: calc(100vw / var(--vw) * 300);
  }

  .p-menu-card__body {
    padding: calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 12) calc(100vw / var(--vw) * 18);
    min-height: calc(100vw / var(--vw) * 315);
  }

  .p-menu-card__title {
    font-size: calc(100vw / var(--vw) * 26);
    margin-bottom: calc(100vw / var(--vw) * 6);
  }

  .p-menu-card__desc {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-menu-card__tags-label {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-menu-card__tag {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-menu-help {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
  }

  .p-menu-help__inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
  }

  .p-menu-help__visual {
    width: 100%;
    margin-left: 0;
    margin-bottom: 0;
    height: calc(100vw / var(--vw) * 346);
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }

  .p-menu-help__deco {
    top: auto;
    left: 0;
    right: 0;
    bottom: calc(100vw / var(--vw) * -25);
    width: 100%;
    height: calc(100vw / var(--vw) * 25);
  }

  .p-menu-help__photo {
    position: relative;
    width: 100%;
    height: 100%;
    left: 0;
  }

  .p-menu-help__body {
    padding: 0;
    width: 100%;
    margin-bottom: calc(100vw / var(--vw) * 60);
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .p-menu-help__text {
    text-align: center;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    margin-bottom: calc(100vw / var(--vw) * 35);
  }

  .p-menu-help__actions {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .p-menu-help__mail-btn {
    width: calc(100vw / var(--vw) * 182);
    padding-left: calc(100vw / var(--vw) * 21);
  }

  .p-menu-help__phone-btn {
    background: #000;
    border: none;
    color: #fff;
    width: calc(100vw / var(--vw) * 240);
    height: calc(100vw / var(--vw) * 40);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: calc(100vw / var(--vw) * 6);
  }

  .p-menu-help__phone-label {
    color: #fff;
    font-size: calc(100vw / var(--vw) * 16);
    margin-bottom: 0;
    line-height: 2;
  }

  .p-menu-help__phone-row {
    display: none;
  }

  .p-menu-help__phone-icon--sp {
    display: inline-block !important;
    -webkit-filter: invert(1);
    filter: invert(1);
  }

  .p-menu-help__phone-icon--pc {
    display: none;
  }

  .p-menu-help__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 8);
    padding: 0;
    padding-left: calc(100vw / var(--vw) * 15);
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-bottom: calc(100vw / var(--vw) * 25);
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .p-menu-help__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-menu-help__title-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 0;
  }

  .p-menu-help__title-sub {
    margin-top: 0;
  }

  .p-menu-help__title-text {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 25);
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
  }

  .p-menu-group {
    padding: calc(100vw / var(--vw) * 160) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 125);
  }

  .p-menu-group__title-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
  }

  .p-menu-group__inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
    height: auto;
  }

  .p-menu-group__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(100vw / var(--vw) * 8);
    padding: 0;
    padding-left: calc(100vw / var(--vw) * 15);
    margin-bottom: calc(100vw / var(--vw) * 30);
  }

  .p-menu-group__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-menu-group__title-text {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 25);
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
  }

  .p-menu-group__title-sub::before {
    content: "・";
  }

  .p-menu-group__body {
    padding: 0;
    width: 100%;
    padding-left: calc(100vw / var(--vw) * 15);
    padding-right: calc(100vw / var(--vw) * 15);
    margin-bottom: calc(100vw / var(--vw) * 60);
  }

  .p-menu-group__text {
    margin-bottom: calc(100vw / var(--vw) * 39);
  }

  .p-menu-group__btn-wrap {
    text-align: center;
  }

  .p-menu-group__visual {
    width: 100%;
    margin-left: 0;
    height: calc(100vw / var(--vw) * 340);
  }

  .p-menu-group__deco {
    top: auto;
    left: 0;
    right: 0;
    bottom: calc(100vw / var(--vw) * -25);
    width: 100%;
    height: calc(100vw / var(--vw) * 25);
  }

  .p-menu-group__photo {
    position: relative;
    width: 100%;
    height: 100%;
    left: 0;
  }

  .p-banquet-fv {
    height: calc(100vw / var(--vw) * 735);
  }

  .p-banquet-fv__photos {
    grid-template-columns: 1fr;
  }

  .p-banquet-fv__photo--dish {
    display: none;
  }

  .p-banquet-fv__page-title {
    left: calc(100vw / var(--vw) * 15);
    top: calc(100vw / var(--vw) * 80);
    font-size: calc(100vw / var(--vw) * 34);
    letter-spacing: 0.5em;
  }

  .p-banquet-fv__lead-box {
    position: absolute;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: auto;
    bottom: calc(100vw / var(--vw) * 30);
    width: calc(100vw / var(--vw) * 345);
    padding: 0;
    background: transparent;
  }

  .p-banquet-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
  }

  .p-banquet-fv__divider {
    width: 100%;
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-fv__sub {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-banquet-about {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-about__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 40);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-banquet-about__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    margin-left: calc(100vw / var(--vw) * 15);
  }

  .p-banquet-about__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-banquet-about__title-text {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-banquet-about__body {
    width: 100%;
    white-space: normal;
    margin-top: 0;
    padding-left: calc(100vw / var(--vw) * 15);
    padding-right: calc(100vw / var(--vw) * 15);
  }

  .p-banquet-about__text {
    font-size: calc(100vw / var(--vw) * 13);
    line-height: 1.9;
  }

  .p-banquet-about__photo {
    width: 100%;
    margin-left: 0;
    margin-top: 0;
    height: calc(100vw / var(--vw) * 330);
  }

  .p-banquet-about__photo::after {
    display: none !important;
  }

  .p-banquet-plans {
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-plans__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
  }

  .p-banquet-plans__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    row-gap: calc(100vw / var(--vw) * 20);
  }

  .p-banquet-plan__photo {
    height: calc(100vw / var(--vw) * 260);
  }

  .p-banquet-plan__body {
    padding: calc(100vw / var(--vw) * 18) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 20);
  }

  .p-banquet-plan__title {
    font-size: calc(100vw / var(--vw) * 22);
    padding-bottom: calc(100vw / var(--vw) * 12);
    margin-bottom: calc(100vw / var(--vw) * 16);
  }

  .p-banquet-plan__meta dt {
    font-size: calc(100vw / var(--vw) * 15);
  }

  .p-banquet-plan__meta dd {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-banquet-rooms {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-rooms__inner {
    width: 100%;
  }

  .p-banquet-rooms__grid {
    grid-template-columns: 100% 100% auto;
    grid-template-areas: "title" "body" "r1" "r2" "r3";
    row-gap: calc(100vw / var(--vw) * 35);
  }

  .p-banquet-rooms__slot--r1 {
    margin-top: calc(100vw / var(--vw) * 0);
  }

  .p-banquet-rooms__slot--title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    margin-left: calc(100vw / var(--vw) * 15);
  }

  .p-banquet-rooms__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-banquet-rooms__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    line-height: 1;
    letter-spacing: 0.1em;
  }

  .p-banquet-rooms__text {
    font-size: calc(100vw / var(--vw) * 13);
    margin-left: calc(100vw / var(--vw) * 15);
  }

  .p-banquet-room::after {
    width: 100%;
  }

  .p-banquet-room__info {
    height: calc(100vw / var(--vw) * 44);
    min-width: calc(100vw / var(--vw) * 220);
  }

  .p-banquet-room__name,
  .p-banquet-room__capacity {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .p-banquet-scenes__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 24);
    -webkit-column-gap: calc(100vw / var(--vw) * 35);
    -moz-column-gap: calc(100vw / var(--vw) * 35);
    column-gap: calc(100vw / var(--vw) * 35);
  }

  .p-banquet-scenes__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-banquet-scenes__emblem {
    width: calc(100vw / var(--vw) * 22);
    height: calc(100vw / var(--vw) * 20);
  }

  .p-banquet-scenes__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.15em;
  }

  .p-banquet-scenes__desc {
    width: 100%;
    text-align: left;
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-banquet-scenes__list {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 20);
    justify-items: center;
    width: calc(100vw / var(--vw) * 180);
    margin: 0 auto;
  }

  .p-banquet-scenes__item {
    width: calc(100vw / var(--vw) * 180);
    height: calc(100vw / var(--vw) * 70);
    font-size: calc(100vw / var(--vw) * 21);
  }

  .p-banquet-services {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-services__bg {
    display: none !important;
  }

  .p-banquet-services__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 0);
  }

  .p-banquet-services__grid {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 60);
    margin-top: calc(100vw / var(--vw) * 40);
  }

  .p-banquet-services__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-banquet-services__emblem {
    width: calc(100vw / var(--vw) * 22);
    height: calc(100vw / var(--vw) * 20);
  }

  .p-banquet-services__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.15em;
  }

  .p-banquet-service {
    border-width: 2px;
  }

  .p-banquet-service__caption {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-banquet-organizer {
    height: calc(100vw / var(--vw) * 539);
  }

  .p-banquet-organizer__bg {
    padding-right: 0;
  }

  .p-banquet-organizer__head {
    left: calc(100vw / var(--vw) * 24);
    top: calc(100vw / var(--vw) * 100);
    width: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-banquet-organizer__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-banquet-organizer__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.2em;
  }

  .p-banquet-organizer__text-box {
    left: calc(100vw / var(--vw) * 0);
    top: calc(100vw / var(--vw) * 158);
    width: calc(100vw / var(--vw) * 375);
    padding: calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 25) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 25);
    white-space: normal;
  }

  .p-banquet-organizer__text {
    font-size: calc(100vw / var(--vw) * 14);
    line-height: 1.8;
  }

  .p-banquet-flow {
    background: var(--bq-white);
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 0);
  }

  .p-banquet-flow__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-banquet-flow__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-banquet-flow__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-banquet-flow__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.15em;
  }

  .p-banquet-flow__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 13);
  }

  .p-banquet-flow__sep {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .p-banquet-flow-step {
    width: calc(100vw / var(--vw) * 210);
    height: calc(100vw / var(--vw) * 150);
  }

  .p-banquet-flow-step__icon {
    width: calc(100vw / var(--vw) * 50);
    height: calc(100vw / var(--vw) * 50);
  }

  .p-banquet-flow-step__label {
    font-size: calc(100vw / var(--vw) * 21);
  }

  .p-recruit-fv {
    height: calc(100vw / var(--vw) * 735);
  }

  .p-recruit-fv__bg img {
    -o-object-position: calc(100vw / var(--vw) * -130);
    object-position: calc(100vw / var(--vw) * -130);
  }

  .p-recruit-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(19, 19, 19, 0.15)), color-stop(60%, rgba(19, 19, 19, 0.55)), to(rgba(19, 19, 19, 0.85)));
    background: -webkit-linear-gradient(top, rgba(19, 19, 19, 0.15) 0%, rgba(19, 19, 19, 0.55) 60%, rgba(19, 19, 19, 0.85) 100%);
    background: linear-gradient(to bottom, rgba(19, 19, 19, 0.15) 0%, rgba(19, 19, 19, 0.55) 60%, rgba(19, 19, 19, 0.85) 100%);
  }

  .p-recruit-fv__page-title {
    left: calc(100vw / var(--vw) * 15);
    top: calc(100vw / var(--vw) * 80);
    font-size: calc(100vw / var(--vw) * 34);
  }

  .p-recruit-fv__lead-box {
    left: calc(100vw / var(--vw) * 15);
    top: auto;
    -webkit-transform: none;
    transform: none;
    bottom: calc(100vw / var(--vw) * 65);
    width: calc(100vw / var(--vw) * 345);
    padding: 0;
    background: transparent;
  }

  .p-recruit-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
    white-space: normal;
  }

  .p-recruit-fv__divider {
    width: 100%;
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  }

  .p-recruit-fv__sub {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-recruit-environment {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-recruit-environment__inner {
    width: 100%;
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-recruit-environment__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    padding-left: calc(100vw / var(--vw) * 15);
    padding-right: calc(100vw / var(--vw) * 15);
  }

  .p-recruit-environment__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-recruit-environment__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-recruit-environment__body {
    width: 100%;
    padding-left: calc(100vw / var(--vw) * 15);
    padding-right: calc(100vw / var(--vw) * 15);
  }

  .p-recruit-environment__text {
    line-height: 1.9;
    white-space: normal;
  }

  .p-recruit-environment__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 375/310;
  }

  .p-recruit-environment__photo-inner {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .p-recruit-environment__deco {
    display: none;
  }

  .p-recruit-jobs {
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 0);
  }

  .p-recruit-jobs__inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-recruit-jobs__list {
    grid-column: 1;
  }

  .p-recruit-jobs__head {
    grid-column: 1;
    grid-row: auto;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-recruit-jobs__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    padding-left: calc(100vw / var(--vw) * 15);
    margin-top: 0;
  }

  .p-recruit-jobs__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-recruit-jobs__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-recruit-jobs__list {
    row-gap: calc(100vw / var(--vw) * 40);
  }

  .p-recruit-job {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .p-recruit-job__photo {
    height: calc(100vw / var(--vw) * 330);
  }

  .p-recruit-job__body {
    min-height: 0;
    padding: calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 25) calc(100vw / var(--vw) * 25) calc(100vw / var(--vw) * 25);
  }

  .p-recruit-job__title {
    font-size: calc(100vw / var(--vw) * 22);
  }

  .p-recruit-job__meta dt {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-recruit-job__meta dd {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-recruit-job__flag {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-recruit-appeal {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-recruit-appeal__bg {
    display: none !important;
  }

  .p-recruit-appeal__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 24);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-recruit-appeal__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    margin-right: 0;
    width: auto;
    min-width: 0;
  }

  .p-recruit-appeal__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-recruit-appeal__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-recruit-appeal__body {
    margin-right: 0;
  }

  .p-recruit-appeal__body {
    padding-left: calc(100vw / var(--vw) * 27);
  }

  .p-recruit-appeal__body::before {
    height: calc(100vw / var(--vw) * 113);
  }

  .p-recruit-appeal__item {
    font-size: calc(100vw / var(--vw) * 20);
    white-space: normal;
  }

  .p-recruit-appeal__photo {
    width: 100%;
    height: calc(100vw / var(--vw) * 330);
  }

  .p-recruit-flow {
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 0);
  }

  .p-recruit-flow::before {
    left: calc(100vw / var(--vw) * -20);
    width: calc(100vw / var(--vw) * 160);
    height: calc(100vw / var(--vw) * 175);
  }

  .p-recruit-flow__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-recruit-flow__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: calc(100vw / var(--vw) * 10);
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-recruit-flow__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-recruit-flow__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0;
  }

  .p-recruit-flow__list {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 40);
    justify-items: center;
  }

  .p-recruit-flow-step {
    width: calc(100vw / var(--vw) * 269);
    height: calc(100vw / var(--vw) * 269);
    padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30) calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 30);
  }

  .p-recruit-flow-step__num {
    font-size: calc(100vw / var(--vw) * 20);
    margin-bottom: calc(100vw / var(--vw) * 14);
  }

  .p-recruit-flow-step__title {
    font-size: calc(100vw / var(--vw) * 28);
  }

  .p-recruit-flow-step__desc {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-recruit-contact {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 15);
  }

  .p-recruit-contact__inner {
    width: 100%;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-recruit-contact__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 12);
  }

  .p-recruit-contact__emblem {
    width: calc(100vw / var(--vw) * 32);
    height: calc(100vw / var(--vw) * 30);
  }

  .p-recruit-contact__heading {
    font-size: calc(100vw / var(--vw) * 24);
    white-space: nowrap;
  }

  .p-recruit-contact__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: calc(100vw / var(--vw) * 20);
  }

  .p-recruit-contact__btn--mail {
    width: calc(100vw / var(--vw) * 270);
    height: calc(100vw / var(--vw) * 50);
  }

  .p-recruit-contact__icon {
    width: calc(100vw / var(--vw) * 24);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-recruit-contact__btn-label {
    font-size: calc(100vw / var(--vw) * 20);
  }

  .p-recruit-contact__phone {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .p-recruit-contact__phone-label {
    display: none;
  }

  .p-recruit-contact__phone-link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: calc(100vw / var(--vw) * 7);
    width: calc(100vw / var(--vw) * 270);
    height: calc(100vw / var(--vw) * 50);
    background: var(--rc-white);
    border: 1px solid var(--rc-gold-soft);
  }

  .p-recruit-contact__phone-icon {
    width: calc(100vw / var(--vw) * 24);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-recruit-contact__phone-num {
    display: none;
  }

  .p-recruit-contact__phone-sp-label {
    display: inline;
    font-family: var(--rc-body);
    font-weight: 500;
    font-size: calc(100vw / var(--vw) * 20);
    color: var(--rc-text);
    line-height: 1;
  }

  .p-contact-fv {
    height: calc(100vw / var(--vw) * 735);
  }

  .p-contact-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(19, 19, 19, 0)), color-stop(45%, rgba(19, 19, 19, 0.28)), color-stop(70%, rgba(19, 19, 19, 0.28)), to(rgba(19, 19, 19, 0)));
    background: -webkit-linear-gradient(top, rgba(19, 19, 19, 0) 0%, rgba(19, 19, 19, 0.28) 45%, rgba(19, 19, 19, 0.28) 70%, rgba(19, 19, 19, 0) 100%);
    background: linear-gradient(to bottom, rgba(19, 19, 19, 0) 0%, rgba(19, 19, 19, 0.28) 45%, rgba(19, 19, 19, 0.28) 70%, rgba(19, 19, 19, 0) 100%);
  }

  .p-contact-fv__page-title {
    left: calc(100vw / var(--vw) * 15);
    top: calc(100vw / var(--vw) * 80);
    font-size: calc(100vw / var(--vw) * 34);
  }

  .p-contact-fv__lead-box {
    left: calc(100vw / var(--vw) * 15);
    top: auto;
    bottom: calc(100vw / var(--vw) * 50);
    width: calc(100vw / var(--vw) * 345);
    padding: 0;
    background: transparent;
  }

  .p-contact-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: 0.06em;
  }

  .p-contact-fv__lead br {
    display: none;
  }

  .p-contact-fv__divider {
    width: 100%;
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  }

  .p-contact-fv__sub {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-contact-urgent {
    padding: calc(100vw / var(--vw) * 60) calc(100vw / var(--vw) * 0);
  }

  .p-contact-urgent__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 24);
  }

  .p-contact-urgent__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-contact-urgent__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-contact-urgent__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-contact-urgent__card {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 16);
    padding: calc(100vw / var(--vw) * 24) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 24) calc(100vw / var(--vw) * 20);
    text-align: center;
  }

  .p-contact-urgent__desc {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .p-contact-urgent__phone {
    grid-column: 1;
    grid-row: 2;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .p-contact-urgent__phone-icon {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 26);
  }

  .p-contact-urgent__phone-num {
    font-size: calc(100vw / var(--vw) * 28);
  }

  .p-contact-urgent__hours {
    grid-column: 1;
    grid-row: 3;
    text-align: center;
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-contact-form {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-contact-form__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: calc(100vw / var(--vw) * 35);
  }

  .p-contact-form__main {
    width: 100%;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-contact-form__head {
    position: static;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: calc(100vw / var(--vw) * 10);
    margin-top: 0;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .p-contact-form__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-contact-form__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 26);
    letter-spacing: 0;
  }

  .p-contact-form__notice {
    padding: calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 20);
    text-align: center;
  }

  .p-contact-form__notice-title {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-contact-form__notice-title::after {
    width: 100%;
  }

  .p-contact-form__notice-list {
    padding-left: calc(100vw / var(--vw) * 8);
  }

  .p-contact-form__notice-list li {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-contact-form__field {
    margin-bottom: calc(100vw / var(--vw) * 24);
    gap: calc(100vw / var(--vw) * 8);
  }

  .p-contact-form__label {
    font-size: calc(100vw / var(--vw) * 15);
  }

  .p-contact-form__required {
    font-size: calc(100vw / var(--vw) * 10);
  }

  .p-contact-form__input,
  .p-contact-form__textarea {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-contact-form__radio-group .wpcf7-radio {
    gap: calc(100vw / var(--vw) * 20);
  }

  .p-contact-form__radio-group .wpcf7-radio label {
    font-size: calc(100vw / var(--vw) * 14);
  }

  .p-contact-form__submit-wrap {
    margin-top: calc(100vw / var(--vw) * 30);
  }

  .p-contact-form__submit {
    width: calc(100vw / var(--vw) * 220);
    height: calc(100vw / var(--vw) * 50);
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-floor-fv {
    height: calc(100vw / var(--vw) * 685);
  }

  .p-floor-fv__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(19, 19, 19, 0)), color-stop(45%, rgba(19, 19, 19, 0.28)), color-stop(70%, rgba(19, 19, 19, 0.28)), to(rgba(19, 19, 19, 0)));
    background: -webkit-linear-gradient(top, rgba(19, 19, 19, 0) 0%, rgba(19, 19, 19, 0.28) 45%, rgba(19, 19, 19, 0.28) 70%, rgba(19, 19, 19, 0) 100%);
    background: linear-gradient(to bottom, rgba(19, 19, 19, 0) 0%, rgba(19, 19, 19, 0.28) 45%, rgba(19, 19, 19, 0.28) 70%, rgba(19, 19, 19, 0) 100%);
  }

  .p-floor-fv__page-title {
    left: calc(100vw / var(--vw) * 17);
    top: calc(100vw / var(--vw) * 120);
    font-size: calc(100vw / var(--vw) * 34);
    letter-spacing: 0;
  }

  .p-floor-fv__lead-box {
    left: calc(100vw / var(--vw) * 15);
    top: auto;
    bottom: calc(100vw / var(--vw) * 50);
    width: calc(100vw / var(--vw) * 345);
    padding: 0;
    background: transparent;
  }

  .p-floor-fv__lead {
    font-size: calc(100vw / var(--vw) * 24);
    white-space: normal;
  }

  .p-floor-fv__divider {
    width: 100%;
    margin: calc(100vw / var(--vw) * 10) calc(100vw / var(--vw) * 0);
  }

  .p-floor-fv__sub {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-floor-about {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-floor-about__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .p-floor-about__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-floor-about__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-about__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 30);
    letter-spacing: 0.1em;
  }

  .p-floor-about__text {
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-floor-about__photo {
    width: 100%;
    aspect-ratio: 345/273;
    height: auto;
  }

  .p-floor-about__photo-inner {
    left: calc(100vw / var(--vw) * 12);
    top: calc(100vw / var(--vw) * 12);
    right: calc(100vw / var(--vw) * 12);
    bottom: calc(100vw / var(--vw) * 12);
    width: auto;
    height: auto;
  }

  .p-floor-about__deco {
    width: calc(100vw / var(--vw) * 72);
    height: calc(100vw / var(--vw) * 72);
  }

  .p-floor-rooms {
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 0);
  }

  .p-floor-room:last-child {
    margin-bottom: calc(100vw / var(--vw) * 60);
  }

  .p-floor-room {
    margin-bottom: calc(100vw / var(--vw) * 60);
  }

  .p-floor-room[data-room=private-mid] {
    background: var(--fl-white, #fff);
    padding: calc(100vw / var(--vw) * 40) calc(100vw / var(--vw) * 0);
    margin-bottom: calc(100vw / var(--vw) * 0);
  }

  .p-floor-room__inner {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .p-floor-room--right .p-floor-room__inner {
    grid-template-columns: 1fr;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    row-gap: calc(100vw / var(--vw) * 20);
    padding-top: calc(100vw / var(--vw) * 80);
  }

  .p-floor-room--left .p-floor-room__inner {
    grid-template-columns: 1fr;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    row-gap: calc(100vw / var(--vw) * 20);
  }

  .p-floor-room--right .p-floor-room__photo,
  .p-floor-room--right .p-floor-room__body,
  .p-floor-room--right .p-floor-room__head,
  .p-floor-room--left .p-floor-room__photo,
  .p-floor-room--left .p-floor-room__body,
  .p-floor-room--left .p-floor-room__head {
    grid-column: 1;
    grid-row: auto;
  }

  .p-floor-room__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 0;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-floor-room__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-room__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 26);
    letter-spacing: 0.1em;
  }

  .p-floor-room__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 345/274;
  }

  .p-floor-room__heading {
    font-size: calc(100vw / var(--vw) * 21);
  }

  .p-floor-room__meta dd {
    font-size: calc(100vw / var(--vw) * 16);
    gap: calc(100vw / var(--vw) * 4);
  }

  .p-floor-room__meta dd::before {
    width: calc(100vw / var(--vw) * 9);
    height: calc(100vw / var(--vw) * 9);
  }

  .p-floor-room__desc {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-floor-features {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-floor-features__inner {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: calc(100vw / var(--vw) * 24);
  }

  .p-floor-features__head {
    position: static;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    gap: calc(100vw / var(--vw) * 10);
    padding-left: calc(100vw / var(--vw) * 15);
  }

  .p-floor-features__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-features__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 28);
    letter-spacing: 0.1em;
  }

  .p-floor-features__body {
    position: static;
    padding-left: calc(100vw / var(--vw) * 53);
  }

  .p-floor-features__item {
    font-size: calc(100vw / var(--vw) * 18);
    padding-left: calc(100vw / var(--vw) * 16);
  }

  .p-floor-features__photos {
    position: relative;
    width: 100%;
    height: calc(100vw / var(--vw) * 290);
  }

  .p-floor-features__photo--main {
    left: calc(100vw / var(--vw) * 0);
    top: calc(100vw / var(--vw) * 0);
    width: calc(100vw / var(--vw) * 340);
    height: calc(100vw / var(--vw) * 234);
    z-index: 1;
  }

  .p-floor-features__photo--sub {
    left: calc(100vw / var(--vw) * 225);
    top: calc(100vw / var(--vw) * 140);
    width: calc(100vw / var(--vw) * 150);
    height: calc(100vw / var(--vw) * 150);
    z-index: 2;
  }

  .p-floor-scenes {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-floor-scenes__inner {
    width: 100%;
    min-height: auto;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-floor-scenes__grid {
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 16);
    margin-top: 0;
  }

  .p-floor-scenes__desc {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-top: 0;
    white-space: normal;
    font-size: calc(100vw / var(--vw) * 13);
  }

  .p-floor-scenes__head {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-floor-scenes__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-scenes__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 28);
    letter-spacing: 0.1em;
  }

  .p-floor-scene {
    height: auto;
    aspect-ratio: 345/240;
  }

  .p-floor-scene__label {
    left: calc(100vw / var(--vw) * 14);
    bottom: calc(100vw / var(--vw) * 14);
    font-size: calc(100vw / var(--vw) * 20);
  }

  .p-floor-info {
    height: auto;
    aspect-ratio: 375/481;
    padding: 0;
  }

  .p-floor-info__bg::after {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(21%, rgba(0, 0, 0, 0.66)), color-stop(78%, rgba(0, 0, 0, 0))), -webkit-gradient(linear, left top, left bottom, color-stop(21%, rgba(0, 0, 0, 0.23)), color-stop(89%, rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.66) 21%, rgba(0, 0, 0, 0) 78%), -webkit-linear-gradient(top, rgba(0, 0, 0, 0.23) 21%, rgba(0, 0, 0, 0) 89%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.66) 21%, rgba(0, 0, 0, 0) 78%), linear-gradient(180deg, rgba(0, 0, 0, 0.23) 21%, rgba(0, 0, 0, 0) 89%);
  }

  .p-floor-info__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    row-gap: calc(100vw / var(--vw) * 20);
  }

  .p-floor-info__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-floor-info__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-info__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 28);
    letter-spacing: 0.1em;
  }

  .p-floor-info__item {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .p-floor-banquet {
    padding: calc(100vw / var(--vw) * 80) calc(100vw / var(--vw) * 0);
  }

  .p-floor-banquet__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 15);
    grid-template-columns: 1fr;
    row-gap: calc(100vw / var(--vw) * 30);
  }

  .p-floor-banquet__body {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .p-floor-banquet__desc {
    font-size: calc(100vw / var(--vw) * 16);
    text-align: center;
  }

  .p-floor-banquet__cards {
    grid-template-columns: 1fr;
    gap: calc(100vw / var(--vw) * 30);
  }

  .p-floor-banquet__card {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .p-floor-banquet__card-photo {
    aspect-ratio: 326/255;
    height: auto;
  }

  .p-floor-banquet__card-title {
    display: block;
    background: #121212;
    color: var(--fl-white);
    text-align: center;
    font-family: var(--fl-mincho);
    font-weight: 500;
    font-size: calc(100vw / var(--vw) * 21);
    line-height: 1;
    padding: calc(100vw / var(--vw) * 20) calc(100vw / var(--vw) * 0);
  }

  .p-floor-banquet__btn {
    -ms-flex-item-align: center;
    align-self: center;
  }

  .p-floor-banquet__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 0;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    gap: calc(100vw / var(--vw) * 10);
  }

  .p-floor-banquet__emblem {
    width: calc(100vw / var(--vw) * 26);
    height: calc(100vw / var(--vw) * 24);
  }

  .p-floor-banquet__title {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: calc(100vw / var(--vw) * 24);
    letter-spacing: 0;
  }

  .pc {
    display: none !important;
    margin: 0;
    padding: 0;
  }

  .pc_fx {
    display: none !important;
  }

  .pc_inline {
    display: none !important;
  }

  .pc_inline_block {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .sp_inline {
    display: inline !important;
  }

  .sp_fx {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .sp_inline_block {
    display: inline-block !important;
  }

  .g-fv-sp-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: fixed;
    top: calc(100vw / var(--vw) * 30);
    right: calc(100vw / var(--vw) * 15);
    z-index: 1001;
    gap: calc(100vw / var(--vw) * 6);
    cursor: pointer;
    mix-blend-mode: difference;
    isolation: isolate;
  }

  .g-sp-cta-bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    height: calc(100vw / var(--vw) * 50);
  }

  .g-sticky {
    display: none;
  }

  .g-hamburger {
    display: block;
  }

  .g-footer {
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 0);
  }

  .g-footer__inner {
    width: 100%;
    padding: calc(100vw / var(--vw) * 0) calc(100vw / var(--vw) * 20);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(100vw / var(--vw) * 60);
  }

  .g-footer__cat {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .g-footer__logo-row {
    margin-bottom: calc(100vw / var(--vw) * 8);
  }

  .g-footer__logo {
    font-size: calc(100vw / var(--vw) * 35);
  }

  .g-footer__logo-sub {
    font-size: calc(100vw / var(--vw) * 18);
  }

  .g-footer__hr {
    max-width: 100%;
    margin-bottom: calc(100vw / var(--vw) * 14);
  }

  .g-footer__info {
    font-size: calc(100vw / var(--vw) * 16);
  }

  .g-footer__row {
    gap: calc(100vw / var(--vw) * 36);
  }

  .g-footer__label {
    width: calc(100vw / var(--vw) * 70);
  }

  .g-footer__nav {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: calc(100vw / var(--vw) * 26) calc(100vw / var(--vw) * 50);
    padding-top: 0;
  }

  .g-footer__nav a {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    padding: 0;
    width: calc(100vw / var(--vw) * 128);
    line-height: 1.3;
    white-space: nowrap;
  }

  .c-info-bar {
    display: none;
  }

  .c-cta-reserve {
    height: calc(100vw / var(--vw) * 418);
  }

  .c-cta-reserve__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(45, 45, 45, 0.47);
  }

  .c-cta-reserve__card {
    background: transparent;
    width: auto;
    margin: 0;
    padding: calc(100vw / var(--vw) * 100) calc(100vw / var(--vw) * 15) calc(100vw / var(--vw) * 60);
    text-align: center;
  }

  .c-cta-reserve__heading {
    font-size: calc(100vw / var(--vw) * 28);
    white-space: nowrap;
    color: #fff;
    margin-bottom: calc(100vw / var(--vw) * 35);
  }

  .c-cta-reserve__desc {
    font-size: calc(100vw / var(--vw) * 18);
    color: #fff;
    margin-bottom: calc(100vw / var(--vw) * 40);
    white-space: nowrap;
  }

  .c-cta-reserve__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0;
  }

  .c-cta-reserve__mail-btn {
    background: rgba(255, 255, 255, 0.85);
    border: none;
    font-size: calc(100vw / var(--vw) * 18);
  }

  .c-cta-reserve__phone-area {
    display: none;
  }

  .g-line-banner {
    display: none;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .top-about__deco {
    right: auto;
    left: calc(100vw / var(--vw) * -15);
    bottom: calc(100vw / var(--vw) * 160);
    width: calc(100vw / var(--vw) * 335);
    height: calc(100vw / var(--vw) * 170);
  }

  .ab-shop__buttons .ab-btn .ab-btn__arrow {
    left: calc(100vw / var(--vw) * 170);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*# sourceMappingURL=styles.css.map */
