.basicLightbox {
  align-items: center;
  background: #000c;
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  opacity: .01;
  position: fixed;
  top: 0;
  transition: opacity .4s ease;
  width: 100%;
  will-change: opacity;
  z-index: 1000;
}

.basicLightbox--visible {
  opacity: 1
}

.basicLightbox__placeholder {
  max-width: 100%;
  transform: scale(.9);
  transition: transform .4s ease;
  will-change: transform;
  z-index: 1
}

.basicLightbox__placeholder>iframe:first-child:last-child, .basicLightbox__placeholder>img:first-child:last-child, .basicLightbox__placeholder>video:first-child:last-child {
  bottom: 0;
  display: block;
  left: 0;
  margin: auto;
  max-height: 95%;
  max-width: 95%;
  position: absolute;
  right: 0;
  top: 0
}

.basicLightbox__placeholder>iframe:first-child:last-child, .basicLightbox__placeholder>video:first-child:last-child {
  pointer-events: auto;
}

.basicLightbox__placeholder>img:first-child:last-child, .basicLightbox__placeholder>video:first-child:last-child {
  height: auto;
  width: auto;
}

.basicLightbox--iframe .basicLightbox__placeholder, .basicLightbox--img .basicLightbox__placeholder, .basicLightbox--video .basicLightbox__placeholder {
  height: 100%;
  pointer-events: none;
  width: 100%
}

.basicLightbox--visible .basicLightbox__placeholder {
  transform: scale(1)
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type='search'] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
  cursor: pointer;
  color: inherit;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type='button'],
/* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Specify the progress cursor of updating elements */
[aria-busy='true'] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled='true'] {
  cursor: default;
}

@charset "UTF-8";

:root {
  /* color ------------------------ */
  --color-primary-lt: #F4F0E9;
  --color-primary: #DFA922;
  --color-primary-dk: #a4caae;
  --color-secondary: #44b7e4;
  --color-tertiary: #fac000;
  --color-gray-lt: #E1E1E1;
  --color-gray: #8f9695;
  --color-black: #252525;
  --color-white: #fff;
  --color-red: #e00000;
  --color: var(--color-black);
  --color-bg: var(--color-white);
  --color-alert: var(--color-red);
  --color-link: #414141;
  --color-link-hover: #000000;
  /* font-size -------------------------------------- */
  --font-size-xs: calc(12 * var(--size));
  --font-size-sm: calc(14 * var(--size));
  --font-size-md: calc(16 * var(--size));
  --font-size-lg: calc(18 * var(--size));
  --font-size-xl: calc(20 * var(--size));
  --font-size-x2l: calc(24 * var(--size));
  --font-size-x3l: calc(32 * var(--size));
  --font-size-x4l: calc(40 * var(--size));
  --font-size-x5l: calc(48 * var(--size));
  --font-size-base: var(--font-size-sm);
  /* font-family -------------------------------------- */
  --font-family-stix: "STIX Two Text", serif;
  --font-family-gothic: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
  --font-family-mincho: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho Demibold", "Yu Mincho", "YuMincho", Meiryo, serif;
  --font-family-base: var(--font-family-gothic);
  /* font-weight -------------------------------------- */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-base: var(--font-weight-regular);
  /* line-height ------------------------ */
  --line-height-md: 2;
  --line-height-sm: 1.8;
  --line-height-xs: 1.6;
  --line-height-x2s: 1.3;
  --line-height-base: var(--line-height-md);
  /* letter-spacing ------------------------ */
  --letter-spacing-md: 0;
  --letter-spacing-lg: 0.05em;
  --letter-spacing-base: var(--letter-spacing-md);
  /* width ------------------------ */
  --width-design: 412;
  --width-side: calc(22 * var(--size));
  /* height ------------------------ */
  --height-header: calc(85 * var(--size));
  --height-fixnav: calc(60 * var(--size));
  /* spacing -------------------------------------- */
  --spacing-4: calc(4 * var(--size));
  --spacing-8: calc(8 * var(--size));
  --spacing-16: calc(16 * var(--size));
  --spacing-24: calc(24 * var(--size));
  --spacing-32: calc(32 * var(--size));
  --spacing-40: calc(40 * var(--size));
  --spacing-48: calc(48 * var(--size));
  --spacing-56: calc(56 * var(--size));
  --spacing-62: calc(62 * var(--size));
  --spacing-72: calc(72 * var(--size));
  --spacing-80: calc(80 * var(--size));
  --spacing-120: calc(120 * var(--size));
  --spacing-160: calc(160 * var(--size));
  --spacing-200: calc(200 * var(--size));
  --spacing-section: calc(64 * var(--size));
  /* border-radius -------------------------------------- */
  --radius-sm: calc(16 * var(--size));
  --radius-md: calc(24 * var(--size));
  --radius-lg: calc(32 * var(--size));
  --radius-xl: calc(64 * var(--size));
  --raidus-full: 9999px;
  --z-index-overlay: 999;
  --z-index-menuTrg: 980;
  --z-index-menu: 979;
  --z-index-fixnav: 900;
  /* vw ------------------------ */
  --vw: calc(100 / var(--width-design) * 1vw);
  --vw-max: min(1px, calc(1 / var(--width-design) * 100vw));
  --vw-min: max(1px, calc(1 / var(--width-design) * 100vw));
  /* rem ------------------------ */
  --rem1: calc(1rem / 16);
  /* size -------------------------------------- */
  --size: var(--vw);
  /* easing -------------------------------------- */
}

@font-face {
  font-family: "iconfont";
  src: url("data:font/woff2;base64,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") format("woff2");
  font-style: normal;
  font-weight: normal;
  font-display: block;
}

:root {
  --icon-blank: "";
  --icon-check: "";
  --icon-csign_b: "";
  --icon-csign_l: "";
  --icon-csign_r: "";
  --icon-csign_t: "";
  --icon-delta_b: "";
  --icon-delta_l: "";
  --icon-delta_r: "";
  --icon-delta_t: "";
  --icon-logomark: "";
  --icon-pin: "";
  --icon-reserve: "";
  --icon-sns-facebook: "";
  --icon-sns-instagram: "";
  --icon-sns-line: "";
  --icon-sns-twitter: "";
  --icon-sns-x: "";
  --icon-tel: "";
}

.iconfont, .subpage-header:not(:has(.hero))::after, .hotel-accordion>.accordion-trg::after, .c-accordion>.trg::after,
i[class^=icon-],
i[class*=" icon-"] {
  /* stylelint-disable-next-line */
  font-family: "iconfont" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  letter-spacing: 0;
  /* display: inline-block; */
  /* vertical-align: text-top; */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "liga";
  font-variant-ligatures: discretionary-ligatures;
}

.icon-blank::before {
  content: var(--icon-blank);
}

.icon-check::before {
  content: var(--icon-check);
}

.icon-csign_b::before {
  content: var(--icon-csign_b);
}

.icon-csign_l::before {
  content: var(--icon-csign_l);
}

.icon-csign_r::before {
  content: var(--icon-csign_r);
}

.icon-csign_t::before {
  content: var(--icon-csign_t);
}

.icon-delta_b::before {
  content: var(--icon-delta_b);
}

.icon-delta_l::before {
  content: var(--icon-delta_l);
}

.icon-delta_r::before {
  content: var(--icon-delta_r);
}

.icon-delta_t::before {
  content: var(--icon-delta_t);
}

.icon-logomark::before {
  content: var(--icon-logomark);
}

.icon-pin::before {
  content: var(--icon-pin);
}

.icon-reserve::before {
  content: var(--icon-reserve);
}

.icon-sns-facebook::before {
  content: var(--icon-sns-facebook);
}

.icon-sns-instagram::before {
  content: var(--icon-sns-instagram);
}

.icon-sns-line::before {
  content: var(--icon-sns-line);
}

.icon-sns-twitter::before {
  content: var(--icon-sns-twitter);
}

.icon-sns-x::before {
  content: var(--icon-sns-x);
}

.icon-tel::before {
  content: var(--icon-tel);
}

/**
 * Swiper 7.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 9, 2021
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}

:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical>.swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered>.swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: center center;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal>.swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--height-header);
  font-family: var(--font-family-base);
}

body {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-base);
  line-height: var(--line-height-base);
  color: var(--color);
  background: var(--color-bg);
  letter-spacing: var(--letter-spacing-base);
}

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

.hover a:hover {
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6,
ul, ol,
picture, figure,
p {
  margin-bottom: 0.75lh;
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child,
ul:last-child, ol:last-child,
picture:last-child, figure:last-child,
p:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-xs);
}

h1 {
  font-size: var(--font-size-x4l);
}

h2 {
  font-size: var(--font-size-x2l);
}

h3 {
  font-size: var(--font-size-xl);
}

h4 {
  font-size: var(--font-size-lg);
}

h5, h6 {
  font-size: var(--font-size-md);
}

picture, figure {
  display: block;
  margin-bottom: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

:where(ul[class]) {
  list-style-type: none;
}

strong {
  font-weight: var(--font-weight-medium);
}

.u-my-0 {
  margin-block: 0 !important;
}

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

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

.u-mb-8 {
  margin-bottom: var(--spacing-8) !important;
}

.u-mb-16 {
  margin-bottom: var(--spacing-16) !important;
}

.u-mb-24 {
  margin-bottom: var(--spacing-24) !important;
}

.u-mb-section {
  margin-bottom: var(--spacing-section) !important;
}

.u-font-en {
  font-family: var(--font-family-stix) !important;
}

.u-font-base {
  font-size: var(--font-size-base) !important;
}

.u-font-xs {
  font-size: var(--font-size-xs) !important;
}

.u-font-sm {
  font-size: var(--font-size-sm) !important;
}

.u-font-md {
  font-size: var(--font-size-md) !important;
}

.u-font-lg {
  font-size: var(--font-size-lg) !important;
}

.u-font-xl {
  font-size: var(--font-size-xl) !important;
}

.u-font-x2l {
  font-size: var(--font-size-x2l) !important;
}

.u-font-x3l {
  font-size: var(--font-size-x3l) !important;
}

.u-font-x4l {
  font-size: var(--font-size-x4l) !important;
}

.u-font-x5l {
  font-size: var(--font-size-x5l) !important;
}

.u-color-base {
  color: var(--color) !important;
}

.u-color-primary {
  color: var(--color-primary) !important;
}

.u-color-secondary {
  color: var(--color-secondary) !important;
}

.u-color-tertiary {
  color: var(--color-tertiary) !important;
}

.u-color-white {
  color: var(--color-white) !important;
}

.u-align-center {
  text-align: center !important;
}

.u-align-right {
  text-align: right !important;
}

.u-align-left {
  text-align: left !important;
}

.u-align-justify {
  text-align: justify !important;
}

.u-radius-0 {
  border-radius: 0 !important;
}

.u-radius-sm {
  border-radius: var(--radius-sm) !important;
}

.u-radius-md {
  border-radius: var(--radius-md) !important;
}

.u-radius-lg {
  border-radius: var(--radius-lg) !important;
}

.u-radius-full {
  border-radius: var(--radius-full) !important;
}

.c-box-bdr {
  --border-color: var(--color-gray-lt);
  padding: calc(24 * var(--size));
  border: solid 1px var(--border-color);
}

.c-box-bdr.is-color-primary {
  --border-color: var(--color-primary-lt);
}

.c-box-bdr:has(.box-title) {
  padding: 0;
}

.c-box-bdr>.box-title {
  padding: calc(16 * var(--size));
  background-color: var(--border-color);
  text-align: center;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-regular);
}

.c-box-bdr>.box-content {
  padding: calc(24 * var(--size));
}

.c-btn {
  position: relative;
  display: inline-flex;
  column-gap: calc(10 * var(--size));
  align-items: center;
  justify-content: space-between;
  min-width: calc(265 * var(--size));
  padding: calc(16 * var(--size));
  margin: 0;
  line-height: var(--line-height-xs);
  letter-spacing: var(--letter-spacing-lg);
  color: var(--color-white);
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  background: var(--color);
  border: 0;
  border-radius: calc(4 * var(--size));
  outline: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: opacity 0.25s ease;
}

.hover .c-btn:hover {
  color: var(--color-white);
  text-decoration: none;
  opacity: 0.5;
}

.c-btn[disabled], .c-btn:disabled {
  pointer-events: none;
  opacity: 0.5;
}

.c-btn .label {
  margin: 0;
  font-weight: var(--font-weight-regular);
  text-align: left;
  word-break: break-word;
}

.c-btn .label .sub {
  display: block;
  font-size: 70%;
  font-weight: normal;
}

.c-btn.is-block {
  display: flex;
}

.c-btn.is-bg-primary {
  background-color: var(--color-primary);
}

.c-btn.is-bg-white {
  color: var(--color);
  background-color: var(--color-white);
  border: 1px solid var(--color);
}

.hover .c-btn.is-bg-white:hover {
  color: var(--color);
}

.c-btn-bdrb {
  display: inline-flex;
  gap: calc(10 * var(--size));
  align-items: center;
  min-width: calc(200 * var(--size));
  padding: calc(8 * var(--size)) calc(12 * var(--size));
  font-weight: var(--font-weight-regular);
  text-decoration: none !important;
  border-bottom: solid 1px currentColor;
}

.c-btn-bdrb i {
  margin-left: auto;
  transition: transform 0.25s ease;
}

.c-btn-bdrb.is-block {
  display: flex;
  width: 100%;
}

.hover .c-btn-bdrb:hover:hover .icon-csign_r {
  transform: translateX(calc(4 * var(--size)));
}

.hover .c-btn-bdrb:hover:hover .icon-csign_l {
  transform: translateX(calc(-4 * var(--size)));
}

.c-btn-list {
  display: flex;
  gap: calc(24 * var(--size));
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-block: calc(32 * var(--size));
}

.c-btn-list.is-justify-center {
  justify-content: center;
}

.c-btn-list:first-child {
  margin-top: 0;
}

.c-btn-list:last-child {
  margin-bottom: 0;
}

.c-dl-stack>.row {
  padding: calc(20 * var(--size)) 0;
  border-bottom: 1px solid var(--color-gray-lt);
}

.c-dl-stack>.row:first-child {
  border-top: 1px solid var(--color-gray-lt);
}

.c-dl-stack>.row>.label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
}

.c-dl-stack>.row>.desc+.label {
  margin-top: calc(8 * var(--size));
}

.c-dl-table {
  display: table;
  width: 100%;
}

.c-dl-table>.row {
  display: table-row;
}

.c-dl-table>.row>.label,
.c-dl-table>.row>.desc {
  display: table-cell;
  vertical-align: top;
}

.c-dl-table>.row>.label {
  position: relative;
  width: 2em;
  padding-right: 1em;
  color: var(--color-primary);
  text-align: right;
  white-space: nowrap;
}

.c-dl-table>.row>.label::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "：";
}

.c-dl-center {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1em;
}

.c-dl-center>.label {
  position: relative;
  width: 50%;
  padding-right: 1.43em;
  text-align: right;
}

.c-dl-center>.label::after {
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  display: block;
  width: 1em;
  height: 1px;
  content: "";
  background: var(--color-gray-lt);
}

.c-dl-center>.desc {
  width: 50%;
  padding-left: 0.43em;
  text-align: left;
}

.c-gap-24>* {
  margin-bottom: calc(24 * var(--size));
}

.c-gap-24>*:last-child {
  margin-bottom: 0;
}

.c-gap-16>* {
  margin-bottom: calc(16 * var(--size));
}

.c-gap-16>*:last-child {
  margin-bottom: 0;
}

.c-gap-8>* {
  margin-bottom: calc(8 * var(--size));
}

.c-gap-8>*:last-child {
  margin-bottom: 0;
}

.c-img-max {
  width: 100%;
}

.c-img-full {
  width: 100%;
  max-width: initial;
}

.c-inner {
  padding-inline: var(--width-side);
}

.c-input-text,
.c-textarea {
  display: block;
  width: 100%;
  padding: calc(10 * var(--size)) calc(14 * var(--size));
  font-size: calc(16 * var(--size));
  background: var(--color-white);
  border: 1px solid var(--color-gray-lt);
}

.c-textarea {
  height: 10em;
}

.c-slidetoggle-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

.c-slidetoggle-wrap:not(.is-show):not(.is-slide-progress) .slide-content {
  display: none;
}

img.js-lazyload {
  opacity: 0;
}

img.js-lazyload:not(.is-applied) {
  transition: opacity 1s;
}

img.js-lazyload.is-applied, img.js-lazyload.is-loaded, img.js-lazyload.is-error {
  opacity: 1;
}

img.js-lazyload:not([src]) {
  visibility: hidden;
}

.swiper-pagination {
  position: static;
  margin-top: calc(16 * var(--size));
  line-height: 1;
}

.swiper-pagination-bullet {
  flex: none;
  width: calc(6 * var(--size));
  height: calc(6 * var(--size));
  margin-inline: calc(4 * var(--size)) !important;
}

.swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}

.swiper-slide {
  height: auto;
}

.swiper-lazy-preloader {
  border: calc(4 * var(--size)) solid var(--color-primary);
  border-top-color: transparent;
}

.swiper-lazy {
  opacity: 0;
  transition: opacity 1s;
}

.swiper-lazy:not([src]) {
  visibility: hidden;
}

.swiper-lazy-loaded {
  opacity: 1;
}

.c-accordion {
  border-block: 1px solid var(--color-gray-lt);
}

.c-accordion+.c-accordion {
  border-top: none;
}

.c-accordion>.trg {
  position: relative;
  padding: calc(10 * var(--size)) calc(20 * var(--size)) calc(10 * var(--size)) 0;
  cursor: pointer;
}

.c-accordion>.trg.is-show::after {
  content: var(--icon-csign_t);
}

.c-accordion>.trg::after {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 0;
  content: var(--icon-csign_b);
  transition: transform 0.25s ease;
}

.hover .c-accordion>.trg:hover:hover::after {
  transform: translateY(calc(4 * var(--size)));
}

.c-accordion>.container>.wrap {
  padding: calc(10 * var(--size)) 0;
}

.c-accordion>.container>.wrap>*:last-child {
  margin-bottom: 0 !important;
}

.c-modal-trg {
  cursor: pointer;
  transition: opacity 0.25s ease;
}

.hover .c-modal-trg:hover {
  opacity: 0.6;
}

.c-link {
  display: inline-flex;
  column-gap: 0.5em;
  align-items: center;
  text-decoration: none;
}

.c-link:is(a) .label {
  text-decoration: underline;
}

.hover .c-link:is(a) .label:hover {
  text-decoration: none;
}

.c-list-none {
  margin-left: 0;
  list-style: none;
}

.c-list-disc {
  padding-left: 1.5em;
  margin-left: 0;
  list-style: disc outside;
}

.basicLightbox {
  background: rgba(0, 33, 43, 0.6);
}

.basicLightbox.is-circle {
  overflow: hidden;
  background: none;
}

.basicLightbox.is-circle.basicLightbox--visible::before {
  transform: scale(20);
}

.basicLightbox.is-circle.basicLightbox--visible .c-modal {
  opacity: 1;
}

.basicLightbox.is-circle::before {
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  display: block;
  width: 100px;
  height: 100px;
  content: "";
  background: rgba(0, 33, 43, 0.6);
  border-radius: 50%;
  transition: transform 1.6s ease;
}

.basicLightbox.is-circle .c-modal {
  position: relative;
  opacity: 0;
  transition: opacity 0.5s ease;
  transition-delay: 0.8s;
}

.c-section, .c-section-skew, .c-section-bg, .c-section-padding {
  margin-bottom: var(--spacing-section);
}

.c-section-padding {
  padding-block: calc(40 * var(--size));
}

.c-section-bg {
  padding-block: calc(40 * var(--size));
  background-color: var(--color-primary-lt);
}

.c-section-skew {
  position: relative;
  padding-block: calc((52 + 40) * var(--size));
}

.c-section-skew::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-primary-lt);
  clip-path: polygon(0 calc(40 * var(--size)), 100% 0, 100% 100%, 0 calc(100% - calc(40 * var(--size))));
}

.c-section-skew>* {
  position: relative;
  z-index: 2;
}

.c-title {
  margin-block: calc(24 * var(--size));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary);
}

.c-title:first-child {
  margin-top: 0;
}

.c-title:last-child {
  margin-bottom: 0;
}

.c-title-section {
  margin-block: calc(32 * var(--size));
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-xs);
  letter-spacing: var(--letter-spacing-lg);
}

.c-title-section:first-child {
  margin-top: 0;
}

.c-title-section:last-child {
  margin-bottom: 0;
}

.c-title-section.is-align-center {
  text-align: center;
}

.c-title-section.is-align-center .en::after {
  margin-inline: auto;
}

.c-title-section .en,
.c-title-section .ja {
  display: block;
}

.c-title-section .en {
  font-family: var(--font-family-stix);
  font-size: var(--font-size-x3l);
  font-weight: var(--font-weight-medium);
  line-height: 1;
}

.c-title-section .en::after {
  display: block;
  width: calc(56 * var(--size));
  height: 2px;
  margin-block: calc(16 * var(--size));
  content: "";
  background-color: var(--color-secondary);
}

.c-title-bdrl {
  padding-left: calc(12 * var(--size));
  margin-block: calc(24 * var(--size));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-regular);
  border-left: 2px solid var(--color-secondary);
}

.c-title-bdrl:first-child {
  margin-top: 0;
}

.c-title-bdrl:last-child {
  margin-bottom: 0;
}

.c-title-bdrl.u-font-md {
  margin-bottom: calc(12 * var(--size));
}

.c-txt-note {
  font-size: calc(10 * var(--size));
  line-height: var(--line-height-sm);
}

.c-txt-alert {
  line-height: var(--line-height-sm);
  color: var(--color-alert);
}

.c-txt-alignr {
  text-align: right;
}

.c-txt-center {
  text-align: center;
}

.c-txt-highlight {
  color: var(--color-primary);
}

.c-txt-readmore {
  margin-bottom: 0;
  text-align: right;
}

.c-txt-bdrl {
  padding-left: 0.8em;
  line-height: var(--line-height-sm);
  color: var(--color-primary);
  border-left: 2px solid currentColor;
}

.c-txt-bg {
  position: absolute;
  top: 0;
  right: var(--width-side);
  display: block;
  pointer-events: none;
}

.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: calc(50 * var(--size));
}

.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  font-size: calc(12 * var(--size));
  font-weight: 600;
  color: inherit;
  text-decoration: none;
  background: var(--color-white);
  border: 2px solid var(--color);
  border-radius: 50%;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  border: 0;
}

.wp-pagenavi .current {
  color: var(--color-white);
  background-color: var(--color);
}

.hover .wp-pagenavi a.page:hover,
.hover .wp-pagenavi a.previouspostslink:hover,
.hover .wp-pagenavi a.nextpostslink:hover {
  color: var(--color-white);
  background-color: var(--color);
}

.p-brand {
  margin-top: calc(40 * var(--size));
}

.p-brand .content {
  padding: calc(64 * var(--size)) calc(32 * var(--size));
  background-color: var(--color-primary-lt);
}

.brand-info>.title-section {
  display: flex;
  flex-direction: column;
  row-gap: calc(15 * var(--size));
  align-items: center;
  font-size: var(--font-size-xl);
  text-align: center;
}

.brand-info>.title-section::after {
  display: inline-block;
  width: calc(100 * var(--size));
  height: 2px;
  content: "";
  background-color: var(--color-secondary);
}

.brand-info .txt-desc {
  margin-top: calc(24 * var(--size));
  font-size: var(--font-size-sm);
  letter-spacing: var(--letter-spacing-lg);
}

.group-hotels {
  margin-top: calc(24 * var(--size));
}

.group-hotels>.title-section {
  font-weight: var(--font-weight-regular);
  text-align: center;
}

.group-hotels .hotel-accordion-wrapper {
  display: grid;
  gap: calc(24 * var(--size));
  margin-top: calc(24 * var(--size));
}

.hotel-accordion>.accordion-trg {
  position: relative;
  display: flex;
  column-gap: calc(10 * var(--size));
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: calc(8 * var(--size)) calc(12 * var(--size));
  text-align: left;
  cursor: pointer;
  border-bottom: 1px solid currentColor;
}

.hotel-accordion>.accordion-trg::after {
  content: var(--icon-csign_b);
  transition: transform 0.25s ease;
}

.hover .hotel-accordion>.accordion-trg:hover:hover::after {
  transform: translateY(calc(4 * var(--size)));
}

.hotel-accordion>.accordion-trg.is-show::after {
  content: var(--icon-csign_t);
}

.hotel-accordion>.accordion-container {
  padding-inline: calc(12 * var(--size));
}

.hotel-accordion>.accordion-container>.wrap {
  padding-top: calc(12 * var(--size));
}

.hotel-list {
  display: flex;
  flex-direction: column;
  row-gap: calc(10 * var(--size));
  font-size: var(--font-size-xs);
}

.hotel-list a {
  display: block;
  text-decoration: none;
}

body {
  padding-bottom: var(--height-fixnav);
}

.fixnav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--z-index-fixnav);
  display: flex;
  width: 100%;
}

.fixnav .btn {
  flex: 1;
  display: flex;
  column-gap: calc(8 * var(--size));
  justify-content: center;
  min-width: initial;
  height: var(--height-fixnav);
  padding: calc(10 * var(--size));
  font-size: calc(18 * var(--size));
  border-radius: 0;
}

.fixnav .btn .label {
  margin-left: 0;
}

.fixnav .btn-access {
  background-color: var(--color-secondary);
}

.fixnav .btn-reserve {
  background-color: var(--color-tertiary);
}

.fixnav .btn-reserve:any-link {
  color: var(--color);
}

.fixnav .btn-reserve i,
.fixnav .btn-reserve .label {
  pointer-events: none;
}

.p-footer {
  padding-block: calc(60 * var(--size));
  margin-top: calc(40 * var(--size));
  font-family: var(--font-family-mincho);
  font-size: calc(13 * var(--size));
  color: var(--color-white);
  background-color: var(--color);
}

.p-footer a:any-link {
  color: inherit;
}

.p-footer>.inner {
  position: relative;
}

.p-footer .logo {
  display: inline-block;
  margin-bottom: calc(25 * var(--size));
  line-height: 0;
}

.p-footer .logo .img {
  width: auto;
  height: calc(67 * var(--size));
}

.p-footer .name {
  font-family: var(--font-family-gothic);
  font-size: calc(16 * var(--size));
}

.p-footer .info {
  margin-bottom: calc(40 * var(--size));
}

.p-footer .info>* {
  margin-bottom: 0;
}

.p-footer .info .email {
  word-break: break-all;
}

.p-footer .sns-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0 calc(20 * var(--size));
  line-height: 1.2;
  margin-bottom: calc(32 * var(--size));
}

.p-footer .sns .link {
  display: inline-flex;
  align-items: center;
  column-gap: calc(10 * var(--size));
  text-decoration: none;
}

.p-footer .sns i {
  font-size: 1.5em;
}

.p-footer .sns i.icon-sns-x {
  font-size: 1.3em;
}

.p-footer .other-contact {
  font-size: calc(16 * var(--size));
}

.p-footer .other-contact .btn {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: calc(12 * var(--size)) calc(5 * var(--size));
  border: 1px solid currentColor;
  border-radius: 0;
}

.p-footer .misc-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(8 * var(--size)) calc(16 * var(--size));
  align-items: center;
  margin-top: calc(24 * var(--size));
}

.p-footer .language-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * var(--size));
  align-items: center;
  justify-content: flex-start;
  margin-top: calc(24 * var(--size));
  line-height: 1.2;
}

.p-footer .language-switcher>li>a {
  display: block;
  padding: 0.25em 0.95em;
  border: 1px solid var(--color-white);
  border-radius: 3em;
  text-decoration: none;
  color: var(--color-white);
}

.p-footer .language-switcher>li.current>a {
  background-color: var(--color-white);
  color: var(--color);
}

.p-copyright {
  display: block;
  padding: calc(30 * var(--size)) var(--width-side);
  font-family: var(--font-family-mincho);
  font-size: calc(12 * var(--size));
  text-align: center;
  background-color: var(--color-white);
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.p-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: var(--z-index-menu);
  width: 100%;
  font-size: var(--font-size-md);
  color: var(--color-white);
  background-color: var(--color-white);
}

.p-header>.inner {
  display: flex;
  align-items: center;
  height: var(--height-header);
  padding: 0 calc(20 * var(--size));
}

.p-header .logo {
  display: block;
  line-height: 1;
}

.p-header .logo .img {
  width: auto;
  height: calc(46 * var(--size));
}

.p-header .menu-trg {
  position: absolute;
  top: calc(32 * var(--size));
  right: calc(30 * var(--size));
  z-index: var(--z-index-menuTrg);
  display: block;
  width: calc(40 * var(--size));
  height: calc(22 * var(--size));
}

.p-header .menu-trg.is-show::before, .p-header .menu-trg.is-show::after,
.p-header .menu-trg.is-show .bar {
  background-color: var(--color-white);
}

.p-header .menu-trg.is-show::before {
  transform: translateY(0) rotate(45deg);
}

.p-header .menu-trg.is-show::after {
  transform: translateY(0) rotate(-45deg);
}

.p-header .menu-trg.is-show .bar {
  opacity: 0;
}

.p-header .menu-trg::before, .p-header .menu-trg::after,
.p-header .menu-trg .bar {
  position: absolute;
  top: calc(50% - calc(2 * var(--size)));
  left: 0;
  display: block;
  width: 100%;
  height: calc(2 * var(--size));
  content: "";
  background-color: var(--color);
  transition: 0.25s ease all;
}

.p-header .menu-trg::before {
  transform: translateY(calc(-10 * var(--size)));
}

.p-header .menu-trg::after {
  transform: translateY(calc(10 * var(--size)));
}

.p-header .menu {
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-index-menu);
  width: 100%;
}

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

.p-header .menu-inner {
  height: 100vh;
  height: 100dvh;
  padding: calc(80 * var(--size)) var(--width-side) calc(40 * var(--size));
}

.p-header .gnav-list {
  display: flex;
  flex-direction: column;
  row-gap: calc(8 * var(--size));
  margin-bottom: 0;
}

.p-header .gnav .link {
  transition: color 0.25s ease;
}

.p-header .misc-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(8 * var(--size));
  padding-block: calc(24 * var(--size));
  margin-block: calc(32 * var(--size));
  font-size: var(--font-size-sm);
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

.p-header .langnav-wrapper {
  font-size: var(--font-size-sm);
  line-height: 1.2;
  color: var(--color);
}

.p-header .langnav-trg {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: calc(4 * var(--size));
  padding-block: calc(6 * var(--size)) calc(4 * var(--size));
  padding-inline: calc(8 * var(--size));
  border: 1px solid var(--color-gray);
  font-size: var(--font-size-xs);
  font-family: var(--font-family-stix);
  line-height: 1;
}

.p-header .langnav-trg.is-show .arrow {
  transform: rotate(180deg);
}

.p-header .langnav-trg .arrow:before {
  content: "";
  display: block;
  width: calc(6 * var(--size));
  height: auto;
  aspect-ratio: 6/3;
  background-color: currentColor;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}

.p-header .langnav .language-switcher {
  margin: 0;
}

.p-header .langnav .language-switcher>li>a {
  display: block;
}

.p-header .sns-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 calc(20 * var(--size));
  line-height: 1.2;
  margin-top: calc(32 * var(--size));
}

.p-header .sns .link {
  display: inline-flex;
  align-items: center;
  column-gap: calc(10 * var(--size));
  color: currentColor;
  text-decoration: none;
}

.p-header .sns i {
  font-size: 1.5em;
}

.p-header .sns i.icon-sns-x {
  font-size: 1.3em;
}

.p-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 80%, var(--color-white)) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.p-overlay.is-show {
  opacity: 1;
}

.p-overlay .img {
  display: block;
  width: 130px;
  height: auto;
}

.layout-grid {
  display: grid;
  gap: calc(46 * var(--size));
}

.layout-thumb-text {
  --width-thumb-lg: calc(680 * var(--size));
  --width-thumb-sm: calc(400 * var(--size));
  --column-gap: calc(48 * var(--size));
  display: grid;
  gap: calc(32 * var(--size));
}

.layout-thumb-text>[class*=wrap-] {
  min-width: 0;
}

.layout-thumb-text>.wrap-thumb {
  text-align: center;
}

.layout-thumb-text>.wrap-thumb img {
  width: 100%;
  max-width: initial;
}

.slider-list .slider {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.slider-list .slider-side {
  width: calc(334 * var(--size));
}

.slider-list .slider-triple {
  width: calc(334 * var(--size));
}

.slider-list .slider-100p {
  width: 100%;
}

.slider-list .thumb {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 0;
  background-color: var(--color-gray-lt);
  overflow: hidden;
}

.slider-list .thumb img {
  display: block;
  width: 100%;
  min-width: initial;
  height: auto;
}

.slider-list .thumb:is(a) {
  transition: opacity 0.25s ease;
}

.hover .slider-list .thumb:is(a):hover {
  opacity: 0.6;
}

.slider-list .caption {
  margin: calc(5 * var(--size)) var(--width-side) 0;
}

.slider-list .wrap {
  flex: 1;
  width: 100%;
  padding: calc(24 * var(--size));
  padding-top: calc(16 * var(--size));
  background-color: var(--color-primary-lt);
}

.slider-list .wrap>*:last-child {
  margin-bottom: 0;
}

.slider-list .title {
  margin-bottom: calc(12 * var(--size));
  font-size: var(--font-size-lg);
}

.about-info .title-section {
  margin-bottom: calc(16 * var(--size));
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xl);
  text-align: center;
}

.faq-section {
  margin-bottom: calc(70 * var(--size));
}

.gallery-tile-list {
  display: grid;
  gap: calc(12 * var(--size));
  grid-template-columns: repeat(2, 1fr);
}

.gallery-tile-list .pic.is-column-2 {
  grid-column: span 2;
}

.gallery-tile-list .pic.is-row-2 {
  grid-row: span 2;
}

.gallery-tile-list .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-hero {
  --height-adjust: var(--height-header) - var(--height-fixnav) - (22 * var(--size));
  /* --height-adjust: var(--height-header) - var(--height-fixnav) - (22 * var(--size)); */
  box-sizing: initial;
  height: calc(100vh - var(--height-header));
  /* height: calc(100vh - var(--height-adjust)); */
  height: calc(100dvh - var(--height-header));
  /* height: calc(100dvh - var(--height-adjust)); */
  overflow: hidden;
  /* padding-block: 0 calc(var(--size)*22); */
  /* padding-inline: var(--width-side); */
  position: relative
}

.home-hero .hero-catch {
  left: calc(var(--size)*30);
  line-height: 1.6;
  position: absolute;
  top: calc(var(--size)*50);
  width: calc(100% - var(--size)*60);
  z-index: 2
}

.home-hero .hero-catch .label {
  color: var(--color-white);
  font-family: var(--font-family-mincho);
  font-size: calc(var(--size)*24);
  text-shadow: 0 0 calc(var(--size)*10) #000
}

.home-hero .hero-list {
  position: relative;
  height: 100%;
}

.home-hero .hero-list .picture {
  height: 100%;
}

.home-hero .hero-list .img {
  /* border-radius: calc(var(--size)*32); */
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%
}

.home-about {
  padding-block: calc(80 * var(--size));
}

.home-about::before {
  height: calc(100% - calc(264 * var(--size)));
}

.home-about .wrap-thumb {
  margin-bottom: calc(32 * var(--size));
}

.home-restaurant {
  padding-block: var(--spacing-section);
  background-color: var(--color-primary-dk);
  color: var(--color-white);
}

.home-restaurant .swiper-pagination-bullet-active {
  background-color: var(--color-white);
}

.home-access {
  padding-top: var(--spacing-section);
}

.home-access .map-link {
  margin-bottom: calc(40 * var(--size));
}

.home-news .content {
  padding-block: calc(40 * var(--size));
  border-block: solid 1px var(--color-gray-lt);
  text-align: center;
}

.home-news .title-section {
  margin-bottom: calc(24 * var(--size));
  font-size: var(--font-size-lg);
}

.news-archive-list {
  line-height: var(--line-height-sm);
  text-align: left;
}

.news-archive-list .news {
  display: flex;
  margin-bottom: calc(15 * var(--size));
}

.news-archive-list .news:last-child {
  margin-bottom: 0;
}

.news-archive-list .news .date {
  width: 6.5em;
}

.news-archive-list .news .link {
  display: block;
  flex: 1;
}

.news-archive-thumb-list {
  display: grid;
  gap: calc(48 * var(--size));
  line-height: var(--line-height-sm);
}

.news-archive-thumb-list .news .link {
  display: block;
  text-decoration: none;
}

.news-archive-thumb-list .news .link:is(a) {
  transition: opacity 0.25s ease;
}

.hover .news-archive-thumb-list .news .link:is(a):hover {
  opacity: 0.6;
}

.news-archive-thumb-list .news .thumb {
  position: relative;
  margin-bottom: calc(12 * var(--size));
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.news-archive-thumb-list .news .thumb .img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 368/210;
}

.news-archive-thumb-list .news .date {
  display: block;
  font-family: var(--font-family-stix);
  font-size: var(--font-size-sm);
}

.news-archive-thumb-list .news .title {
  display: block;
}

.post-single-header {
  padding-bottom: calc(20 * var(--size));
  margin-bottom: calc(40 * var(--size));
  border-bottom: 1px solid var(--color-gray-lt);
}

.post-single-header .date {
  display: block;
  font-family: var(--font-family-stix);
}

.post-single-header .title {
  margin-bottom: 0;
  font-size: calc(20 * var(--size));
  font-weight: var(--font-weight-regular);
}

.post-single-body {
  margin-bottom: calc(40 * var(--size));
}

.post-single-body::after {
  display: table;
  clear: both;
  content: "";
}

.post-single-body>* {
  margin-bottom: calc(24 * var(--size));
}

.post-single-body h2 {
  margin-block: calc(40 * var(--size)) calc(24 * var(--size));
  font-size: var(--font-size-base);
  color: var(--color-primary);
}

.post-single-body h3 {
  margin-block: calc(24 * var(--size)) calc(16 * var(--size));
  font-size: var(--font-size-base);
}

.post-single-body h4, .post-single-body h5, .post-single-body h6 {
  margin-block: calc(24 * var(--size)) calc(12 * var(--size));
  font-size: var(--font-size-base);
}

.post-single-body table:not([class]) {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 0.75lh;
  text-align: center;
  border-collapse: collapse;
}

.post-single-body table:not([class]) th,
.post-single-body table:not([class]) td {
  padding: 0.75em;
  border: 1px solid currentColor;
  line-height: var(--line-height-xs);
}

.post-single-body table:not([class]) th {
  font-weight: var(--font-weight-medium);
}

.post-single-body ul:not([class]),
.post-single-body ol:not([class]),
.post-single-body ul.wp-block-list,
.post-single-body ol.wp-block-list {
  margin-left: 1.5em;
}

.post-single-body ul.wp-block-list,
.post-single-body ul:not([class]) {
  list-style: disc outside;
}

.post-single-body ol.wp-block-list,
.post-single-body ol:not([class]) {
  list-style: decimal outside;
}

.post-single-body .alignnone,
.post-single-body .aligncenter,
.post-single-body .alignright,
.post-single-body .alignleft {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 0.75lh;
}

.post-single-body .aligncenter {
  margin-right: auto;
  margin-left: auto;
}

.post-single-body .alignright {
  float: right;
  width: 50%;
  margin-left: 1em;
}

.post-single-body .alignleft {
  float: left;
  width: 50%;
  margin-right: 1em;
}

.post-single-body .clearfix {
  padding: 0;
  margin: 0;
  clear: both;
  visibility: hidden;
  background: none;
  border: 0;
}

.post-single-body .wp-block-embed iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.restaurant-open {
  text-align: center;
}

.restaurant-open .wrap {
  padding: calc(20 * var(--size));
  margin-bottom: calc(20 * var(--size));
  border: 1px solid currentColor;
}

.restaurant-open .open-list .label {
  padding-right: 1em;
  color: var(--color-primary);
}

.restaurant-open .open-list .label::after {
  content: none;
}

.restaurant-menu {
  margin-top: calc(32 * var(--size));
  margin-bottom: calc(64 * var(--size)) !important;
}

.restaurant-menu-item .title {
  margin-bottom: calc(16 * var(--size));
  text-align: center;
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xl);
}

.restaurant-menu-item .img {
  width: 100%;
}

.all-room-facilities {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--size)) calc(32 * var(--size));
}

.shop-lineup-item .wrap-thumb {
  margin-bottom: calc(16 * var(--size));
}

.shop-lineup-item .shoulder {
  margin-bottom: 0;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary);
}

.shop-lineup-item .name {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary);
}

.subpage-header {
  position: relative;
  margin-bottom: var(--spacing-section);
  aspect-ratio: 1440 / 403;
}

.subpage-header:not(:has(.hero)) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: calc(20 * var(--size));
  background-color: var(--color-primary-lt);
  overflow: hidden;
  border-radius: 0 0 calc(32 * var(--size)) calc(32 * var(--size));
  
}

.subpage-header:not(:has(.hero))>* {
  position: relative;
  z-index: 1;
}

.subpage-header .wrap-hero img {
  aspect-ratio: 1440 / 403;
  object-fit: cover;
}

.subpage-header:not(:has(.hero))::after {
  content: var(--icon-logomark);
  position: absolute;
  right: calc(-30 * var(--size));
  bottom: calc(-15 * var(--size));
  z-index: 0;
  font-size: calc(200 * var(--size));
  color: var(--color-white);
  opacity: 0.5;
}

.subpage-header:not(:has(.hero)) .title-page {
  text-align: center;
}

.subpage-header:not(:has(.hero)) .title-page .en::after {
  width: calc(88 * var(--size));
  margin-inline: auto;
}

.subpage-header:has(.hero) .hero {
  display: block;
  width: 100%;
  height: auto;
}

.subpage-header:has(.hero) .wrap-txt {
  position: relative;
  z-index: 1;
  background-color: var(--color-primary-lt);
  border-left: solid calc(4 * var(--size)) var(--color-secondary);
}

.subpage-header:has(.hero) .title-page .en {
  display: block;
  font-family: var(--font-family-stix);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-x3l);
  line-height: 1;
}

.subpage-header:has(.hero) .title-page .ja {
  display: block;
  margin-top: calc(4 * var(--size));
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-sm);
}

.subpage-header:has(.hero) .title-page+* {
  margin-top: calc(16 * var(--size));
}

.subpage-intro {
  margin-bottom: var(--spacing-section);
}

@media screen and (min-width: 414px) and (max-width: 1399.98px) {
  .u-hide-between-xs-lg {
    display: none !important;
  }
}

@media screen and (min-width: 414px) and (max-width: 575.98px) {
  .u-hide-only-xs {
    display: none !important;
  }
}

@media screen and (min-width: 414px) and (max-width: 767.98px) {
  .u-hide-between-xs-sm {
    display: none !important;
  }
}

@media screen and (min-width: 414px) and (max-width: 991.98px) {
  .u-hide-between-xs-md {
    display: none !important;
  }
}

@media screen and (min-width: 576px) and (max-width: 1399.98px) {
  .u-hide-between-sm-lg {
    display: none !important;
  }
}

@media screen and (min-width: 576px) and (max-width: 767.98px) {
  .u-hide-only-sm {
    display: none !important;
  }
}

@media screen and (min-width: 576px) and (max-width: 991.98px) {
  .u-hide-between-sm-md {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1399.98px) {
  .u-hide-between-md-lg {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .u-hide-only-md {
    display: none !important;
  }
}

@media screen and (min-width: 992px) and (max-width: 1399.98px) {
  .u-hide-only-lg {
    display: none !important;
  }
}

@media screen and (max-width: 1399.98px) {
  .u-hide-down-lg {
    display: none !important;
  }
}

@media screen and (max-width: 991.98px) {
  .u-hide-down-md {
    display: none !important;
  }

  .c-txt-bg {
    width: calc(50 * var(--size));
    height: auto;
  }

  .p-header .menu {
    position: absolute;
    max-height: 0;
    overflow: hidden;
    background: linear-gradient(var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 80%, var(--color-white)) 100%);
    color: var(--color-white);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    transition: max-height 0.5s ease-in-out;
  }

  .p-header .menu:not(.is-show):not(.is-slide-progress) .menu {
    display: none;
  }

  .p-header .menu-inner {
    display: flex;
    flex-direction: column;
    overflow: auto;
    overscroll-behavior: contain;
  }

  .p-header .langnav {
    display: block !important;
  }

  .p-header .langnav-trg {
    display: none;
  }

  .p-header .langnav .language-switcher {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(10 * var(--size));
  }

  .p-header .langnav .language-switcher>li>a {
    padding: 0.25em 0.95em;
    color: var(--color-white);
    border: solid 1px var(--color-white);
    border-radius: 3em;
  }

  .p-header .langnav .language-switcher>li.current>a {
    background-color: var(--color-white);
    color: var(--color-primary);
  }

  .layout-thumb-text.is-thumb-sm .wrap-thumb img {
    width: 80%;
  }

  .subpage-header:not(:has(.hero)) {
    padding-block: calc(40 * var(--size));
    aspect-ratio: 2.5/1;
  }

  .subpage-header:has(.hero) .wrap-txt {
    padding: calc(24 * var(--size)) calc(36 * var(--size));
    margin-inline: var(--width-side);
    margin-top: calc(-50 * var(--size));
  }
}

@media screen and (max-width: 991.98px) and (orientation: landscape) {
  :root {
    --size: calc(var(--vw) / 1.75);
  }

  .home-hero {
    min-height: calc(350 * var(--size));
  }

  .subpage-header:has(.hero) .wrap-txt {
    margin-left: auto;
    width: calc(400 * var(--size));
  }
}

@media screen and (max-width: 991.98px) and (orientation: portrait) {
  .subpage-header:has(.hero) .hero {
    object-fit: cover;
    aspect-ratio: 3/2;
  }
}

@media screen and (max-width: 767.98px) {
  .u-hide-down-sm {
    display: none !important;
  }
}

@media screen and (max-width: 575.98px) {
  .u-hide-down-xs {
    display: none !important;
  }
}

@media screen and (max-width: 413.98px) {
  .u-hide-down-xxs {
    display: none !important;
  }

  .u-hide-only-xxs {
    display: none !important;
  }
}

@media screen and (max-width: 1799.98px), print {
  .u-hide-down-xl {
    display: none !important;
  }
}

@media screen and (min-width: 1400px) and (max-width: 1799.98px), print {
  .u-hide-only-xl {
    display: none !important;
  }
}

@media screen and (min-width: 1400px), print {
  .u-hide-up-xl {
    display: none !important;
  }
}

@media screen and (min-width: 1800px), print {
  .u-hide-up-xxl {
    display: none !important;
  }

  .u-hide-only-xxl {
    display: none !important;
  }
}

@media screen and (min-width: 414px) and (max-width: 1799.98px), print {
  .u-hide-between-xs-xl {
    display: none !important;
  }
}

@media screen and (min-width: 414px), print {
  .u-hide-up-xs {
    display: none !important;
  }
}

@media screen and (min-width: 576px) and (max-width: 1799.98px), print {
  .u-hide-between-sm-xl {
    display: none !important;
  }
}

@media screen and (min-width: 576px), print {
  .u-hide-up-sm {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1799.98px), print {
  .u-hide-between-md-xl {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  .u-hide-up-md {
    display: none !important;
  }
}

@media screen and (min-width: 992px) and (hover: hover), print and (hover: hover) {
  .p-header .gnav .link:hover {
    color: var(--color-primary);
  }
}

@media screen and (min-width: 992px) and (max-width: 1799.98px), print {
  .u-hide-between-lg-xl {
    display: none !important;
  }
}

@media screen and (min-width: 992px), print {
  :root {
    --font-size-base: var(--font-size-md);
  }

  :root {
    --width-design: 1440;
    --width-side: calc(120 * var(--size));
  }

  :root {
    --height-header: calc(90 * var(--size));
    --height-fixnav: 0;
  }

  :root {
    --spacing-section: calc(120 * var(--size));
  }

  .u-hide-up-lg {
    display: none !important;
  }

  .c-box-bdr {
    padding: calc(32 * var(--size));
  }

  .c-dl-stack>.row {
    padding: calc(20 * var(--size)) 0;
  }

  .c-inner.is-max-992 {
    max-width: calc(992 * var(--size));
    margin-inline: auto;
    box-sizing: content-box;
  }

  .c-inner.is-max-736 {
    max-width: calc(736 * var(--size));
    margin-inline: auto;
    box-sizing: content-box;
  }

  .c-inner.is-max-668 {
    max-width: calc(668 * var(--size));
    margin-inline: auto;
    box-sizing: content-box;
  }

  .c-input-text,
  .c-textarea {
    padding: calc(10 * var(--size)) calc(14 * var(--size));
    font-size: calc(16 * var(--size));
  }

  .swiper-pagination {
    margin-top: calc(32 * var(--size));
  }

  .c-accordion>.trg {
    padding: calc(15 * var(--size)) calc(20 * var(--size)) calc(15 * var(--size)) 0;
  }

  .c-accordion>.container>.wrap {
    padding: calc(15 * var(--size)) 0;
  }

  .c-section-padding {
    padding-block: calc(120 * var(--size));
  }

  .c-section-bg {
    padding-block: calc(64 * var(--size));
  }

  .c-section-skew {
    padding-block: calc((120 + 103) * var(--size));
  }

  .c-section-skew::before {
    clip-path: polygon(0 calc(103 * var(--size)), 100% 0, 100% 100%, 0 calc(100% - calc(103 * var(--size))));
  }

  .c-title {
    font-size: var(--font-size-x2l);
  }

  .c-title-section {
    margin-bottom: calc(40 * var(--size));
  }

  .c-title-section .en {
    font-size: var(--font-size-x4l);
  }

  .c-txt-note {
    font-size: calc(12 * var(--size));
  }

  .c-txt-readmore.is-lg-alignr {
    text-align: right;
  }

  .c-txt-readmore {
    text-align: inherit;
  }

  .wp-pagenavi {
    margin-top: calc(50 * var(--size));
  }

  .wp-pagenavi .page,
  .wp-pagenavi .current,
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    width: calc(50 * var(--size));
    height: calc(50 * var(--size));
    font-size: calc(15 * var(--size));
  }

  .p-brand {
    margin-top: calc(80 * var(--size));
  }

  .p-brand .content {
    padding: calc(80 * var(--size));
  }

  .brand-info .txt-desc {
    max-width: calc(680 * var(--size));
    margin-inline: auto;
    margin-top: calc(56 * var(--size));
  }

  .group-hotels {
    margin-top: calc(56 * var(--size));
  }

  .group-hotels .hotel-accordion-wrapper {
    grid-template-columns: calc(300 * var(--size)) 1fr 1fr calc(250 * var(--size));
  }

  body {
    padding-bottom: 0;
  }

  .fixnav {
    top: 50%;
    display: block;
    width: auto;
    transform: translateY(-50%);
  }

  .fixnav .btn {
    width: calc(40 * var(--size));
    height: auto;
    padding: calc(20 * var(--size)) calc(10 * var(--size));
    font-size: calc(16 * var(--size));
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
  }

  .fixnav .btn-tel .label {
    display: none;
  }

  .fixnav .btn-access .label {
    display: none;
  }

  .fixnav.is-pos-rb {
    top: auto;
    left: auto;
    bottom: 0;
    right: 0;
    display: flex;
    transform: none;
  }

  .fixnav.is-pos-rb .btn {
    flex: none;
    width: auto;
    padding: calc(10 * var(--size)) calc(20 * var(--size));
    writing-mode: initial;
    letter-spacing: var(--letter-spacing-base);
  }

  .fixnav.is-pos-rb .btn .label {
    display: block;
  }

  .p-footer {
    padding-block: calc(60 * var(--size)) calc(130 * var(--size));
    margin-top: calc(64 * var(--size));
  }

  .p-footer>.inner {
    display: flex;
    column-gap: calc(50 * var(--size));
    align-items: center;
    justify-content: space-between;
  }

  .p-footer .wrap-right {
    flex: none;
    width: 40%;
    text-align: right;
  }

  .p-footer .logo .img {
    height: calc(64 * var(--size));
  }

  .p-footer .info {
    margin-bottom: 0;
  }

  .p-footer .sns-list {
    justify-content: flex-end;
  }

  .p-footer .other-contact .btn {
    display: inline-flex;
    width: calc(352 * var(--size));
    padding: calc(16 * var(--size));
  }

  .p-footer .misc-list {
    gap: 0 calc(32 * var(--size));
    justify-content: flex-end;
  }

  .p-footer .misc-list+.misc-list {
    margin-top: 0;
  }

  .p-footer .language-switcher {
    justify-content: flex-end;
  }

  .p-header {
    font-size: var(--font-size-sm);
    color: var(--color);
  }

  .p-header>.inner {
    padding: 0 calc(26 * var(--size));
  }

  .p-header .logo {
    margin-right: calc(24 * var(--size));
  }

  .p-header .logo .img {
    height: calc(62 * var(--size));
  }

  .p-header .menu-trg {
    display: none;
  }

  .p-header .menu {
    position: static;
    flex: 1;
  }

  .p-header .menu-inner {
    height: auto;
    padding: 0;
    box-shadow: none;
  }

  .p-header .gnav-list {
    flex-direction: row;
    justify-content: flex-end;
    column-gap: calc(20 * var(--size));
  }

  .p-header:has(.langnav) .gnav-list {
    margin-top: calc(20 * var(--size));
  }

  .p-header .langnav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--color-white);
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
  }

  .p-header .langnav:not(.is-show):not(.is-slide-progress) .menu {
    display: none;
  }

  .p-header .langnav-wrapper {
    position: absolute;
    top: calc(10 * var(--size));
    right: calc(25 * var(--size));
    background-color: var(--color-white);
    font-size: calc(11 * var(--size));
  }

  .p-header .langnav .language-switcher {
    border: 1px solid var(--color-gray);
    border-top: 0;
  }

  .p-header .langnav .language-switcher>li {
    border-top: 1px solid var(--color-gray);
  }

  .p-header .langnav .language-switcher>li:first-child {
    border-top: 0;
  }

  .p-header .langnav .language-switcher>li>a {
    padding: calc(5 * var(--size)) calc(8 * var(--size));
  }

  .p-header .langnav .language-switcher>li.current>a {
    background-color: var(--color-primary-lt);
    color: currentColor;
  }

  .layout-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .layout-grid.is-column-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .layout-thumb-text {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(32 * var(--size)) var(--column-gap);
    align-items: center;
  }

  .layout-thumb-text.is-align-start {
    align-items: start;
  }

  .layout-thumb-text.is-thumb-left .wrap-thumb {
    order: -1;
  }

  .layout-thumb-text.is-thumb-left.is-thumb-side .wrap-thumb {
    margin-left: calc(-1 * var(--width-side));
  }

  .layout-thumb-text.is-thumb-left.is-thumb-side .wrap-thumb img {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }

  .layout-thumb-text.is-thumb-right:not(:has(.wrap-head)) .wrap-thumb {
    order: 9999;
  }

  .layout-thumb-text.is-thumb-right.is-thumb-side .wrap-thumb {
    margin-right: calc(-1 * var(--width-side));
  }

  .layout-thumb-text.is-thumb-right.is-thumb-side .wrap-thumb img {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  .layout-thumb-text.is-thumb-lg {
    grid-template-columns: 1fr var(--width-thumb-lg);
  }

  .layout-thumb-text.is-thumb-lg.is-thumb-left {
    grid-template-columns: var(--width-thumb-lg) 1fr;
  }

  .layout-thumb-text.is-thumb-sm {
    grid-template-columns: 1fr var(--width-thumb-sm);
  }

  .layout-thumb-text.is-thumb-sm.is-thumb-left {
    grid-template-columns: 1fr var(--width-thumb-sm);
  }

  .layout-thumb-text:has(.wrap-head) .wrap-thumb {
    grid-row: span 2;
  }

  .layout-thumb-text:has(.wrap-head) .wrap-head {
    align-self: end;
  }

  .layout-thumb-text:has(.wrap-head) .wrap-txt {
    align-self: start;
  }

  .slider-list .slider-side {
    width: calc(652 * var(--size));
  }

  .slider-list .slider-triple {
    width: calc(452 * var(--size));
  }

  .slider-list .slider-triple:first-child {
    margin-left: var(--width-side);
  }

  .slider-list .slider-triple:last-child {
    margin-right: var(--width-side);
  }

  .slider-list .caption {
    margin: calc(10 * var(--size)) 0 0;
  }

  .slider-list .wrap {
    padding: calc(32 * var(--size));
    padding-top: calc(24 * var(--size));
  }

  .faq-section {
    margin-bottom: calc(100 * var(--size));
  }

  /* .home-hero {
    --height-adjust: var(--height-header) - ((15 + 40) * var(--size));
    padding-block: calc(var(--size)*15) calc(var(--size)*40);
    padding-inline: calc(var(--size)*40)
  } */

  .home-hero .hero-catch {
    left: calc(65 * var(--size));
    width: calc(100% - calc(130 * var(--size)));
  }

  .home-hero .hero-catch .label {
    font-size: calc(32 * var(--size));
  }

  .home-about {
    padding-block: calc(70 * var(--size)) calc(190 * var(--size));
  }

  .home-about::before {
    height: calc(100% - calc(450 * var(--size)));
  }

  .home-about .wrap-thumb {
    margin-bottom: calc(40 * var(--size));
  }

  .home-restaurant .swiper-pagination {
    width: auto;
    margin-right: var(--width-side);
  }

  .home-access .map-link {
    margin-bottom: calc(72 * var(--size));
  }

  .news-archive-list {
    display: inline-block;
    vertical-align: top;
  }

  .news-archive-thumb-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .post-single-body h3 {
    margin-block: calc(32 * var(--size)) calc(16 * var(--size));
  }

  .post-single-footer .btn {
    width: calc(264 * var(--size));
  }

  .restaurant-open .wrap {
    padding: calc(30 * var(--size));
    margin-bottom: calc(30 * var(--size));
  }

  .all-room-facilities {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
  }

  .subpage-header:not(:has(.hero)) {
    min-height: calc(240 * var(--size));
    border-radius: 0 0 calc(64 * var(--size)) calc(64 * var(--size));
  }

  .subpage-header:not(:has(.hero))::after {
    right: calc(60 * var(--size));
    bottom: calc(-27 * var(--size));
    font-size: calc(298 * var(--size));
  }

  .subpage-header:has(.hero) .hero {
    border-radius: 0 0 calc(64 * var(--size)) calc(64 * var(--size));
  }

  .subpage-header:has(.hero) .wrap-txt {
    position: absolute;
    right: var(--width-side);
    bottom: calc(64 * var(--size));
    width: calc(472 * var(--size));
    padding: calc(40 * var(--size));
  }

  .subpage-header:has(.hero) .title-page .en {
    font-size: var(--font-size-x4l);
  }

  .subpage-header:has(.hero) .title-page .ja {
    font-size: var(--font-size-md);
  }

  .subpage-intro {
    text-align: center;
  }
}