.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
 */
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  margin: 0;
  padding: 0
}

hr {
  color: inherit;
  height: 0;
  overflow: visible
}

details, main {
  display: block
}

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden] {
  display: none
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

a {
  background-color: initial
}

a:active, a:hover {
  outline-width: 0
}

code, kbd, pre, samp {
  font-family: monospace, monospace
}

pre {
  font-size: 1em
}

b, strong {
  font-weight: bolder
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: initial
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

table {
  border-color: inherit;
  text-indent: 0
}

input {
  border-radius: 0
}

[disabled] {
  cursor: default
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

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

optgroup {
  font-weight: 700
}

button {
  overflow: visible
}

button, select {
  text-transform: none
}

[role=button], [type=button], [type=reset], [type=submit], button {
  color: inherit;
  cursor: pointer
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button
}

button, input, select, textarea {
  background-color: initial;
  border-style: none
}

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

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit
}

img {
  border-style: none
}

progress {
  vertical-align: initial
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled=true] {
  cursor: default
}

:root {
  --color-primary-lt: #f4f0e9;
  --color-primary: #9a5519;
  --color-primary-dk: #756957;
  --color-secondary: #8d0384;
  --color-tertiary: #f9c270;
  --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: #000;
  --font-size-xs: calc(var(--size)*12);
  --font-size-sm: calc(var(--size)*14);
  --font-size-md: calc(var(--size)*16);
  --font-size-lg: calc(var(--size)*18);
  --font-size-xl: calc(var(--size)*20);
  --font-size-x2l: calc(var(--size)*24);
  --font-size-x3l: calc(var(--size)*32);
  --font-size-x4l: calc(var(--size)*40);
  --font-size-x5l: calc(var(--size)*48);
  --font-size-base: var(--font-size-sm);
  --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-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-base: var(--font-weight-regular);
  --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-md: 0;
  --letter-spacing-lg: 0.05em;
  --letter-spacing-base: var(--letter-spacing-md);
  --width-design: 412;
  --width-side: calc(var(--size)*22);
  --height-header: calc(var(--size)*85);
  --height-fixnav: calc(var(--size)*60);
  --spacing-4: calc(var(--size)*4);
  --spacing-8: calc(var(--size)*8);
  --spacing-16: calc(var(--size)*16);
  --spacing-24: calc(var(--size)*24);
  --spacing-32: calc(var(--size)*32);
  --spacing-40: calc(var(--size)*40);
  --spacing-48: calc(var(--size)*48);
  --spacing-56: calc(var(--size)*56);
  --spacing-62: calc(var(--size)*62);
  --spacing-72: calc(var(--size)*72);
  --spacing-80: calc(var(--size)*80);
  --spacing-120: calc(var(--size)*120);
  --spacing-160: calc(var(--size)*160);
  --spacing-200: calc(var(--size)*200);
  --spacing-section: calc(var(--size)*64);
  --radius-sm: calc(var(--size)*16);
  --radius-md: calc(var(--size)*24);
  --radius-lg: calc(var(--size)*32);
  --radius-xl: calc(var(--size)*64);
  --raidus-full: 9999px;
  --z-index-overlay: 999;
  --z-index-menuTrg: 980;
  --z-index-menu: 979;
  --z-index-fixnav: 900;
  --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));
  --rem1: 0.0625rem;
  --size: var(--vw);
  --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: ""
}

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

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

.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)
}

@font-face {
  font-family: swiper-icons;
  font-style: normal;
  font-weight: 400;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

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

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

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

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

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translateZ(0)
}

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

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

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

.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 {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10
}

.swiper-3d .swiper-slide-shadow {
  background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(270deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(90deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(0deg, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(180deg, #00000080, #0000)
}

.swiper-css-mode>.swiper-wrapper {
  -ms-overflow-style: none;
  overflow: auto;
  scrollbar-width: 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 {
  height: var(--swiper-centered-offset-after);
  min-width: 1px;
  width: 100%
}

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

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

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

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

@keyframes swiper-preloader-spin {
  to {
    transform: rotate(1turn)
  }
}

.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;
  transform: translateZ(0);
  transition: opacity .3s;
  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 {
  font-size: 0;
  overflow: hidden
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: transform .2s, top .2s
}

.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: transform .2s, left .2s
}

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

.swiper-pagination-progressbar {
  background: #00000040;
  position: absolute
}

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

.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 {
  height: 4px;
  left: 0;
  top: 0;
  width: 100%
}

.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 {
  height: 100%;
  left: 0;
  top: 0;
  width: 4px
}

.swiper-pagination-lock {
  display: none
}

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

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

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

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

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

figure:last-child, h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, ol:last-child, p:last-child, picture:last-child, ul: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)
}

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

img {
  height: auto;
  max-width: 100%;
  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);
  border: 1px solid var(--border-color);
  padding: calc(var(--size)*24)
}

.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 {
  background-color: var(--border-color);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-regular);
  padding: calc(var(--size)*16);
  text-align: center
}

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

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

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

.hover .c-btn:hover {
  opacity: .5
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.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 {
  border-bottom: 1px solid var(--color-gray-lt);
  padding: calc(var(--size)*20) 0
}

.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(var(--size)*8)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.c-textarea {
  height: 10em
}

.c-slidetoggle-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height .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-error, img.js-lazyload.is-loaded {
  opacity: 1
}

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

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

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

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

.swiper-slide {
  height: auto
}

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

.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 {
  cursor: pointer;
  padding: calc(var(--size)*10) calc(var(--size)*20) calc(var(--size)*10) 0;
  position: relative
}

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

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

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

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

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

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

.hover .c-modal-trg:hover {
  opacity: .6
}

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

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

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

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

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

.basicLightbox {
  background: #00212b99
}

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

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

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

.basicLightbox.is-circle:before {
  background: #00212b99;
  border-radius: 50%;
  content: "";
  display: block;
  height: 100px;
  left: calc(50% - 50px);
  position: absolute;
  top: calc(50% - 50px);
  transition: transform 1.6s ease;
  width: 100px
}

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

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

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

.c-section-bg {
  background-color: var(--color-primary-lt)
}

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

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

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

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

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

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

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

.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 {
  background-color: var(--color-secondary);
  content: "";
  display: block;
  height: 2px;
  margin-block: calc(var(--size)*16);
  width: calc(var(--size)*56)
}

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

.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(var(--size)*12)
}

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

.c-txt-alert, .c-txt-note {
  line-height: var(--line-height-sm)
}

.c-txt-alert {
  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 {
  border-left: 2px solid;
  color: var(--color-primary);
  line-height: var(--line-height-sm);
  padding-left: .8em
}

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

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

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

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

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

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

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

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

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

.brand-info .txt-desc {
  font-size: var(--font-size-sm);
  letter-spacing: var(--letter-spacing-lg)
}

.brand-info .txt-desc, .group-hotels {
  margin-top: calc(var(--size)*24)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.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 .label, .fixnav .btn-reserve i {
  pointer-events: none
}

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

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

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

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

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

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

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

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

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

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

.p-footer .sns .link {
  align-items: center;
  column-gap: calc(var(--size)*10);
  display: inline-flex;
  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(var(--size)*16)
}

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

.p-footer .misc-list {
  gap: calc(var(--size)*8) calc(var(--size)*16)
}

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

.p-footer .language-switcher {
  gap: calc(var(--size)*10);
  justify-content: flex-start;
  line-height: 1.2
}

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

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

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

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

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

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

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

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

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

.p-header .menu-trg.is-show .bar, .p-header .menu-trg.is-show:after, .p-header .menu-trg.is-show:before {
  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 .bar, .p-header .menu-trg:after, .p-header .menu-trg:before {
  background-color: var(--color);
  content: "";
  display: block;
  height: calc(var(--size)*2);
  left: 0;
  position: absolute;
  top: calc(50% - var(--size)*2);
  transition: all .25s ease;
  width: 100%
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.gallery-tile-list {
  display: grid;
  gap: calc(var(--size)*12);
  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 {
  height: 100%;
  object-fit: cover;
  width: 100%
}

.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 {
  height: 100%;
  position: relative
}

.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(var(--size)*80)
}

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

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

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

.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(var(--size)*40)
}

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

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

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

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

.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(var(--size)*48);
  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 .25s ease
}

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

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

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

.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 {
  border-bottom: 1px solid var(--color-gray-lt);
  margin-bottom: calc(var(--size)*40);
  padding-bottom: calc(var(--size)*20)
}

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

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

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

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

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

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

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

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

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

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

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

.post-single-body ol.wp-block-list, .post-single-body ol:not([class]), .post-single-body ul.wp-block-list, .post-single-body ul:not([class]) {
  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 .aligncenter, .post-single-body .alignleft, .post-single-body .alignnone, .post-single-body .alignright {
  display: block;
  height: auto;
  margin-bottom: .75lh;
  max-width: 100%
}

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

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

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

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

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

.restaurant-open {
  text-align: center
}

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

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

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

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

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

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

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

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

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

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

.subpage-header {
  margin-bottom: var(--spacing-section);
  position: relative
}

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

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

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

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

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

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

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

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

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

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

.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 {
    height: auto;
    width: calc(var(--size)*50)
  }

  .p-header .menu {
    background: linear-gradient(var(--color-primary) 0, color-mix(in srgb, var(--color-primary) 80%, var(--color-white)) 100%);
    box-shadow: 0 0 3px #00000026;
    color: var(--color-white);
    max-height: 0;
    overflow: hidden;
    position: absolute;
    transition: max-height .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 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--size)*10)
  }

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

  .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)) {
    aspect-ratio: 2.5/1;
    padding-block: calc(var(--size)*40)
  }

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

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

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

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

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

@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, .u-hide-only-xxs {
    display: none !important
  }
}

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width:992px) {
  :root {
    --font-size-base: var(--font-size-md);
    --width-design: 1440;
    --width-side: calc(var(--size)*120);
    --height-header: calc(var(--size)*90);
    --height-fixnav: 0;
    --spacing-section: calc(var(--size)*120)
  }

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

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

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

  .c-inner.is-max-992 {
    max-width: calc(var(--size)*992)
  }

  .c-inner.is-max-736, .c-inner.is-max-992 {
    box-sizing: initial;
    margin-inline: auto
  }

  .c-inner.is-max-736 {
    max-width: calc(var(--size)*736)
  }

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

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

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

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

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

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

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

  .c-section-skew {
    padding-block: calc(var(--size)*223)
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .brand-info .txt-desc, .group-hotels {
    margin-top: calc(var(--size)*56)
  }

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

  body {
    padding-bottom: 0
  }

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

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

  .fixnav .btn-access .label, .fixnav .btn-tel .label {
    display: none
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .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(var(--size)*5) calc(var(--size)*8)
  }

  .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, .layout-thumb-text {
    grid-template-columns: repeat(2, 1fr)
  }

  .layout-thumb-text {
    align-items: center;
    gap: calc(var(--size)*32) var(--column-gap)
  }

  .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(var(--width-side)*-1)
  }

  .layout-thumb-text.is-thumb-left.is-thumb-side .wrap-thumb img {
    border-bottom-left-radius: 0 !important;
    border-top-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(var(--width-side)*-1)
  }

  .layout-thumb-text.is-thumb-right.is-thumb-side .wrap-thumb img {
    border-bottom-right-radius: 0 !important;
    border-top-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, .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(var(--size)*652)
  }

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

  .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(var(--size)*10) 0 0
  }

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

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

  /* .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(var(--size)*65);
    width: calc(100% - var(--size)*130)
  }

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

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

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

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

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

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

  .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(var(--size)*32) calc(var(--size)*16)
  }

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

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

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

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

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

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

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

  .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
  }
}

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

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