@charset "UTF-8";
:root {
  --color-primary-background: #F5EFE7;
  --color-secondary-background: #EFE6DA;
  --color-surface: #FBF8F4;
  --color-image-tone: #D9CCBC;
  --color-main-text: #3A332D;
  --color-secondary-text: #6F655C;
  --color-border: #E4DACD;
  --color-accent: #8C6446;
  --color-accent-dark: #6F4E36;
  --color-booking-cta: #8C6446;
  --color-shadow: rgba(92, 66, 44, 0.08);
}

body {
  font-family: var(--font-gothic);
  overflow-x: hidden;
  background: var(--color-primary-background);
  color: var(--color-main-text);
}

main,
.lower-page {
  background-color: var(--color-primary-background);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

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

html {
  scroll-behavior: smooth;
}
@media screen and (max-width: 1460px) {
  html {
    font-size: 0.0684931507vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 0.1302083333vw;
  }
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

p {
  margin-bottom: 0;
}

img {
  width: 100%;
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
}

select,
input {
  border: 1px solid var(--color-border);
  border-radius: 5px;
  padding: 0 10px;
}
@media screen and (max-width: 1460px) {
  select,
  input {
    padding: 0 10rem;
  }
}
@media screen and (max-width: 768px) {
  select,
  input {
    padding: 0 20rem;
  }
}

.container {
  margin: auto;
  max-width: 1400px;
}
@media screen and (max-width: 1460px) {
  .container {
    max-width: 1400rem;
  }
}
@media screen and (max-width: 768px) {
  .container {
    max-width: 90%;
  }
}

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

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

.en {
  font-family: var(--font-english);
  font-weight: 400;
}

.booking-cta {
  position: fixed;
  right: 0;
  bottom: 20%;
  transition: transform 0.3s;
  transform: translateX(101%);
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .booking-cta {
    display: none;
  }
}
.booking-cta.show {
  transform: translateX(0);
}
.booking-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 64px;
  min-height: 173px;
  padding: 24px 0;
  background: var(--color-booking-cta);
  color: #fff;
  font-family: var(--font-mincho);
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
  transition: all 0.5s;
}
.booking-cta a .booking-cta__label {
  writing-mode: vertical-rl;
  letter-spacing: 0.45em;
  margin-bottom: -0.45em;
  white-space: nowrap;
}
.booking-cta a .booking-cta__label.is-latin {
  letter-spacing: 0.08em;
  margin-bottom: 0;
}
.booking-cta a svg {
  width: 15px;
  margin-top: 10px;
}
.booking-cta a svg path {
  transition: all 0.5s;
  fill: #fff;
}
.booking-cta a:hover {
  color: var(--color-accent);
  background: var(--color-secondary-background);
}
.booking-cta a:hover svg {
  width: 15px;
  margin-top: 10px;
}
.booking-cta a:hover svg path {
  fill: var(--color-accent);
}

.show-all {
  width: 93px;
  padding: 8px;
  text-align: right;
  position: relative;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .show-all {
    width: 186rem;
    padding: 16rem;
  }
}
.show-all::after {
  content: "";
  background: url("../img/more-btn.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 93px;
  height: 9px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.show-all a {
  font-size: 15px;
  color: var(--color-main-text);
  transition: color 0.3s;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .show-all a {
    font-size: 30rem;
  }
}
.show-all a:hover {
  color: var(--color-accent);
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 900;
  transition: background-color 0.5s, -webkit-backdrop-filter 0.5s;
  transition: background-color 0.5s, backdrop-filter 0.5s;
  transition: background-color 0.5s, backdrop-filter 0.5s, -webkit-backdrop-filter 0.5s;
}
.header .container {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1720px;
  transition: height 0.5s;
  padding: 0 20px;
}
@media screen and (max-width: 1460px) {
  .header .container {
    max-width: 90%;
    height: 140rem;
  }
}
@media screen and (max-width: 768px) {
  .header .container {
    height: 100rem;
  }
}
.header .container .logo svg,
.header .container .logo img {
  width: 137px;
  height: auto;
  display: block;
}
@media screen and (max-width: 1460px) {
  .header .container .logo svg,
  .header .container .logo img {
    width: 137rem;
  }
}
@media screen and (max-width: 768px) {
  .header .container .logo svg,
  .header .container .logo img {
    width: 160rem;
  }
}
.header .container .logo svg path {
  fill: #fff;
}
.header .container .logo img {
  width: auto;
  height: 84px;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.35));
}
@media screen and (max-width: 1460px) {
  .header .container .logo img {
    width: auto;
    height: 84rem;
  }
}
@media screen and (max-width: 768px) {
  .header .container .logo img {
    width: auto;
    height: 92rem;
  }
}
.header .container .header-link {
  display: flex;
  align-items: center;
  justify-content: right;
}
.header .container .header-link li {
  margin-left: 50px;
}
@media screen and (max-width: 1460px) {
  .header .container .header-link li {
    margin-left: 50rem;
  }
}
@media screen and (max-width: 1050px) {
  .header .container .header-link li {
    display: none;
    margin-left: 40rem;
  }
}
.header .container .header-link li a {
  font-size: 16px;
  color: #fff;
  position: relative;
}
.header .container .header-link li a::after {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  height: 1px;
  width: 0;
  content: "";
  transition: width 0.5s;
}
.header .container .header-link li a:hover::after {
  width: 100%;
  left: 0;
  right: unset;
}
.header .container .header-link li button {
  border: none;
  outline: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header .container .header-link li.multi-lang {
  position: relative;
}
.header .container .header-link li.multi-lang button {
  font-size: 12px;
  color: #fff;
  position: relative;
  display: inline;
  transition: color 0.3s;
}
.header .container .header-link li.multi-lang button::after {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  height: 1px;
  width: 0;
  content: "";
  transition: width 0.5s;
}
.header .container .header-link li.multi-lang button:hover::after {
  width: 100%;
  left: 0;
  right: unset;
}
.header .container .header-link li.multi-lang .current-lang {
  color: #000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 23px;
  background: #fff;
  border-radius: 3px;
  font-size: 8px;
  margin-left: 10px;
}
.header .container .header-link li.multi-lang .language-drop {
  display: none;
  position: absolute;
  bottom: 0;
  transform: translate(-15%, 105%);
  left: 0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
}
.header .container .header-link li.multi-lang .language-drop .select-jp,
.header .container .header-link li.multi-lang .language-drop .select-en,
.header .container .header-link li.multi-lang .language-drop .select-ch,
.header .container .header-link li.multi-lang .language-drop .select-ko {
  display: block;
  background-color: #fff;
  border-bottom: 1px solid var(--color-border);
  padding: 5px 15px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  color: var(--color-main-text);
}
.header .container .header-link li.multi-lang .language-drop .select-jp.select-ko,
.header .container .header-link li.multi-lang .language-drop .select-en.select-ko,
.header .container .header-link li.multi-lang .language-drop .select-ch.select-ko,
.header .container .header-link li.multi-lang .language-drop .select-ko.select-ko {
  border-bottom: none;
}
.header .container .header-link li.multi-lang .language-drop .select-jp:hover,
.header .container .header-link li.multi-lang .language-drop .select-en:hover,
.header .container .header-link li.multi-lang .language-drop .select-ch:hover,
.header .container .header-link li.multi-lang .language-drop .select-ko:hover {
  background-color: var(--color-secondary-background);
}
.header .container .header-link li.multi-lang .language-drop .select-jp a,
.header .container .header-link li.multi-lang .language-drop .select-en a,
.header .container .header-link li.multi-lang .language-drop .select-ch a,
.header .container .header-link li.multi-lang .language-drop .select-ko a {
  color: unset;
  font-weight: 400 !important;
  display: block;
  text-align: center;
}
.header .container .header-link li.multi-lang .language-drop .select-jp a::after,
.header .container .header-link li.multi-lang .language-drop .select-en a::after,
.header .container .header-link li.multi-lang .language-drop .select-ch a::after,
.header .container .header-link li.multi-lang .language-drop .select-ko a::after {
  display: none;
}
.header .container .header-link li.multi-lang .language-drop.show-lang {
  display: block;
}
.header .container .header-link li.booking {
  display: none;
}
@media screen and (max-width: 1050px) {
  .header .container .header-link li.booking {
    display: block;
  }
}
.header .container .header-link li.booking a {
  font-size: 16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120rem;
  height: 46rem;
  color: var(--color-accent);
  border-radius: 6rem;
  background: #fff;
  font-weight: 500;
}
@media screen and (max-width: 1050px) {
  .header .container .header-link li.more-btn {
    display: block;
  }
}
.header .container .header-link li.more-btn button {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header .container .header-link li.more-btn button::after {
  display: none;
}
.header .container .header-link li.more-btn button svg {
  width: 40px;
}
@media screen and (max-width: 768px) {
  .header .container .header-link li.more-btn button svg {
    width: 60rem;
  }
}
.header .container .header-link li.more-btn button svg line {
  color: #000;
}
.header.header-bg {
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(0, 0, 0, 0.3);
}
.header.header-bg .container {
  height: 90px;
}
@media screen and (max-width: 1460px) {
  .header.header-bg .container {
    height: 90rem;
  }
}
@media screen and (max-width: 768px) {
  .header.header-bg .container {
    height: 100rem;
  }
}
.header.lower-header .container svg path {
  fill: var(--color-accent);
  transition: fill 0.3s;
}
.header.lower-header .container .logo img {
  filter: none;
}
.header.lower-header .container .logo.has-black-logo .logo-default {
  display: none;
}
.header.lower-header .container .header-link li a {
  color: var(--color-main-text);
  transition: color 0.3s;
}
.header.lower-header .container .header-link li a::after {
  background: var(--color-main-text);
}
.header.lower-header .container .header-link li.multi-lang button {
  color: var(--color-main-text);
}
.header.lower-header .container .header-link li.multi-lang button::after {
  background: var(--color-main-text);
}
.header.lower-header .container .header-link li.multi-lang .current-lang {
  border: 1px solid var(--color-main-text);
  transition: border 0.3s;
}
.header.lower-header .container .header-link li.booking a {
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  transition: border 0.3s;
}
.header.lower-header .container .header-link li.more-btn button svg line {
  stroke: var(--color-main-text);
  transition: stroke 0.3s;
}
.header.lower-header.header-bg .container svg path {
  fill: #fff;
}
.header.lower-header.header-bg .container .logo.has-black-logo .logo-default {
  display: block;
}
.header.lower-header.header-bg .container .logo.has-black-logo .logo-black {
  display: none;
}
.header.lower-header.header-bg .container .header-link li a {
  color: #fff;
}
.header.lower-header.header-bg .container .header-link li a::after {
  background: #fff;
}
.header.lower-header.header-bg .container .header-link li.multi-lang button {
  color: #fff;
}
.header.lower-header.header-bg .container .header-link li.multi-lang .current-lang {
  border: 1px solid #fff;
}
.header.lower-header.header-bg .container .header-link li.booking a {
  color: var(--color-accent);
  border: 1px solid #fff;
}
.header.lower-header.header-bg .container .header-link li.more-btn button svg line {
  stroke: #fff;
}

.ham-menu {
  background: var(--color-primary-background);
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  width: 400px;
  transform: translateX(101%);
  transition: transform 0.5s;
  overflow-y: auto;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  .ham-menu {
    width: 100%;
  }
}
.ham-menu.open {
  transform: translateX(0);
}
.ham-menu-container {
  position: relative;
  height: auto;
}
.ham-menu-container a {
  color: #000;
}
.ham-menu-container .ham-menu-header {
  padding: 13px 30px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-header {
    padding: 26rem 60rem;
  }
}
.ham-menu-container .ham-menu-header ul {
  display: flex;
  align-items: center;
  justify-content: right;
}
.ham-menu-container .ham-menu-header ul li {
  margin-left: 18px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-header ul li {
    margin-left: 36rem;
  }
}
.ham-menu-container .ham-menu-header ul li a {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-header ul li a {
    font-size: 24rem;
  }
}
.ham-menu-container .ham-menu-header ul li button {
  border: none;
  background: transparent;
  outline: none;
  cursor: pointer;
}
.ham-menu-container .ham-menu-header ul li button img {
  width: 21px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-header ul li button img {
    width: 42rem;
  }
}
.ham-menu-container .ham-menu-header ul li.multi-lang {
  position: relative;
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop {
  display: none;
  position: absolute;
  bottom: 0;
  z-index: 999;
  transform: translate(-15%, 105%);
  left: 0;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-jp,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-en,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ch,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ko {
  display: block;
  background-color: #fff;
  border-bottom: 1px solid var(--color-border);
  padding: 5px 15px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  color: var(--color-main-text);
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-jp.select-ko,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-en.select-ko,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ch.select-ko,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ko.select-ko {
  border-bottom: none;
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-jp:hover,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-en:hover,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ch:hover,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ko:hover {
  background-color: var(--color-secondary-background);
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-jp a,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-en a,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ch a,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ko a {
  color: unset;
  font-weight: 400 !important;
  display: block;
  text-align: center;
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-jp a::after,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-en a::after,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ch a::after,
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop .select-ko a::after {
  display: none;
}
.ham-menu-container .ham-menu-header ul li.multi-lang .language-drop.show-lang {
  display: block;
}
.ham-menu-container .ham-menu-header ul li .current-lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-image-tone);
  font-size: 8px;
  width: 60px;
  height: 23px;
  border-radius: 3px;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-header ul li .current-lang {
    font-size: 16rem;
    width: 120rem;
    height: 46rem;
    border-radius: 6rem;
    margin-left: 20rem;
  }
}
.ham-menu-container .ham-menu-link {
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-link {
    margin: 100rem auto;
    max-width: 80%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80rem;
  }
}
.ham-menu-container .ham-menu-link ul {
  max-width: 90%;
  margin: auto;
  margin-left: 50px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-link ul {
    margin-left: 0;
    margin: auto;
    max-width: unset;
    margin-top: 0;
  }
}
.ham-menu-container .ham-menu-link ul li {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-link ul li {
    font-size: 32rem;
    margin-bottom: 40rem;
  }
}
.ham-menu-container .ham-menu-link ul li ul {
  margin-left: 5px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-link ul li ul {
    margin-top: 40rem;
  }
}
.ham-menu-container .ham-menu-link ul li ul li {
  position: relative;
  font-weight: 500;
  font-size: 14px;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .ham-menu-link ul li ul li {
    font-size: 28rem;
  }
}
.ham-menu-container .ham-menu-link ul li ul li::after {
  content: "";
  background: var(--color-secondary-text);
  height: 1px;
  width: 7px;
  position: absolute;
  top: 50%;
  left: 0;
}
.ham-menu-container .more-link div {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  height: 140px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .more-link div {
    height: 196rem;
  }
}
.ham-menu-container .more-link div span {
  color: #fff;
  text-align: center;
  display: block;
  transition: color 0.3s;
  position: relative;
  z-index: 5;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .more-link div span {
    font-size: 18rem;
  }
}
.ham-menu-container .more-link div span.en {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .more-link div span.en {
    font-size: 40rem;
  }
}
.ham-menu-container .more-link div::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.ham-menu-container .more-link div.reservation::before {
  background: url("../img/reservation.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.ham-menu-container .more-link div.contact::before {
  background: url("../img/dining (15).webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.ham-menu-container .insta-field {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 33px 0;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .insta-field {
    margin: 66rem 0;
  }
}
.ham-menu-container .insta-field a {
  color: var(--color-main-text);
  line-height: 1;
  font-weight: 500;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .insta-field a {
    font-size: 24rem;
  }
}
.ham-menu-container .insta-field .insta {
  border-right: 0.5px solid var(--color-main-text);
  padding-right: 10px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .insta-field .insta {
    padding-right: 20rem;
    margin-right: 20rem;
  }
}
.ham-menu-container .insta-field .insta a {
  display: flex;
  align-items: center;
  justify-content: left;
}
.ham-menu-container .insta-field .insta a img {
  margin-right: 10px;
  width: 21px;
}
@media screen and (max-width: 768px) {
  .ham-menu-container .insta-field .insta a img {
    margin-right: 20rem;
    width: 42rem;
  }
}
.ham-menu-container .insta-field .insta a span {
  line-height: 1;
}

body.menu-is-open {
  overflow: hidden;
}

.ham-menu,
.full-bg {
  pointer-events: auto;
}

.map {
  width: 100%;
  height: 430px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1460px) {
  .map {
    height: 430rem;
  }
}
@media screen and (max-width: 768px) {
  .map {
    height: 560rem;
  }
}
.map iframe {
  width: 100%;
  height: 100%;
}

.footer {
  position: relative;
}
.footer .more-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .footer .more-link {
    display: block;
  }
}
.footer .more-link div {
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 1460px) {
  .footer .more-link div {
    height: 240rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .more-link div {
    height: 196rem;
  }
}
.footer .more-link div span {
  color: #fff;
  font-size: 16px;
  text-align: center;
  display: block;
  transition: color 0.3s;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .footer .more-link div span {
    font-size: 18rem;
  }
}
.footer .more-link div span.en {
  font-size: 50px;
}
@media screen and (max-width: 1460px) {
  .footer .more-link div span.en {
    font-size: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .more-link div span.en {
    font-size: 40rem;
  }
}
.footer .more-link div::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  transition: opacity 0.3s;
}
.footer .more-link div.reservation::before {
  background: url("../img/reservation.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.footer .more-link div.contact::before {
  background: url("../img/dining (15).webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.footer .more-link div:hover::before {
  opacity: 0.5;
}
.footer .more-link div:hover span {
  color: var(--color-main-text);
}
.footer .footer-main {
  background: var(--color-accent);
  padding: 70px 0 85px;
  position: relative;
  z-index: 150;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main {
    padding: 70rem 0 85rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main {
    padding: 72rem 0 34rem;
  }
}
.footer .footer-main .container {
  display: flex;
  align-items: end;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container {
    display: block;
    max-width: 100%;
  }
}
.footer .footer-main .container .footer-main__elem {
  color: #fff;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem {
    text-align: center;
  }
}
.footer .footer-main .container .footer-main__elem .footer-info-logo img {
  width: 133px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .footer-info-logo img {
    width: 266rem;
    margin-bottom: 80rem;
  }
}
.footer .footer-main .container .footer-main__elem p {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem p {
    font-size: 24rem;
    margin-bottom: 30rem;
    line-height: 1.6;
  }
}
.footer .footer-main .container .footer-main__elem p span {
  display: inline;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem p span {
    display: none;
  }
}
.footer .footer-main .container .footer-main__elem p.en {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem p.en {
    display: none;
  }
}
.footer .footer-main .container .footer-main__elem p.tel {
  font-size: 20px;
  margin-bottom: 27px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem p.tel {
    font-size: 24rem;
    margin-bottom: 64rem;
  }
}
.footer .footer-main .container .footer-main__elem p.copyright {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem p.copyright {
    text-align: right;
    margin-right: 52rem;
  }
}
.footer .footer-main .container .footer-main__elem .insta-field {
  display: flex;
  align-items: center;
  justify-content: left;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .insta-field {
    justify-content: center;
    margin-bottom: 136rem;
  }
}
.footer .footer-main .container .footer-main__elem .insta-field a {
  font-size: 16px;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .insta-field a {
    font-size: 24rem;
  }
}
.footer .footer-main .container .footer-main__elem .insta-field .insta {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 0.5px solid #fff;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .insta-field .insta {
    padding-right: 20rem;
    margin-right: 20rem;
  }
}
.footer .footer-main .container .footer-main__elem .insta-field .insta a {
  display: flex;
  align-items: center;
  justify-content: left;
}
.footer .footer-main .container .footer-main__elem .insta-field .insta a img {
  width: 21px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .insta-field .insta a img {
    margin-right: 20rem;
    width: 42rem;
  }
}
.footer .footer-main .container .footer-main__elem .insta-field .insta a span {
  line-height: 1;
}
.footer .footer-main .container .footer-main__elem .decoration-birds {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -100%);
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .decoration-birds {
    display: none;
  }
}
.footer .footer-main .container .footer-main__elem .decoration-birds img {
  width: 52px;
}
.footer .footer-main .container .footer-main__elem .footer-link-main {
  display: flex;
  align-items: center;
  justify-content: right;
  margin-bottom: 34px;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .footer-link-main {
    margin-bottom: 34rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .footer-link-main {
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    margin-bottom: 68rem;
    max-width: 85%;
  }
}
.footer .footer-main .container .footer-main__elem .footer-link-main li {
  margin-left: 30px;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .footer-link-main li {
    margin-left: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .footer-link-main li {
    margin: 0 25rem;
    margin-bottom: 10rem;
  }
}
.footer .footer-main .container .footer-main__elem .footer-link-main li a {
  color: #fff;
  font-size: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .footer-link-main li a {
    font-size: 32rem;
  }
}
.footer .footer-main .container .footer-main__elem .footer-link-main li a::after {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  height: 1px;
  width: 0;
  content: "";
  transition: width 0.5s;
}
.footer .footer-main .container .footer-main__elem .footer-link-main li a:hover::after {
  width: 100%;
  left: 0;
  right: unset;
}
.footer .footer-main .container .footer-main__elem .booking {
  margin-bottom: 36px;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .booking {
    margin-bottom: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .booking {
    margin-bottom: 88rem;
  }
}
.footer .footer-main .container .footer-main__elem .booking a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 48px;
  background-color: #fff;
  color: var(--color-accent);
  font-size: 16px;
  margin-left: auto;
  font-weight: 500;
  transition: background-color 0.3s;
  font-weight: 500;
  font: medium;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .booking a {
    font-size: 32rem;
    width: 360rem;
    height: 96rem;
    margin: auto;
  }
}
.footer .footer-main .container .footer-main__elem .booking a:hover {
  background-color: var(--color-secondary-background);
}
.footer .footer-main .container .footer-main__elem .bottom-line {
  width: 508px;
  height: 1px;
  margin-left: auto;
  margin-bottom: 33px;
  background: url("../img/footer-line.svg");
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .bottom-line {
    width: 508rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .bottom-line {
    margin-bottom: 30rem;
    width: 100%;
  }
}
.footer .footer-main .container .footer-main__elem .terms-policy {
  display: flex;
  align-items: center;
  justify-content: right;
  margin-bottom: 12px;
  gap: 40px;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .terms-policy {
    gap: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .terms-policy {
    margin-bottom: 30rem;
    margin-right: 52rem;
  }
}
.footer .footer-main .container .footer-main__elem .terms-policy .terms {
  position: relative;
}
.footer .footer-main .container .footer-main__elem .terms-policy .terms::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #fff;
  top: 0;
  right: -21px;
}
@media screen and (max-width: 1460px) {
  .footer .footer-main .container .footer-main__elem .terms-policy .terms::after {
    right: -21rem;
  }
}
.footer .footer-main .container .footer-main__elem .terms-policy a {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem .terms-policy a {
    font-size: 24rem;
  }
}
.footer .footer-main .container .footer-main__elem .terms-policy a::after {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  height: 1px;
  width: 0;
  content: "";
  transition: width 0.5s;
}
.footer .footer-main .container .footer-main__elem .terms-policy a:hover::after {
  width: 100%;
  left: 0;
  right: unset;
}
.footer .footer-main .container .footer-main__elem .terms-policy .guide {
  padding: 0 20px;
  margin: 0 20px;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
.footer .footer-main .container .footer-main__elem.footer-link {
  text-align: center;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .footer .footer-main .container .footer-main__elem.footer-link {
    margin-right: 0;
  }
}
.footer .to-top {
  position: absolute;
  right: 30px;
  bottom: 100px;
  text-align: center;
  cursor: pointer;
  z-index: 200;
}
@media screen and (max-width: 1460px) {
  .footer .to-top {
    bottom: 100rem;
    right: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .to-top {
    display: none;
  }
}
.footer .to-top-line {
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  justify-content: left;
}
.footer .to-top-line div {
  width: 1px;
  height: 73px;
  background: #fff;
  margin: 0 2px;
  position: relative;
}
.footer .to-top-line div::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  left: 0;
  background: var(--color-accent);
  animation: toTop 2.5s linear infinite;
}
@keyframes toTop {
  0% {
    height: 0;
    top: 100%;
  }
  50% {
    height: 100%;
    top: 0;
  }
  100% {
    height: 0;
    top: 0;
  }
}
.footer .to-top-line div:first-child {
  margin-top: 16px;
}
.footer .to-top-line div:first-child::after {
  animation-delay: 0.2s;
}
.footer .to-top span {
  font-size: 16px;
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 1;
}

.full-bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  opacity: 0;
  z-index: 1;
}
.full-bg.open {
  animation: open 0.5s linear forwards;
  display: block;
}
@keyframes open {
  0% {
    display: block;
    opacity: 0;
    z-index: 995;
  }
  100% {
    display: block;
    opacity: 1;
    z-index: 995;
  }
}

.lower-fv {
  padding-top: 150px;
  padding-left: 100px;
}
@media screen and (max-width: 1460px) {
  .lower-fv {
    padding-top: 150rem;
    padding-left: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-fv {
    padding-top: 240rem;
    padding-left: 50rem;
  }
}
.lower-fv h1,
.lower-fv h2,
.lower-fv h3 {
  font-size: 50px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1460px) {
  .lower-fv h1,
  .lower-fv h2,
  .lower-fv h3 {
    margin-bottom: 60rem;
    font-size: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-fv h1,
  .lower-fv h2,
  .lower-fv h3 {
    margin-bottom: 80rem;
    font-size: 48rem;
  }
}
.lower-fv .fv-img {
  width: 100%;
}
.lower-fv .fv-img .img {
  height: 480px;
}
@media screen and (max-width: 1460px) {
  .lower-fv .fv-img .img {
    height: 480rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-fv .fv-img .img {
    height: 600rem;
  }
}
.lower-fv .fv-img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.lower-page .lower-fv:not(.reservation-hero) {
  position: relative;
  margin-top: 140px;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.reservation-hero) {
    margin-top: 140rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.reservation-hero) {
    margin-top: 100rem;
  }
}
.lower-page .lower-fv:not(.reservation-hero) h1,
.lower-page .lower-fv:not(.reservation-hero) h2,
.lower-page .lower-fv:not(.reservation-hero) h3 {
  margin: 0;
  font-family: var(--font-english);
  font-size: 56px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.reservation-hero) h1,
  .lower-page .lower-fv:not(.reservation-hero) h2,
  .lower-page .lower-fv:not(.reservation-hero) h3 {
    font-size: 56rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.reservation-hero) h1,
  .lower-page .lower-fv:not(.reservation-hero) h2,
  .lower-page .lower-fv:not(.reservation-hero) h3 {
    font-size: 56rem;
  }
}
.lower-page .lower-fv:not(.reservation-hero) h1::after,
.lower-page .lower-fv:not(.reservation-hero) h2::after,
.lower-page .lower-fv:not(.reservation-hero) h3::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  margin: 18px 0 22px;
  background: currentColor;
  opacity: 0.6;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.reservation-hero) h1::after,
  .lower-page .lower-fv:not(.reservation-hero) h2::after,
  .lower-page .lower-fv:not(.reservation-hero) h3::after {
    width: 32rem;
    margin-top: 18rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.reservation-hero) h1::after,
  .lower-page .lower-fv:not(.reservation-hero) h2::after,
  .lower-page .lower-fv:not(.reservation-hero) h3::after {
    width: 48rem;
    margin-top: 24rem;
    margin-bottom: 28rem;
  }
}
.lower-page .lower-fv:not(.reservation-hero) .fv-lead {
  font-family: var(--font-mincho);
  font-size: 22px;
  letter-spacing: 0.14em;
  line-height: 1.9;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.reservation-hero) .fv-lead {
    font-size: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.reservation-hero) .fv-lead {
    font-size: 28rem;
    line-height: 1.8;
  }
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  aspect-ratio: 5/2;
  min-height: 440px;
  padding: 0 100px;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) {
    min-height: 440rem;
    padding: 0 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) {
    aspect-ratio: 4/3;
    min-height: 520rem;
    padding: 0 40rem;
  }
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) h1,
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) h2,
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) h3,
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-lead {
  position: relative;
  z-index: 1;
  max-width: 760px;
  color: #fff;
  text-shadow: 0 2px 12px rgba(43, 30, 20, 0.25);
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h1,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h2,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h3,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-lead {
    max-width: 760rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h1,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h2,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) h3,
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-lead {
    max-width: none;
  }
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-img {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(43, 30, 20, 0.6) 0%, rgba(43, 30, 20, 0.28) 45%, rgba(43, 30, 20, 0.05) 80%);
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-img::after {
    background: linear-gradient(90deg, rgba(43, 30, 20, 0.6) 0%, rgba(43, 30, 20, 0.3) 100%);
  }
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-img .img {
  height: 100%;
}
.lower-page .lower-fv:not(.no-img):not(.reservation-hero) .fv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: sepia(0.15) saturate(1.05);
}
.lower-page .lower-fv.no-img {
  padding: 110px 100px 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page .lower-fv.no-img {
    padding: 110rem 100rem 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .lower-fv.no-img {
    padding: 110rem 40rem 20rem;
  }
}
.lower-page .lower-fv.no-img h1,
.lower-page .lower-fv.no-img h2,
.lower-page .lower-fv.no-img h3 {
  color: var(--color-main-text);
}
.lower-page .lower-fv.no-img h1::after,
.lower-page .lower-fv.no-img h2::after,
.lower-page .lower-fv.no-img h3::after {
  background: var(--color-accent);
}
.lower-page .container {
  max-width: 1240px;
}
@media screen and (max-width: 1460px) {
  .lower-page .container {
    max-width: 1240rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page .container {
    max-width: 90% !important;
  }
}
.lower-page .section:not(.lower-fv):not(.lower-footer):not(.room-reservation) {
  position: relative;
}
.lower-page h3,
.lower-page h4 {
  font-family: var(--font-mincho);
  font-weight: 400;
}
.lower-page p,
.lower-page li,
.lower-page td,
.lower-page th,
.lower-page dt,
.lower-page dd {
  color: var(--color-main-text);
}

.lower-footer {
  padding-top: 250px;
  padding-bottom: 100px;
  position: relative;
  background: var(--color-image-tone);
}
@media screen and (max-width: 1460px) {
  .lower-footer {
    padding-top: 250rem;
    padding-bottom: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-footer {
    padding-top: 200rem;
    padding-bottom: 150rem;
  }
}
.lower-footer h3 {
  color: #fff;
  font-size: 39px;
  letter-spacing: 0.5em;
  text-align: center;
  margin-bottom: 75px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1460px) {
  .lower-footer h3 {
    margin-bottom: 75rem;
    font-size: 39rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-footer h3 {
    font-size: 50rem;
    margin-bottom: 120rem;
    letter-spacing: 0.08em;
  }
}
.lower-footer p {
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.3em;
  font-weight: 500;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .lower-footer p {
    padding: 0 30rem;
    font-size: 26rem;
    letter-spacing: 0.08em;
  }
}
.lower-footer .decoration-birds {
  position: absolute;
  width: 100px;
  top: 5%;
  left: 20%;
  z-index: 5;
  animation: bird-move 4s infinite;
}
@media screen and (max-width: 768px) {
  .lower-footer .decoration-birds {
    width: 120rem;
    left: 10%;
  }
}
@keyframes bird-move {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-70%);
  }
  100% {
    transform: translateY(0);
  }
}
.lower-footer .decoration-birds img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform: scaleX(-1);
}
.lower-footer .wave-container {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
}
.lower-footer .wave-container .waves {
  position: relative;
  width: 100%;
  height: 15vh;
  margin-bottom: -7px;
  min-height: 100px;
  max-height: 150px;
}
@media screen and (max-width: 1460px) {
  .lower-footer .wave-container .waves {
    min-height: 100rem;
    max-height: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-footer .wave-container .waves {
    height: 100rem;
  }
}
.lower-footer .wave-container .waves .parallax > use {
  animation: move-forever 40s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}
.lower-footer .wave-container .waves .parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
.lower-footer .wave-container .waves .parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}
.lower-footer .wave-container .waves .parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.lower-footer .wave-container .waves .parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
    @media screen and (max-width: 1460px) {
      .lower-footer .wave-container .waves {
        transform: translate3d(-90rem, 0, 0);
      }
    }
    @media screen and (max-width: 768px) {
      .lower-footer .wave-container .waves {
        transform: translate3d(-120rem, 0, 0);
      }
    }
  }
  100% {
    transform: translate3d(85px, 0, 0);
    @media screen and (max-width: 1460px) {
      .lower-footer .wave-container .waves {
        transform: translate3d(85rem, 0, 0);
      }
    }
    @media screen and (max-width: 768px) {
      .lower-footer .wave-container .waves {
        transform: translate3d(160rem, 0, 0);
      }
    }
  }
}

.info {
  padding-top: 140px;
}
@media screen and (max-width: 1460px) {
  .info {
    padding-top: 140rem;
  }
}
@media screen and (max-width: 768px) {
  .info {
    padding-top: 120rem;
  }
}
.info .container {
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 100px;
  gap: 140px;
}
@media screen and (max-width: 1460px) {
  .info .container {
    margin-bottom: 100rem;
    gap: 140rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .info .container .title {
    margin-bottom: 76rem;
  }
}
.info .container .title h2 {
  font-size: 50px;
}
@media screen and (max-width: 1460px) {
  .info .container .title h2 {
    font-size: 50rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .title h2 {
    font-size: 48rem;
    text-align: center;
  }
}
.info .container .title .img {
  text-align: right;
}
.info .container .title .img img {
  width: 78px;
  transform: translateX(80%);
}
@media screen and (max-width: 1460px) {
  .info .container .title .img img {
    width: 78rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .title .img img {
    width: 100rem;
    transform: translate(-100%, 30%);
  }
}
.info .container .info-content ul {
  width: 910px;
  border-top: 1px solid var(--color-secondary-text);
  margin-bottom: 100px;
}
@media screen and (max-width: 1460px) {
  .info .container .info-content ul {
    margin-bottom: 100rem;
    width: 910rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .info-content ul {
    width: 100%;
    margin-bottom: 76rem;
  }
}
.info .container .info-content ul li {
  border-bottom: 1px solid var(--color-border);
  position: relative;
}
.info .container .info-content ul li a {
  display: block;
  width: 100%;
  padding: 58px 36px;
}
@media screen and (max-width: 1460px) {
  .info .container .info-content ul li a {
    padding: 58rem 36rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .info-content ul li a {
    padding: 52rem 34rem;
  }
}
.info .container .info-content ul li a span {
  position: relative;
  font-size: 16px;
  letter-spacing: 0.5em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .info .container .info-content ul li a span {
    font-size: 32rem;
    letter-spacing: 0.3em;
  }
}
.info .container .info-content ul li a span::after {
  content: "";
  width: 0;
  height: 1px;
  background: var(--color-main-text);
  position: absolute;
  bottom: 0;
  right: 0;
  transition: width 0.5s ease-in-out;
}
.info .container .info-content ul li a span.date {
  color: var(--color-secondary-text);
  margin-right: 80px;
}
@media screen and (max-width: 1460px) {
  .info .container .info-content ul li a span.date {
    margin-right: 80rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .info-content ul li a span.date {
    display: block;
    margin-right: 0;
    margin-bottom: 12rem;
    font-size: 24rem;
  }
}
.info .container .info-content ul li a span.date::after {
  display: none;
}
.info .container .info-content ul li a:hover span::after {
  width: 100%;
  left: 0;
}
.info .container .info-content ul li::after {
  content: "";
  position: absolute;
  background: url("../img/more_icon.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 41px;
  height: 7px;
  top: 50%;
  right: 36px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .info .container .info-content ul li::after {
    right: 36rem;
    width: 82rem;
    height: 14rem;
    top: auto;
    transform: unset;
    bottom: 40rem;
  }
}
.info .info-footer {
  width: 1000px;
  overflow: hidden;
}
@media screen and (max-width: 1460px) {
  .info .info-footer {
    width: 1000rem;
  }
}
@media screen and (max-width: 768px) {
  .info .info-footer {
    width: 95%;
  }
}
.info .info-footer img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}

.room-reservation {
  padding: 120px 0 130px;
  text-align: center;
  background: var(--color-secondary-background);
}
@media screen and (max-width: 1460px) {
  .room-reservation {
    padding: 120rem 0 130rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation {
    padding: 110rem 0 120rem;
  }
}
.room-reservation .title h3 {
  display: block;
  font-family: var(--font-english);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-secondary-text);
}
@media screen and (max-width: 1460px) {
  .room-reservation .title h3 {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation .title h3 {
    font-size: 20rem;
  }
}
.room-reservation .title h3::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  margin: 18px 0 22px;
  background: var(--color-accent);
  opacity: 0.6;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1460px) {
  .room-reservation .title h3::after {
    width: 32rem;
    margin-top: 18rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation .title h3::after {
    width: 48rem;
    margin-top: 24rem;
    margin-bottom: 28rem;
  }
}
.room-reservation .title p {
  margin-bottom: 44px;
  font-family: var(--font-mincho);
  font-size: 30px;
  letter-spacing: 0.16em;
  color: var(--color-main-text);
}
@media screen and (max-width: 1460px) {
  .room-reservation .title p {
    font-size: 30rem;
    margin-bottom: 44rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation .title p {
    font-size: 40rem;
    margin-bottom: 56rem;
  }
}
.room-reservation a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
}
@media screen and (max-width: 1460px) {
  .room-reservation a {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation a {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.room-reservation a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .room-reservation a::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .room-reservation a::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.room-reservation a:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.room-reservation a:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .room-reservation a:hover::after {
    right: 26rem;
  }
}

.wow.fadeInup {
  visibility: visible;
  animation-duration: 1s;
  animation-delay: 0.3s;
  animation-name: fadeInUp;
}

.lower-link {
  padding: 15px 0;
  padding-left: 100px;
}
@media screen and (max-width: 1460px) {
  .lower-link {
    padding-left: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-link {
    padding-left: 50rem;
  }
}
.lower-link ul {
  display: flex;
  align-items: center;
  justify-content: left;
}
.lower-link ul li {
  margin-right: 20px;
  font-size: 14px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .lower-link ul li {
    font-size: 28rem;
  }
}
.lower-link ul li a {
  color: var(--color-accent);
}
.lower-link ul li a:hover {
  text-decoration: underline;
}

font {
  letter-spacing: 0.1em;
}

#notes_table td textarea {
  width: 100%;
}

@media screen and (max-width: 1460px) {
  #wc_confirm {
    font-size: 24rem;
  }
}
#wc_confirm #back_button {
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  #wc_confirm #back_button {
    font-size: 25rem;
  }
}

@media screen and (max-width: 1460px) {
  #wc_ordercompletion {
    font-size: 26rem;
  }
}
#wc_ordercompletion .back_to_top_button {
  font-size: 16px !important;
  width: 224px !important;
  height: 56px !important;
  background-color: var(--color-accent) !important;
  color: #fff !important;
  transition: background-color 0.3s, color 0.3s;
  margin: 35px 0 40px !important;
  border-radius: 0 !important;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #wc_ordercompletion .back_to_top_button {
    margin: 70rem 0 80rem !important;
    font-size: 32rem !important;
    width: 400rem !important;
    height: 100rem !important;
  }
}
#wc_ordercompletion .back_to_top_button:hover {
  background-color: var(--color-secondary-background) !important;
  color: var(--color-accent) !important;
}

@media screen and (max-width: 1460px) {
  #wc_cart {
    font-size: 24rem;
  }
}

.insta__elem .Header {
  display: none !important;
}

/* 404 page */
.error-page {
  background: var(--color-primary-background);
  color: var(--color-main-text);
}

body.error404 .header.lower-header {
  background: rgba(0, 0, 0, 0.22);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
body.error404 .header.lower-header .container .header-link li a, body.error404 .header.lower-header .container .header-link li.multi-lang button {
  color: #fff;
}
body.error404 .header.lower-header .container .header-link li a::after, body.error404 .header.lower-header .container .header-link li.multi-lang button::after {
  background: #fff;
}
body.error404 .header.lower-header .container .header-link li.multi-lang .current-lang, body.error404 .header.lower-header .container .header-link li.booking a {
  border-color: #fff;
}
body.error404 .header.lower-header .container .header-link li.booking a {
  color: var(--color-accent);
}
body.error404 .header.lower-header .container .header-link li.more-btn button svg line {
  stroke: #fff;
}

.error-hero {
  min-height: 640px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .error-hero {
    min-height: 560px;
  }
}
.error-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.error-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(43, 30, 20, 0.45);
}
.error-hero__content {
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
  padding: 140px 24px 60px;
}
@media screen and (max-width: 768px) {
  .error-hero__content {
    padding-top: 120px;
  }
}
.error-hero h1 {
  margin: 24px 0 0;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .error-hero h1 {
    margin-top: 18px;
    font-size: 28px;
  }
}

.error-code {
  font-family: "Noto Serif JP", serif;
  font-size: 150px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .error-code {
    font-size: 104px;
  }
}

.error-content {
  padding: 100px 24px 130px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .error-content {
    padding: 72px 24px 96px;
  }
}
.error-content .container {
  max-width: 760px;
}
.error-content p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .error-content p {
    font-size: 14px;
  }
}
.error-content__lead {
  margin-bottom: 10px;
  font-size: 22px !important;
}
@media screen and (max-width: 768px) {
  .error-content__lead {
    font-size: 19px !important;
  }
}

.error-home-link {
  width: 260px;
  min-height: 60px;
  margin: 48px auto 0;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--color-booking-cta);
  color: var(--color-booking-cta);
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .error-home-link {
    width: min(100%, 280px);
    margin-top: 38px;
  }
}
.error-home-link:hover {
  background: var(--color-booking-cta);
  color: #fff;
}
.error-home-link .en {
  font-size: 17px;
  letter-spacing: 0.08em;
}

/* ==========================================================================
   shop / product / cart / member-login / member-register
   Numbers below are design px at a 1920 viewport. `--u` reproduces the site's
   rem down-scaling under 1460px / 768px without duplicating every value.
   ========================================================================== */
.shop-container {
  --u: 1px;
  --shop-blue: #2A5D7E;
  padding: calc(138 * var(--u)) 0 calc(120 * var(--u));
}
@media screen and (max-width: 1460px) {
  .shop-container {
    --u: 0.0684931507vw;
  }
}
@media screen and (max-width: 768px) {
  .shop-container {
    --u: 0.1302083333vw;
    padding: calc(150 * var(--u)) 0 calc(150 * var(--u));
  }
}
.shop-container .container {
  display: flex;
  align-items: flex-start;
  gap: calc(58 * var(--u));
  max-width: calc(1295 * var(--u));
}
@media screen and (max-width: 768px) {
  .shop-container .container {
    flex-direction: column;
    max-width: 90%;
    gap: calc(90 * var(--u));
  }
}

.shop .lower-footer {
  background: #A8C4D6;
}

.lower-page.shop {
  background-color: #fff;
}

/* ---------- sidebar ---------- */
.shop-sidebar {
  width: calc(298 * var(--u));
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .shop-sidebar {
    width: 100%;
  }
}
.shop-sidebar__elem {
  margin-bottom: calc(30 * var(--u));
}
@media screen and (max-width: 768px) {
  .shop-sidebar__elem {
    margin-bottom: calc(45 * var(--u));
  }
}
.shop-sidebar__elem ul {
  margin-top: calc(28 * var(--u));
}
@media screen and (max-width: 768px) {
  .shop-sidebar__elem ul {
    margin-top: calc(40 * var(--u));
  }
}
.shop-sidebar__elem ul li a {
  color: var(--color-main-text);
  font-size: calc(15 * var(--u));
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .shop-sidebar__elem ul li a {
    font-size: calc(26 * var(--u));
  }
}
.shop-sidebar__elem ul li.current a {
  color: var(--shop-blue);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.shop-sidebar-head,
.shop-sidebar-link a {
  display: block;
  background: var(--shop-blue);
  color: #fff;
  font-size: calc(16 * var(--u));
  letter-spacing: 0.1em;
  line-height: calc(56 * var(--u));
  padding: 0 calc(20 * var(--u));
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .shop-sidebar-head,
  .shop-sidebar-link a {
    font-size: calc(28 * var(--u));
    line-height: calc(90 * var(--u));
    padding: 0 calc(30 * var(--u));
  }
}

.shop-sidebar-link li + li {
  margin-top: calc(18 * var(--u));
}
@media screen and (max-width: 768px) {
  .shop-sidebar-link li + li {
    margin-top: calc(28 * var(--u));
  }
}
.shop-sidebar-link li.current a {
  background: #1D4560;
}

/* ---------- shop main / shared bits ---------- */
.shop-main {
  flex: 1;
  min-width: 0;
}

.shop-title {
  font-family: var(--font-mincho);
  font-size: calc(32 * var(--u));
  font-weight: 400;
  letter-spacing: 0.4em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .shop-title {
    font-size: calc(46 * var(--u));
  }
}

.product-cat {
  display: inline-block;
  background: var(--shop-blue);
  color: #fff;
  font-size: calc(12 * var(--u));
  letter-spacing: 0.1em;
  line-height: calc(27 * var(--u));
  padding: 0 calc(18 * var(--u));
  border-radius: calc(27 * var(--u));
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .product-cat {
    font-size: calc(20 * var(--u));
    line-height: calc(44 * var(--u));
    border-radius: calc(44 * var(--u));
    padding: 0 calc(28 * var(--u));
  }
}

.cart-button input,
.cart-back a,
.login-submit button,
.register-submit button {
  display: inline-block;
  border: none;
  border-radius: 0;
  background: var(--shop-blue);
  color: #fff;
  font-size: calc(16 * var(--u));
  letter-spacing: 0.15em;
  text-align: center;
  height: calc(53 * var(--u));
  line-height: calc(53 * var(--u));
  padding: 0 calc(30 * var(--u));
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 768px) {
  .cart-button input,
  .cart-back a,
  .login-submit button,
  .register-submit button {
    font-size: calc(26 * var(--u));
    height: calc(84 * var(--u));
    line-height: calc(84 * var(--u));
  }
}

/* ---------- product list ---------- */
.product-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: calc(59 * var(--u));
       column-gap: calc(59 * var(--u));
  row-gap: calc(55 * var(--u));
}
@media screen and (max-width: 768px) {
  .product-list {
    grid-template-columns: 1fr;
    row-gap: calc(70 * var(--u));
  }
}
.product-list .product-price {
  font-size: calc(17 * var(--u));
  color: var(--color-main-text);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .product-list .product-price {
    font-size: calc(26 * var(--u));
  }
}

.product__elem > a {
  display: block;
}

.product-img {
  aspect-ratio: 1.38;
  overflow: hidden;
  background: var(--color-image-tone);
}
.product-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.product-name {
  font-family: var(--font-mincho);
  font-size: calc(20 * var(--u));
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-main-text);
  margin-top: calc(20 * var(--u));
}
@media screen and (max-width: 768px) {
  .product-name {
    font-size: calc(32 * var(--u));
    margin-top: calc(28 * var(--u));
  }
}

.product-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: calc(20 * var(--u));
  margin-top: calc(17 * var(--u));
}

/* ---------- product detail ---------- */
.product-detail-img {
  display: flex;
  justify-content: center;
  gap: 5.9%;
}
@media screen and (max-width: 768px) {
  .product-detail-img {
    flex-direction: column-reverse;
    gap: calc(20 * var(--u));
  }
}
.product-detail-img .thumb-img {
  width: 13.9%;
}
@media screen and (max-width: 768px) {
  .product-detail-img .thumb-img {
    width: 100%;
  }
}
.product-detail-img .thumb-img__elem {
  padding-bottom: calc(27 * var(--u));
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .product-detail-img .thumb-img__elem {
    padding: 0 calc(10 * var(--u));
  }
}
.product-detail-img .thumb-img__elem img {
  display: block;
  width: 100%;
  aspect-ratio: 1.3;
  -o-object-fit: cover;
     object-fit: cover;
  background: var(--color-image-tone);
}
.product-detail-img .main-img {
  width: 80.1%;
}
@media screen and (max-width: 768px) {
  .product-detail-img .main-img {
    width: 100%;
  }
}
.product-detail-img .main-img__elem img {
  display: block;
  width: 100%;
}

.product-detail-info {
  margin-top: calc(120 * var(--u));
}
@media screen and (max-width: 768px) {
  .product-detail-info {
    margin-top: calc(90 * var(--u));
  }
}
.product-detail-info .product-price {
  margin-top: calc(22 * var(--u));
  font-size: calc(22 * var(--u));
  color: var(--color-main-text);
  text-align: right;
}
@media screen and (max-width: 768px) {
  .product-detail-info .product-price {
    font-size: calc(32 * var(--u));
  }
}

.product-detail-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(30 * var(--u));
  padding-bottom: calc(22 * var(--u));
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .product-detail-title {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(20 * var(--u));
  }
}
.product-detail-title h3 {
  font-family: var(--font-mincho);
  font-size: calc(32 * var(--u));
  font-weight: 400;
  letter-spacing: 0.16em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .product-detail-title h3 {
    font-size: calc(46 * var(--u));
  }
}

.product-detail-txt {
  margin-top: calc(55 * var(--u));
  font-size: calc(16 * var(--u));
  line-height: 2.5;
  letter-spacing: 0.05em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .product-detail-txt {
    font-size: calc(26 * var(--u));
    line-height: 2.2;
  }
}
.product-detail-txt .note {
  margin-top: calc(40 * var(--u));
}

.cart-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: calc(5 * var(--u));
  margin-top: calc(55 * var(--u));
}
@media screen and (max-width: 768px) {
  .cart-form {
    justify-content: center;
    gap: calc(12 * var(--u));
  }
}
.cart-form .quantity {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--u));
}
.cart-form .quantity label {
  font-size: calc(15 * var(--u));
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .cart-form .quantity label {
    font-size: calc(26 * var(--u));
  }
}
.cart-form select {
  width: calc(83 * var(--u));
  height: calc(53 * var(--u));
  border-radius: 0;
  background: #fff;
  font-size: calc(15 * var(--u));
}
@media screen and (max-width: 768px) {
  .cart-form select {
    width: calc(120 * var(--u));
    height: calc(84 * var(--u));
    font-size: calc(26 * var(--u));
  }
}
.cart-form .cart-button input {
  width: calc(230 * var(--u));
  padding: 0;
}
@media screen and (max-width: 768px) {
  .cart-form .cart-button input {
    width: calc(320 * var(--u));
  }
}

/* ---------- cart ---------- */
.cart .shop-title {
  display: block;
  margin-bottom: calc(105 * var(--u));
}
@media screen and (max-width: 768px) {
  .cart .shop-title {
    margin-bottom: calc(80 * var(--u));
  }
}

.cart-step {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  background: var(--color-surface);
}
@media screen and (max-width: 768px) {
  .cart-step {
    grid-template-columns: repeat(2, 1fr);
  }
}
.cart-step li {
  font-size: calc(15 * var(--u));
  letter-spacing: 0.05em;
  line-height: calc(48 * var(--u));
  text-align: center;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .cart-step li {
    font-size: calc(24 * var(--u));
    line-height: calc(76 * var(--u));
  }
}
.cart-step li.current {
  background: var(--shop-blue);
  color: #fff;
}

.cart-empty {
  margin-top: calc(50 * var(--u));
  font-size: calc(15 * var(--u));
  letter-spacing: 0.05em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .cart-empty {
    font-size: calc(26 * var(--u));
  }
}

.cart-back {
  margin-top: calc(28 * var(--u));
  text-align: center;
}
.cart-back a {
  width: calc(288 * var(--u));
  padding: 0;
}
@media screen and (max-width: 768px) {
  .cart-back a {
    width: calc(400 * var(--u));
  }
}

/* ---------- member login ---------- */
.member-login .shop-title {
  display: block;
  text-align: center;
  margin-bottom: calc(26 * var(--u));
}
@media screen and (max-width: 768px) {
  .member-login .shop-title {
    margin-bottom: calc(60 * var(--u));
  }
}

.login-form {
  width: 58.6%;
  margin: 0 auto;
  padding: calc(50 * var(--u)) 0 calc(44 * var(--u));
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .login-form {
    width: 100%;
    padding: calc(70 * var(--u)) calc(40 * var(--u));
  }
}
.login-form__elem + .login-form__elem {
  margin-top: calc(34 * var(--u));
}
.login-form__elem label {
  display: block;
  font-size: calc(16 * var(--u));
  letter-spacing: 0.2em;
  color: var(--color-main-text);
  margin-bottom: calc(18 * var(--u));
}
@media screen and (max-width: 768px) {
  .login-form__elem label {
    font-size: calc(26 * var(--u));
  }
}
.login-form input[type=email],
.login-form input[type=password] {
  width: 62%;
  height: calc(30 * var(--u));
  border: none;
  border-radius: 0;
  background: #fff;
  font-size: calc(15 * var(--u));
}
@media screen and (max-width: 768px) {
  .login-form input[type=email],
  .login-form input[type=password] {
    width: 100%;
    height: calc(70 * var(--u));
    font-size: calc(26 * var(--u));
  }
}

.login-remember {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 * var(--u));
  margin-top: calc(34 * var(--u));
}
.login-remember input {
  width: calc(15 * var(--u));
  height: calc(15 * var(--u));
  padding: 0;
  border-radius: 0;
  accent-color: var(--shop-blue);
}
@media screen and (max-width: 768px) {
  .login-remember input {
    width: calc(26 * var(--u));
    height: calc(26 * var(--u));
  }
}
.login-remember label {
  font-size: calc(16 * var(--u));
  letter-spacing: 0.2em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .login-remember label {
    font-size: calc(26 * var(--u));
  }
}

.login-submit {
  margin-top: calc(41 * var(--u));
}
.login-submit button {
  width: calc(221 * var(--u));
  padding: 0;
}
@media screen and (max-width: 768px) {
  .login-submit button {
    width: calc(320 * var(--u));
  }
}

.login-link {
  margin-top: calc(37 * var(--u));
}
.login-link a {
  display: block;
  font-size: calc(15 * var(--u));
  letter-spacing: 0.05em;
  color: #C9B57E;
}
@media screen and (max-width: 768px) {
  .login-link a {
    font-size: calc(24 * var(--u));
  }
}
.login-link a + a {
  margin-top: calc(26 * var(--u));
}

/* ---------- member register ---------- */
.member-register .shop-title {
  display: block;
  margin-bottom: calc(85 * var(--u));
}
@media screen and (max-width: 768px) {
  .member-register .shop-title {
    margin-bottom: calc(60 * var(--u));
  }
}

.register-notes li {
  position: relative;
  padding-left: 1.3em;
  font-size: calc(16 * var(--u));
  line-height: 2.2;
  letter-spacing: 0.05em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .register-notes li {
    font-size: calc(26 * var(--u));
  }
}
.register-notes li::before {
  content: "●";
  position: absolute;
  left: 0;
}
.register-notes li a {
  color: var(--color-main-text);
  text-decoration: underline;
}
.register-notes .req {
  color: #FF3131;
}

.register-form {
  width: 77.5%;
  margin-top: calc(80 * var(--u));
}
@media screen and (max-width: 768px) {
  .register-form {
    width: 100%;
    margin-top: calc(60 * var(--u));
  }
}

.register-table {
  width: 100%;
  border-collapse: collapse;
}
.register-table .req {
  color: #FF3131;
}
.register-table th,
.register-table td {
  border: 1px solid var(--color-border);
  padding: calc(12 * var(--u)) calc(16 * var(--u));
  font-size: calc(15 * var(--u));
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--color-main-text);
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .register-table th,
  .register-table td {
    padding: calc(18 * var(--u)) calc(20 * var(--u));
    font-size: calc(24 * var(--u));
  }
}
.register-table th {
  width: 23%;
  background: var(--color-primary-background);
}
@media screen and (max-width: 768px) {
  .register-table th {
    width: 34%;
  }
}
.register-table input,
.register-table select {
  height: calc(33 * var(--u));
  border: none;
  border-radius: 0;
  background: var(--color-surface);
  font-size: calc(15 * var(--u));
}
@media screen and (max-width: 768px) {
  .register-table input,
  .register-table select {
    height: calc(62 * var(--u));
    font-size: calc(24 * var(--u));
  }
}
.register-table td > input {
  width: 72%;
}
.register-table select {
  width: 38%;
  background: var(--color-surface);
}
.register-table td.split {
  padding: 0 calc(16 * var(--u));
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .register-table td.split {
    white-space: normal;
  }
}
.register-table td.split .sub-label {
  display: inline-block;
  line-height: calc(57 * var(--u));
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .register-table td.split .sub-label {
    line-height: calc(62 * var(--u));
  }
}
.register-table td.split .sub-label:nth-of-type(2) {
  margin-left: 4%;
  padding-left: calc(22 * var(--u));
  border-left: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .register-table td.split .sub-label:nth-of-type(2) {
    margin-left: 0;
    padding-left: 0;
    border-left: none;
  }
}
.register-table td.split input {
  width: 36%;
  margin-left: calc(10 * var(--u));
}
@media screen and (max-width: 768px) {
  .register-table td.split input {
    width: 60%;
  }
}
.register-table .example {
  display: inline-block;
  margin-left: calc(14 * var(--u));
  font-size: calc(15 * var(--u));
}
@media screen and (max-width: 768px) {
  .register-table .example {
    display: block;
    margin-left: 0;
    margin-top: calc(8 * var(--u));
    font-size: calc(22 * var(--u));
  }
}
.register-table .note {
  display: block;
  margin-top: calc(8 * var(--u));
  font-size: calc(15 * var(--u));
}
@media screen and (max-width: 768px) {
  .register-table .note {
    font-size: calc(22 * var(--u));
  }
}

.register-submit {
  margin-top: calc(50 * var(--u));
  text-align: center;
}
.register-submit button {
  width: calc(220 * var(--u));
  padding: 0;
}
@media screen and (max-width: 768px) {
  .register-submit button {
    width: calc(320 * var(--u));
  }
}

.js-io._fadeup {
  transform: translate(0, 36rem);
  transition: transform 1.2s cubic-bezier(0.32, 0.1, 0, 1), opacity 1.2s cubic-bezier(0.32, 0.1, 0, 1), background 1.2s cubic-bezier(0.32, 0.1, 0, 1);
  visibility: hidden;
  opacity: 0;
}
.js-io._fadein {
  transform: translateY(0);
  transition: all 1s ease-in-out;
  visibility: hidden;
  opacity: 0;
}
.js-io._show {
  transform: translateY(0);
  visibility: visible;
  opacity: 1;
}
.js-io._delay {
  opacity: 0;
  transition: all 1.5s;
  transform: translateY(0);
}
.js-io._delay._show {
  opacity: 1;
  transform: translateY(0);
}
.js-io._delay._show:nth-of-type(1) {
  transition-delay: 0s;
}
.js-io._delay._show:nth-of-type(2) {
  transition-delay: 0.1s;
}
.js-io._delay._show:nth-of-type(3) {
  transition-delay: 0.2s;
}
.js-io._delay._show:nth-of-type(4) {
  transition-delay: 0.3s;
}
.js-io._delay._show:nth-of-type(5) {
  transition-delay: 0.4s;
}
.js-io._delay._show:nth-of-type(6) {
  transition-delay: 0.5s;
}

main.top .fv {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
main.top .fv-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #182b2f;
}
main.top .fv-slides, main.top .fv-slides .slick-list, main.top .fv-slides .slick-track, main.top .fv-slides .slick-slide, main.top .fv-slides .slick-slide > div, main.top .fv-slide {
  height: 100%;
}
main.top .fv-slides:not(.slick-initialized) .fv-slide:not(:first-child) {
  display: none;
}
main.top .fv-slide {
  position: relative;
}
main.top .fv-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.16);
}
main.top .fv-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
main.top .fv .container {
  height: 100vh;
  height: 100svh;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.top .fv .container .fv-logo img {
  width: 300px;
  filter: drop-shadow(0px 4px 3px black);
}
@media screen and (max-width: 1460px) {
  main.top .fv .container .fv-logo img {
    width: 300rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .fv .container .fv-logo img {
    width: 330rem;
    transform: translateY(-60rem);
  }
}
main.top .fv .container .fv-txt {
  position: absolute;
  left: 0;
  bottom: 120px;
}
@media screen and (max-width: 1460px) {
  main.top .fv .container .fv-txt {
    bottom: 120rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .fv .container .fv-txt {
    right: 0;
    bottom: 150rem;
  }
}
main.top .fv .container .fv-txt p {
  font-size: 35px;
  color: #fff;
  text-shadow: 0 3px 5px black;
  letter-spacing: 0.3em;
  line-height: 1.8;
}
@media screen and (max-width: 1460px) {
  main.top .fv .container .fv-txt p {
    font-size: 35rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .fv .container .fv-txt p {
    font-size: 44rem;
    letter-spacing: 0.15em;
    line-height: 1.7;
  }
}
main.top .fv .container .fv-txt p span {
  display: block;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  main.top .fv .container .fv-txt p span {
    margin-top: 16rem;
    font-size: 20rem;
    letter-spacing: 0.25em;
  }
}
main.top .concept {
  padding-top: 100px;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1460px) {
  main.top .concept {
    padding-top: 100rem;
  }
}
main.top .concept .container {
  display: flex;
  align-items: start;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  main.top .concept .container {
    display: block;
  }
}
main.top .concept .container .concept-txt .title h2 {
  font-size: 50px;
  margin-bottom: 77px;
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-txt .title h2 {
    margin-bottom: 77rem;
    font-size: 50rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-txt .title h2 {
    margin-bottom: 32rem;
  }
}
main.top .concept .container .concept-txt .title p {
  font-size: 38px;
  margin-bottom: 77px;
  letter-spacing: 0.5em;
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-txt .title p {
    font-size: 38rem;
    margin-bottom: 77rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-txt .title p {
    font-size: 40rem;
    margin-bottom: 52rem;
  }
}
main.top .concept .container .concept-txt .title p span {
  display: inline-block;
  width: 60px;
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-txt .title p span {
    white-space: 6rem;
  }
}
main.top .concept .container .concept-txt .content {
  text-align: right;
}
main.top .concept .container .concept-txt .content p {
  font-size: 16px;
  letter-spacing: 0.3em;
  line-height: 2.5;
  margin-bottom: 42px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-txt .content p {
    margin-bottom: 42rem;
    font-size: 32rem;
  }
}
main.top .concept .container .concept-txt .content p:first-child {
  margin-bottom: 47px;
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-txt .content p:first-child {
    margin-bottom: 100rem;
  }
}
main.top .concept .container .concept-txt .content .sp-img {
  display: none;
  margin: 100rem 0 164rem;
  position: relative;
  width: 586rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-txt .content .sp-img {
    display: block;
  }
}
main.top .concept .container .concept-txt .content .sp-img img,
main.top .concept .container .concept-txt .content .sp-img .decoration-bg {
  width: 586rem;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .concept .container .concept-txt .content .sp-img img {
  position: relative;
  z-index: 5;
}
main.top .concept .container .concept-txt .content .sp-img .decoration-bg {
  background: var(--color-secondary-background);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transform: translate(-64rem, 64rem);
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-img {
    display: none;
  }
}
main.top .concept .container .concept-img img,
main.top .concept .container .concept-img .decoration-bg {
  width: 680px;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-img img,
  main.top .concept .container .concept-img .decoration-bg {
    width: 680rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-img img,
  main.top .concept .container .concept-img .decoration-bg {
    width: 586rem;
  }
}
main.top .concept .container .concept-img .img {
  position: relative;
  transform: translate(117px, 46px);
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-img .img {
    transform: translate(117rem, 46rem);
  }
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-img .img {
    transform: translate(0);
  }
}
main.top .concept .container .concept-img .img img {
  position: relative;
  z-index: 5;
}
main.top .concept .container .concept-img .img .decoration-bg {
  background: var(--color-secondary-background);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  transform: translate(-78px, 78px);
}
@media screen and (max-width: 1460px) {
  main.top .concept .container .concept-img .img .decoration-bg {
    transform: translate(-78rem, 78rem);
  }
}
@media screen and (max-width: 768px) {
  main.top .concept .container .concept-img .img .decoration-bg {
    transform: translate(-64rem, 64rem);
  }
}
main.top .room {
  margin-top: 200px;
}
@media screen and (max-width: 1460px) {
  main.top .room {
    margin-top: 200rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room {
    margin-top: 160rem;
  }
}
main.top .room-top-imgs {
  position: relative;
}
main.top .room-top-imgs .left-img {
  position: absolute;
  top: 0;
  z-index: 10;
  left: 112px;
  width: 420px;
}
@media screen and (max-width: 1460px) {
  main.top .room-top-imgs .left-img {
    width: 420rem;
    left: 112rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-top-imgs .left-img {
    left: 78rem;
    width: 380rem;
  }
}
main.top .room-top-imgs .left-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .room-top-imgs .left-img-bg {
  position: absolute;
  background: var(--color-image-tone);
  width: 370px;
  height: 360px;
  top: -70px;
  left: 315px;
  z-index: 1;
}
@media screen and (max-width: 1460px) {
  main.top .room-top-imgs .left-img-bg {
    top: -70rem;
    left: 315rem;
    width: 370rem;
    height: 360rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-top-imgs .left-img-bg {
    width: 342rem;
    height: 332rem;
    top: -56rem;
    left: 258rem;
    z-index: 5;
  }
}
main.top .room-top-imgs .right-img {
  position: absolute;
  z-index: 5;
  width: 720px;
  max-width: calc(100% - 71px);
  top: 369px;
  right: 71px;
}
@media screen and (max-width: 1460px) {
  main.top .room-top-imgs .right-img {
    top: 369rem;
    right: 71rem;
    width: 720rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-top-imgs .right-img {
    top: 560rem;
    right: 0;
    width: 480rem;
  }
}
main.top .room-top-imgs .right-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .room-top-imgs .imgs-bg {
  position: absolute;
  top: 239px;
  right: 0;
  background: var(--color-secondary-background);
  width: 95%;
  height: 1305px;
  z-index: 2;
}
@media screen and (max-width: 1460px) {
  main.top .room-top-imgs .imgs-bg {
    top: 239rem;
    height: 1305rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-top-imgs .imgs-bg {
    top: 84rem;
    height: 1106rem;
  }
}
main.top .room-top-imgs .decoration-birds {
  position: absolute;
  top: 110px;
  left: 80%;
  top: 0;
}
main.top .room-top-imgs .decoration-birds img {
  width: 78px;
}
@media screen and (max-width: 768px) {
  main.top .room-top-imgs .decoration-birds img {
    width: 100rem;
  }
}
main.top .room-main {
  display: flex;
  align-items: end;
  justify-content: left;
  padding-top: 1147px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1460px) {
  main.top .room-main {
    padding-top: 1147rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-main {
    padding-top: 974rem;
    display: block;
  }
}
main.top .room-main .room-img {
  flex: 0 0 auto;
  width: 560px;
  margin-left: 112px;
}
@media screen and (max-width: 1460px) {
  main.top .room-main .room-img {
    width: 560rem;
    margin-left: 112rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-img {
    display: none;
  }
}
main.top .room-main .room-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .room-main .room-txt {
  padding-left: 68px;
  max-width: 418px;
}
@media screen and (max-width: 1460px) {
  main.top .room-main .room-txt {
    padding-left: 68rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-txt {
    max-width: 100%;
    padding-left: 0;
  }
}
main.top .room-main .room-txt h2 {
  color: var(--color-main-text);
  font-size: 50px;
  margin-bottom: 92px;
}
@media screen and (max-width: 1460px) {
  main.top .room-main .room-txt h2 {
    font-size: 50rem;
    margin-bottom: 92rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-txt h2 {
    font-size: 48rem;
    margin-bottom: 40rem;
    text-align: center;
  }
}
main.top .room-main .room-txt .sp-room-img {
  display: none;
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-txt .sp-room-img {
    display: block;
    width: 80%;
    margin: 0 auto 100rem;
  }
}
main.top .room-main .room-txt .sp-room-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .room-main .room-txt p {
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-txt p {
    font-size: 32rem;
    line-height: 2;
    margin: auto;
    margin-bottom: 40rem;
    max-width: 90%;
  }
}
main.top .room-main .room-txt .show-all {
  margin-bottom: 90px;
  margin-right: 64rem;
}
@media screen and (max-width: 1460px) {
  main.top .room-main .room-txt .show-all {
    margin-bottom: 90rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .room-main .room-txt .show-all {
    margin-bottom: 0;
  }
}
main.top .activity {
  padding-top: 140px;
  padding-bottom: 180px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 1460px) {
  main.top .activity {
    padding-top: 140rem;
    padding-bottom: 180rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity {
    padding-top: 100rem;
    padding-bottom: 60rem;
  }
}
main.top .activity .container .activity-txt {
  position: relative;
  z-index: 5;
  max-width: 460px;
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-txt {
    max-width: 100%;
  }
}
main.top .activity .container .activity-txt .title {
  padding-top: 150px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-txt .title {
    padding-top: 150rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-txt .title {
    padding-top: 0;
  }
}
main.top .activity .container .activity-txt .title h2 {
  font-size: 50px;
  margin-bottom: 100px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-txt .title h2 {
    margin-bottom: 100rem;
    font-size: 50rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-txt .title h2 {
    margin-bottom: 540rem;
  }
}
main.top .activity .container .activity-txt p {
  position: relative;
  z-index: 5;
  font-size: 16px;
  letter-spacing: 0.3em;
  line-height: 2.2;
  margin-bottom: 40px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-txt p {
    margin-bottom: 40rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-txt p {
    font-size: 32rem;
  }
}
main.top .activity .container .activity-txt .show-all {
  margin-left: 325px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-txt .show-all {
    margin-left: 325rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-txt .show-all {
    margin-left: auto;
  }
}
main.top .activity .container .activity-img {
  position: absolute;
  right: 0;
  top: 140px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-img {
    top: 140rem;
    gap: 28rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img {
    top: 220rem;
    gap: 16rem;
    margin-bottom: 100rem;
  }
}
main.top .activity .container .activity-img .activity-img__elem {
  width: 373px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-img .activity-img__elem {
    width: 373rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img .activity-img__elem {
    width: 232rem;
  }
}
main.top .activity .container .activity-img .activity-img__elem img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .activity .container .activity-img .activity-img__elem:nth-last-child(1) {
  margin-top: 47px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-img .activity-img__elem:nth-last-child(1) {
    margin-top: 47rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img .activity-img__elem:nth-last-child(1) {
    margin-top: 30rem;
  }
}
main.top .activity .container .activity-img .activity-img__elem:nth-last-child(2) {
  margin-top: 129px;
}
@media screen and (max-width: 1460px) {
  main.top .activity .container .activity-img .activity-img__elem:nth-last-child(2) {
    margin-top: 129rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img .activity-img__elem:nth-last-child(2) {
    margin-top: 80rem;
  }
}
main.top .activity .container .activity-img.pc {
  width: min(1175px, 50% + 200px, 97.9% - 500px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img.pc {
    display: none;
  }
}
main.top .activity .container .activity-img.pc .activity-img__elem {
  width: auto;
}
main.top .activity .container .activity-img.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  main.top .activity .container .activity-img.sp {
    display: grid;
  }
}
main.top .insta {
  margin-top: 180px;
  padding-top: 330px;
  padding-bottom: 173px;
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1460px) {
  main.top .insta {
    margin-top: 180rem;
    padding-top: 330rem;
    padding-bottom: 173rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta {
    padding-top: 96rem;
    margin-top: 86rem;
  }
}
main.top .insta .title {
  position: relative;
  z-index: 5;
}
main.top .insta .title h2 {
  color: #fff;
  font-size: 50px;
  margin-bottom: 77px;
  text-align: center;
}
@media screen and (max-width: 1460px) {
  main.top .insta .title h2 {
    margin-bottom: 77rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta .title h2 {
    font-size: 50rem;
    margin-bottom: 50rem;
  }
}
main.top .insta-content {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}
main.top .insta-content .insta__elem {
  display: block;
  flex: 0 0 240px;
  overflow: hidden;
  width: 240px;
  height: 240px;
  margin: 0;
  background: var(--color-image-tone);
}
@media screen and (max-width: 1460px) {
  main.top .insta-content .insta__elem {
    flex-basis: 240rem;
    width: 240rem;
    height: 240rem;
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta-content .insta__elem {
    flex-basis: 190rem;
    margin: 0 8rem;
    width: 190rem;
    height: 190rem;
  }
}
main.top .insta-content .insta__elem img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main.top .insta-content .insta__elem a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
main.top .insta-content .insta__elem a[href] {
  cursor: pointer;
}
main.top .insta-content .insta__elem .insta-link-indicator {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: block;
  width: 24px;
  height: 24px;
  color: #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.7));
}
@media screen and (max-width: 768px) {
  main.top .insta-content .insta__elem .insta-link-indicator {
    top: 9rem;
    right: 9rem;
    width: 22rem;
    height: 22rem;
  }
}
main.top .insta-content .insta__elem .insta-link-indicator svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}
main.top .insta-content .insta__elem.bottom, main.top .insta-content .insta__elem:nth-child(even) {
  transform: translateY(73px);
}
@media screen and (max-width: 768px) {
  main.top .insta-content .insta__elem.bottom, main.top .insta-content .insta__elem:nth-child(even) {
    transform: translateY(66rem);
  }
}
main.top .insta .insta-bg {
  width: 1415px;
  height: 1160px;
  background: var(--color-secondary-background);
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1460px) {
  main.top .insta .insta-bg {
    width: 1415rem;
    height: 1160rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta .insta-bg {
    width: 728rem;
    height: 800rem;
  }
}
main.top .insta .decoration-birds {
  position: absolute;
  z-index: 5;
  top: 307px;
  left: 300px;
}
@media screen and (max-width: 1460px) {
  main.top .insta .decoration-birds {
    top: 307rem;
    left: 300rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta .decoration-birds {
    top: 42rem;
    left: 96rem;
  }
}
main.top .insta .decoration-birds img {
  width: 99px;
  transform: scaleX(-1);
}
@media screen and (max-width: 1460px) {
  main.top .insta .decoration-birds img {
    width: 99rem;
  }
}
@media screen and (max-width: 768px) {
  main.top .insta .decoration-birds img {
    width: 134rem;
  }
}

.sec-gallery {
  position: relative;
  z-index: 6;
  height: 775px;
  margin-top: 240px;
  overflow: hidden;
  background: var(--color-primary-background);
}
@media screen and (max-width: 1460px) {
  .sec-gallery {
    height: 775rem;
    margin-top: 240rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-gallery {
    height: 475rem;
    margin-top: 86rem;
    background: var(--color-primary-background);
  }
}
.sec-gallery__group {
  position: relative;
  width: 5500px;
  height: 100%;
  animation: nikka-gallery-road 50s linear infinite;
  will-change: transform;
}
@media screen and (max-width: 1460px) {
  .sec-gallery__group {
    width: 5500rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-gallery__group {
    width: 2050rem;
  }
}
.sec-gallery__inner {
  position: absolute;
  top: 38px;
  left: -100px;
  width: 1920px;
  aspect-ratio: 1920/700;
}
@media screen and (max-width: 1460px) {
  .sec-gallery__inner {
    top: 38rem;
    left: -100rem;
    width: 1920rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-gallery__inner {
    top: 34rem;
    left: -50rem;
    width: 750rem;
    aspect-ratio: 750/430;
  }
}
.sec-gallery__inner:nth-of-type(2) {
  left: 2155px;
}
@media screen and (max-width: 1460px) {
  .sec-gallery__inner:nth-of-type(2) {
    left: 2155rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-gallery__inner:nth-of-type(2) {
    left: 831rem;
  }
}
.sec-gallery__inner .obj {
  position: absolute;
  display: block;
  border-radius: 15px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1460px) {
  .sec-gallery__inner .obj {
    border-radius: 15rem;
  }
}
.sec-gallery__inner .obj:nth-of-type(1) {
  top: 3%;
  left: 0;
  width: 29%;
  height: 39%;
}
.sec-gallery__inner .obj:nth-of-type(2) {
  top: 8%;
  left: 31.5%;
  width: 15%;
  height: 27%;
}
.sec-gallery__inner .obj:nth-of-type(3) {
  top: 1%;
  left: 49%;
  width: 23%;
  height: 36%;
}
.sec-gallery__inner .obj:nth-of-type(4) {
  top: 10%;
  left: 74.5%;
  width: 14%;
  height: 25%;
}
.sec-gallery__inner .obj:nth-of-type(5) {
  top: 3%;
  left: 91%;
  width: 25%;
  height: 37%;
}
.sec-gallery__inner .obj:nth-of-type(6) {
  top: 53%;
  left: -9%;
  width: 26%;
  height: 29%;
}
.sec-gallery__inner .obj:nth-of-type(7) {
  top: 47%;
  left: 19.5%;
  width: 27%;
  height: 42%;
}
.sec-gallery__inner .obj:nth-of-type(8) {
  top: 54%;
  left: 49%;
  width: 15%;
  height: 28%;
}
.sec-gallery__inner .obj:nth-of-type(9) {
  top: 47%;
  left: 66.5%;
  width: 41%;
  height: 42%;
}

@keyframes nikka-gallery-road {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-2255px);
  }
}
@media screen and (max-width: 1460px) {
  @keyframes nikka-gallery-road {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-2255rem);
    }
  }
}
@media screen and (max-width: 768px) {
  @keyframes nikka-gallery-road {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-881rem);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .sec-gallery__group {
    animation-play-state: paused;
  }
}
.contact .faq .title p,
.contact .contact-form .title p {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.5em;
  margin-bottom: 100px;
}
@media screen and (max-width: 1460px) {
  .contact .faq .title p,
  .contact .contact-form .title p {
    font-size: 32rem;
    margin-bottom: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .title p,
  .contact .contact-form .title p {
    font-size: 40rem;
    margin-bottom: 160rem;
  }
}
.contact .faq .to-faq,
.contact .contact-form .to-faq {
  text-align: center;
  padding-top: 140px;
}
@media screen and (max-width: 1460px) {
  .contact .faq .to-faq,
  .contact .contact-form .to-faq {
    padding-top: 140rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .to-faq,
  .contact .contact-form .to-faq {
    padding-top: 80rem;
  }
}
.contact .faq .to-faq button,
.contact .contact-form .to-faq button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
  display: flex;
  margin: auto;
  cursor: pointer;
}
@media screen and (max-width: 1460px) {
  .contact .faq .to-faq button,
  .contact .contact-form .to-faq button {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .to-faq button,
  .contact .contact-form .to-faq button {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.contact .faq .to-faq button::after,
.contact .contact-form .to-faq button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .contact .faq .to-faq button::after,
  .contact .contact-form .to-faq button::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .to-faq button::after,
  .contact .contact-form .to-faq button::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.contact .faq .to-faq button:hover,
.contact .contact-form .to-faq button:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.contact .faq .to-faq button:hover::after,
.contact .contact-form .to-faq button:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .contact .faq .to-faq button:hover::after,
  .contact .contact-form .to-faq button:hover::after {
    right: 26rem;
  }
}
.contact .faq .faq-content ul li,
.contact .contact-form .faq-content ul li {
  margin-bottom: 60px;
}
@media screen and (max-width: 1460px) {
  .contact .faq .faq-content ul li,
  .contact .contact-form .faq-content ul li {
    margin-bottom: 60rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .faq-content ul li,
  .contact .contact-form .faq-content ul li {
    margin-bottom: 120rem;
  }
}
.contact .faq .faq-content ul li span,
.contact .contact-form .faq-content ul li span {
  display: block;
  line-height: 2;
}
.contact .faq .faq-content ul li span.q,
.contact .contact-form .faq-content ul li span.q {
  padding: 15px 10px;
  font-size: 20px;
  letter-spacing: 0.5em;
  border-bottom: 0.5px solid var(--color-main-text);
}
@media screen and (max-width: 1460px) {
  .contact .faq .faq-content ul li span.q,
  .contact .contact-form .faq-content ul li span.q {
    padding: 15rem 10rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .faq-content ul li span.q,
  .contact .contact-form .faq-content ul li span.q {
    padding: 30rem 20rem;
    font-size: 36rem;
  }
}
.contact .faq .faq-content ul li span.a,
.contact .contact-form .faq-content ul li span.a {
  font-size: 16px;
  letter-spacing: 0.08em;
  padding: 40px 50px;
}
@media screen and (max-width: 1460px) {
  .contact .faq .faq-content ul li span.a,
  .contact .contact-form .faq-content ul li span.a {
    padding: 40rem 50rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .faq .faq-content ul li span.a,
  .contact .contact-form .faq-content ul li span.a {
    font-size: 32rem;
  }
}
.contact .contact-form .title {
  padding-top: 120px;
}
.contact .contact-form-content form {
  max-width: 730px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form {
    max-width: 100%;
  }
}
.contact .contact-form-content form .contact__elem {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem {
    margin-bottom: 40rem;
  }
}
.contact .contact-form-content form .contact__elem .contact-label {
  margin-bottom: 8px;
}
.contact .contact-form-content form .contact__elem .contact-label label {
  font-size: 16px;
  font-weight: 500;
  font-family: Zen Kaku Gothic New;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-label label {
    font-size: 32rem;
  }
}
.contact .contact-form-content form .contact__elem .contact-label label span {
  margin-left: 6px;
  color: #FF3131;
  font-family: Yu Gothic;
  font-weight: bold;
}
.contact .contact-form-content form .contact__elem .contact-inp input,
.contact .contact-form-content form .contact__elem .contact-inp textarea {
  width: 100%;
  border: 1px solid var(--color-border);
  height: 50px;
  border-radius: 0;
  font-family: Zen Kaku Gothic New;
  font-size: 16px;
}
.contact .contact-form-content form .contact__elem .contact-inp input[type=date] {
  max-width: 250px;
  margin-bottom: 30px;
}
.contact .contact-form-content form .contact__elem .contact-inp textarea {
  height: 240px;
  padding: 10px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-inp textarea {
    height: 180px;
  }
}
.contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
  display: flex;
  align-items: center;
  justify-content: left;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: block;
  }
}
.contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item {
  display: flex;
  align-items: center;
  justify-content: left;
  margin-right: 25px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item:first-child {
    margin-bottom: 40rem;
  }
}
.contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item span {
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  font-family: Zen Kaku Gothic New;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item span {
    font-size: 32rem;
  }
}
.contact .contact-form-content form .contact__elem .contact-inp.checkbox-container .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required .wpcf7-list-item.first {
  margin-left: 0;
}
.contact .contact-form-content form .check-privacy .wpcf7-list-item {
  margin-left: 0;
}
.contact .contact-form-content form .check-privacy .wpcf7-list-item label {
  display: flex;
  align-items: center;
  justify-content: left;
  margin-top: 10px;
  margin-bottom: 46px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .check-privacy .wpcf7-list-item label {
    margin-bottom: 90rem;
    align-items: start;
  }
}
.contact .contact-form-content form .check-privacy .wpcf7-list-item label input {
  width: 30px;
  height: 30px;
  border: 2px solid var(--color-border);
  border-radius: 6px;
  margin-right: 15px;
}
.contact .contact-form-content form .check-privacy .wpcf7-list-item label span {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.3em;
  cursor: pointer;
  color: var(--color-main-text);
}
.contact .contact-form-content form .check-privacy .wpcf7-list-item label span a {
  color: var(--color-accent);
  text-decoration: underline;
}
.contact .contact-form-content form .check-privacy .error-message {
  font-size: 14px;
  margin-bottom: 10px;
  color: #dc3232;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .check-privacy .error-message {
    font-size: 28rem;
  }
}
.contact .contact-form-content form .submit-btn {
  text-align: center;
}
.contact .contact-form-content form .submit-btn input[type=submit] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
  display: flex;
  margin: auto;
  cursor: pointer;
}
@media screen and (max-width: 1460px) {
  .contact .contact-form-content form .submit-btn input[type=submit] {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .submit-btn input[type=submit] {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.contact .contact-form-content form .submit-btn input[type=submit]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .contact .contact-form-content form .submit-btn input[type=submit]::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .submit-btn input[type=submit]::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.contact .contact-form-content form .submit-btn input[type=submit]:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.contact .contact-form-content form .submit-btn input[type=submit]:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .contact .contact-form-content form .submit-btn input[type=submit]:hover::after {
    right: 26rem;
  }
}
.contact .contact-form-content form .wpcf7-response-output {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .contact .contact-form-content form .wpcf7-response-output {
    font-size: 32rem;
  }
}
.contact #faq {
  padding-top: 170px;
}
@media screen and (max-width: 1460px) {
  .contact #faq {
    padding-top: 170rem;
  }
}
@media screen and (max-width: 768px) {
  .contact #faq {
    padding-top: 300rem;
  }
}
.contact .wpcf7-not-valid-tip {
  font-size: 16px;
  margin: 5px 0;
}
@media screen and (max-width: 768px) {
  .contact .wpcf7-not-valid-tip {
    margin: 10rem 0;
    font-size: 32rem;
  }
}

.privacy .lower-fv .fv-img .img img {
  -o-object-position: bottom;
     object-position: bottom;
}

.privacy-content .title {
  padding-top: 150px;
}
@media screen and (max-width: 1460px) {
  .privacy-content .title {
    padding-top: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .privacy-content .title {
    padding-top: 250rem;
  }
}
.privacy-content .title p {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.5em;
  margin-bottom: 68px;
}
@media screen and (max-width: 1460px) {
  .privacy-content .title p {
    font-size: 32rem;
    margin-bottom: 68rem;
  }
}
@media screen and (max-width: 768px) {
  .privacy-content .title p {
    font-size: 40rem;
    margin-bottom: 120rem;
  }
}
.privacy-content .content {
  padding-bottom: 90px;
}
@media screen and (max-width: 1460px) {
  .privacy-content .content {
    padding-bottom: 90rem;
  }
}
@media screen and (max-width: 768px) {
  .privacy-content .content {
    padding-bottom: 180rem;
  }
}
.privacy-content .content .privacy__elem {
  margin-bottom: 74px;
}
@media screen and (max-width: 1460px) {
  .privacy-content .content .privacy__elem {
    margin-bottom: 74rem;
  }
}
@media screen and (max-width: 768px) {
  .privacy-content .content .privacy__elem {
    margin-bottom: 140rem;
  }
}
.privacy-content .content .privacy__elem-title {
  padding: 15px 10px;
  border-bottom: 0.5px solid var(--color-main-text);
}
.privacy-content .content .privacy__elem-title p,
.privacy-content .content .privacy__elem-title h4 {
  font-size: 20px;
  letter-spacing: 0.5em;
  font-family: Noto Serif JP;
  font-weight: 400;
  color: var(--color-main-text);
  line-height: 2;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .privacy-content .content .privacy__elem-title p,
  .privacy-content .content .privacy__elem-title h4 {
    font-size: 34rem;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 768px) {
  .privacy-content .content .privacy__elem-title {
    padding: 30rem 20rem;
  }
}
.privacy-content .content .privacy__elem-content {
  padding: 40px 10px 0;
}
@media screen and (max-width: 768px) {
  .privacy-content .content .privacy__elem-content {
    padding: 60rem 20rem 0;
  }
}
.privacy-content .content .privacy__elem-content p,
.privacy-content .content .privacy__elem-content dt,
.privacy-content .content .privacy__elem-content dd {
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 2.2;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .privacy-content .content .privacy__elem-content p,
  .privacy-content .content .privacy__elem-content dt,
  .privacy-content .content .privacy__elem-content dd {
    font-size: 32rem;
  }
}
.privacy-content .privacy-contact {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .privacy-content .privacy-contact {
    margin-top: 40rem;
  }
}
.privacy-content .privacy-contact > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin-bottom: 0.4em;
}
.privacy-content .privacy-contact dt::after {
  content: "：";
}

.guide .lower-fv .fv-img .img img {
  -o-object-position: bottom;
     object-position: bottom;
}

.guide .guide-content {
  padding: 128px 0 90px;
}
@media screen and (max-width: 1460px) {
  .guide .guide-content {
    padding: 128rem 0 90rem;
  }
}
@media screen and (max-width: 768px) {
  .guide .guide-content {
    padding: 88rem 0 160rem;
  }
}
.guide .guide-content .lower-title {
  border-left: 2px solid var(--color-accent);
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 40px;
  padding-left: 25px;
}
@media screen and (max-width: 1460px) {
  .guide .guide-content .lower-title {
    font-size: 35rem;
    margin-bottom: 40rem;
    padding-left: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .guide .guide-content .lower-title {
    font-size: 38rem;
    line-height: 1.55;
    margin-bottom: 40rem;
    padding-left: 20rem;
  }
}
.guide .guide-content .guide-table {
  border-collapse: collapse;
  border-top: 1px solid var(--color-border);
  width: 100%;
}
.guide .guide-content .guide-table th,
.guide .guide-content .guide-table td {
  border-bottom: 1px solid var(--color-border);
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.9;
  padding: 21px 24px;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 1460px) {
  .guide .guide-content .guide-table th,
  .guide .guide-content .guide-table td {
    font-size: 15rem;
    padding: 21rem 24rem;
  }
}
.guide .guide-content .guide-table th {
  background: var(--color-secondary-background);
  font-family: var(--font-mincho);
  font-weight: 400;
  width: 27%;
}
@media screen and (max-width: 768px) {
  .guide .guide-content .guide-table tr,
  .guide .guide-content .guide-table th,
  .guide .guide-content .guide-table td {
    display: block;
    width: 100%;
  }
  .guide .guide-content .guide-table th,
  .guide .guide-content .guide-table td {
    font-size: 24rem;
    line-height: 1.8;
    padding: 18rem 20rem;
  }
  .guide .guide-content .guide-table th {
    border-bottom: none;
  }
}
.guide-content .title {
  padding-top: 150px;
}
@media screen and (max-width: 1460px) {
  .guide-content .title {
    padding-top: 150rem;
  }
}
@media screen and (max-width: 768px) {
  .guide-content .title {
    padding-top: 250rem;
  }
}
.guide-content .title p {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.5em;
  margin-bottom: 68px;
}
@media screen and (max-width: 1460px) {
  .guide-content .title p {
    font-size: 32rem;
    margin-bottom: 68rem;
  }
}
@media screen and (max-width: 768px) {
  .guide-content .title p {
    font-size: 36rem;
    margin-bottom: 120rem;
  }
}
.guide-content .content {
  padding-bottom: 90px;
  max-width: 980px;
  margin: auto;
}
@media screen and (max-width: 1460px) {
  .guide-content .content {
    padding-bottom: 90rem;
  }
}
@media screen and (max-width: 768px) {
  .guide-content .content {
    max-width: 100%;
    padding-bottom: 180rem;
  }
}
.guide-content .content .table {
  width: 100%;
  border-bottom: 1px solid var(--color-border);
}
.guide-content .content .table__elem {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: left;
  border: 1px solid var(--color-border);
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .guide-content .content .table__elem {
    display: block;
  }
}
.guide-content .content .table__elem-title {
  width: 20%;
  padding: 20px 15px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .guide-content .content .table__elem-title {
    width: 100%;
    padding: 30rem;
    height: 100rem;
  }
}
.guide-content .content .table__elem-title p {
  font-size: 18px;
  letter-spacing: 0.3em;
  font-family: Noto Serif JP;
  font-weight: 400;
  text-align: left;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .guide-content .content .table__elem-title p {
    font-size: 32rem;
    letter-spacing: 0.08em;
  }
}
.guide-content .content .table__elem-content {
  border-left: 1px solid var(--color-border);
  width: 80%;
  display: flex;
  align-items: center;
  padding: 21px 36px;
}
@media screen and (max-width: 768px) {
  .guide-content .content .table__elem-content {
    border-left: none;
    border-top: 1px solid var(--color-border);
    width: 100%;
    padding: 30rem;
  }
}
.guide-content .content .table__elem-content p {
  font-size: 16px;
  letter-spacing: 0.5em;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .guide-content .content .table__elem-content p {
    font-size: 28rem;
    letter-spacing: 0.08em;
  }
}
.guide-content .content .table__elem-content p span {
  letter-spacing: 0.1em;
}

.single-news .lower-fv.no-img h2,
.news .lower-fv.no-img h2 {
  margin-bottom: 0;
}

.info .container .info-single-content,
.info .container .single-news-content {
  width: 810px;
}
@media screen and (max-width: 1460px) {
  .info .container .info-single-content,
  .info .container .single-news-content {
    width: 810rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content,
  .info .container .single-news-content {
    width: 100%;
  }
}
.info .container .info-single-content .date,
.info .container .single-news-content .date {
  color: var(--color-secondary-text);
  letter-spacing: 0.5em;
  font-size: 16px;
  margin-bottom: 12px;
  display: block;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .date,
  .info .container .single-news-content .date {
    font-size: 32rem;
    margin-bottom: 30rem;
  }
}
.info .container .info-single-content .single-title,
.info .container .info-single-content > h3,
.info .container .single-news-content .single-title,
.info .container .single-news-content > h3 {
  font-size: 20px;
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-bottom: 50px;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .single-title,
  .info .container .info-single-content > h3,
  .info .container .single-news-content .single-title,
  .info .container .single-news-content > h3 {
    font-size: 36rem;
    margin-bottom: 80rem;
  }
}
.info .container .info-single-content .single-img,
.info .container .info-single-content .single-news-img,
.info .container .single-news-content .single-img,
.info .container .single-news-content .single-news-img {
  width: 100%;
  margin-bottom: 47px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .single-img,
  .info .container .info-single-content .single-news-img,
  .info .container .single-news-content .single-img,
  .info .container .single-news-content .single-news-img {
    margin-bottom: 80rem;
  }
}
.info .container .info-single-content .single-img img,
.info .container .info-single-content .single-news-img img,
.info .container .single-news-content .single-img img,
.info .container .single-news-content .single-news-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}
.info .container .info-single-content .single-content,
.info .container .info-single-content .single-news-txt,
.info .container .single-news-content .single-content,
.info .container .single-news-content .single-news-txt {
  padding-bottom: 70px;
  border-bottom: 1px solid var(--color-secondary-text);
  margin-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .single-content,
  .info .container .info-single-content .single-news-txt,
  .info .container .single-news-content .single-content,
  .info .container .single-news-content .single-news-txt {
    margin-bottom: 160rem;
    padding-bottom: 140rem;
  }
}
.info .container .info-single-content .single-content p,
.info .container .info-single-content .single-content li,
.info .container .info-single-content .single-news-txt p,
.info .container .info-single-content .single-news-txt li,
.info .container .single-news-content .single-content p,
.info .container .single-news-content .single-content li,
.info .container .single-news-content .single-news-txt p,
.info .container .single-news-content .single-news-txt li {
  font-size: 16px;
  letter-spacing: 0.3em;
  line-height: 2.2;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .single-content p,
  .info .container .info-single-content .single-content li,
  .info .container .info-single-content .single-news-txt p,
  .info .container .info-single-content .single-news-txt li,
  .info .container .single-news-content .single-content p,
  .info .container .single-news-content .single-content li,
  .info .container .single-news-content .single-news-txt p,
  .info .container .single-news-content .single-news-txt li {
    font-size: 32rem;
    letter-spacing: 0.08em;
  }
}
.info .container .info-single-content .single-content p + p,
.info .container .info-single-content .single-news-txt p + p,
.info .container .single-news-content .single-content p + p,
.info .container .single-news-content .single-news-txt p + p {
  margin-top: 1.2em;
}
.info .container .info-single-content .next-btn,
.info .container .info-single-content .single-news-nav,
.info .container .single-news-content .next-btn,
.info .container .single-news-content .single-news-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 87px;
}
@media screen and (max-width: 1460px) {
  .info .container .info-single-content .next-btn,
  .info .container .info-single-content .single-news-nav,
  .info .container .single-news-content .next-btn,
  .info .container .single-news-content .single-news-nav {
    margin-bottom: 87rem;
  }
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .next-btn,
  .info .container .info-single-content .single-news-nav,
  .info .container .single-news-content .next-btn,
  .info .container .single-news-content .single-news-nav {
    margin-bottom: 160rem;
  }
}
.info .container .info-single-content .next-btn .navigation,
.info .container .info-single-content .single-news-nav .navigation,
.info .container .single-news-content .next-btn .navigation,
.info .container .single-news-content .single-news-nav .navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.info .container .info-single-content .next-btn a,
.info .container .info-single-content .next-btn .navigation a,
.info .container .info-single-content .next-btn .navigation span,
.info .container .info-single-content .single-news-nav a,
.info .container .info-single-content .single-news-nav .navigation a,
.info .container .info-single-content .single-news-nav .navigation span,
.info .container .single-news-content .next-btn a,
.info .container .single-news-content .next-btn .navigation a,
.info .container .single-news-content .next-btn .navigation span,
.info .container .single-news-content .single-news-nav a,
.info .container .single-news-content .single-news-nav .navigation a,
.info .container .single-news-content .single-news-nav .navigation span {
  font-size: 13px;
  letter-spacing: 0.5em;
  color: var(--color-accent);
  cursor: pointer;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .next-btn a,
  .info .container .info-single-content .next-btn .navigation a,
  .info .container .info-single-content .next-btn .navigation span,
  .info .container .info-single-content .single-news-nav a,
  .info .container .info-single-content .single-news-nav .navigation a,
  .info .container .info-single-content .single-news-nav .navigation span,
  .info .container .single-news-content .next-btn a,
  .info .container .single-news-content .next-btn .navigation a,
  .info .container .single-news-content .next-btn .navigation span,
  .info .container .single-news-content .single-news-nav a,
  .info .container .single-news-content .single-news-nav .navigation a,
  .info .container .single-news-content .single-news-nav .navigation span {
    font-size: 26rem;
  }
}
.info .container .info-single-content .next-btn .navigation span.no-prev,
.info .container .info-single-content .next-btn .navigation span.no-next,
.info .container .info-single-content .single-news-nav .navigation span.no-prev,
.info .container .info-single-content .single-news-nav .navigation span.no-next,
.info .container .single-news-content .next-btn .navigation span.no-prev,
.info .container .single-news-content .next-btn .navigation span.no-next,
.info .container .single-news-content .single-news-nav .navigation span.no-prev,
.info .container .single-news-content .single-news-nav .navigation span.no-next {
  cursor: not-allowed;
  opacity: 0.5;
}
.info .container .info-single-content .next-btn .prev a,
.info .container .info-single-content .next-btn .next a,
.info .container .info-single-content .single-news-nav .prev a,
.info .container .info-single-content .single-news-nav .next a,
.info .container .single-news-content .next-btn .prev a,
.info .container .single-news-content .next-btn .next a,
.info .container .single-news-content .single-news-nav .prev a,
.info .container .single-news-content .single-news-nav .next a {
  display: inline-flex;
  flex-direction: column;
  gap: 6px;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .next-btn .prev a,
  .info .container .info-single-content .next-btn .next a,
  .info .container .info-single-content .single-news-nav .prev a,
  .info .container .info-single-content .single-news-nav .next a,
  .info .container .single-news-content .next-btn .prev a,
  .info .container .single-news-content .next-btn .next a,
  .info .container .single-news-content .single-news-nav .prev a,
  .info .container .single-news-content .single-news-nav .next a {
    gap: 10rem;
  }
}
.info .container .info-single-content .next-btn .prev a span:not(.en),
.info .container .info-single-content .next-btn .next a span:not(.en),
.info .container .info-single-content .single-news-nav .prev a span:not(.en),
.info .container .info-single-content .single-news-nav .next a span:not(.en),
.info .container .single-news-content .next-btn .prev a span:not(.en),
.info .container .single-news-content .next-btn .next a span:not(.en),
.info .container .single-news-content .single-news-nav .prev a span:not(.en),
.info .container .single-news-content .single-news-nav .next a span:not(.en) {
  font-size: 12px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .info .container .info-single-content .next-btn .prev a span:not(.en),
  .info .container .info-single-content .next-btn .next a span:not(.en),
  .info .container .info-single-content .single-news-nav .prev a span:not(.en),
  .info .container .info-single-content .single-news-nav .next a span:not(.en),
  .info .container .single-news-content .next-btn .prev a span:not(.en),
  .info .container .single-news-content .next-btn .next a span:not(.en),
  .info .container .single-news-content .single-news-nav .prev a span:not(.en),
  .info .container .single-news-content .single-news-nav .next a span:not(.en) {
    font-size: 22rem;
  }
}
.info .container .info-single-content .next-btn .next,
.info .container .info-single-content .single-news-nav .next,
.info .container .single-news-content .next-btn .next,
.info .container .single-news-content .single-news-nav .next {
  margin-left: auto;
  text-align: right;
}
.info .container .info-single-content .next-btn .next a,
.info .container .info-single-content .single-news-nav .next a,
.info .container .single-news-content .next-btn .next a,
.info .container .single-news-content .single-news-nav .next a {
  align-items: flex-end;
}

.lower-page.booking-page {
  color: var(--color-main-text);
}
.lower-page.booking-page .booking-section {
  padding-top: 30px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-section {
    padding-top: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-section {
    padding-top: 40rem;
  }
}
.lower-page.booking-page .booking-section {
  padding-bottom: 120px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-section {
    padding-bottom: 120rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-section {
    padding-bottom: 160rem;
  }
}
.lower-page.booking-page .container {
  margin: 0 auto;
  max-width: 960px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .container {
    max-width: 960rem;
  }
}
.lower-page.booking-page .booking-title {
  color: var(--color-main-text);
  font-family: var(--font-mincho);
  font-weight: 400;
  letter-spacing: 0.14em;
  line-height: 1.5;
  font-size: 30px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-title {
    font-size: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-title {
    font-size: 46rem;
  }
}
.lower-page.booking-page .booking-title {
  margin-bottom: 36px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-title {
    margin-bottom: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-title {
    margin-bottom: 56rem;
  }
}
.lower-page.booking-page .booking-eyebrow {
  display: block;
  font-family: var(--font-english);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-secondary-text);
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-eyebrow {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-eyebrow {
    font-size: 20rem;
  }
}
.lower-page.booking-page .booking-eyebrow::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  margin: 18px 0 22px;
  background: var(--color-accent);
  opacity: 0.6;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-eyebrow::after {
    width: 32rem;
    margin-top: 18rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-eyebrow::after {
    width: 48rem;
    margin-top: 24rem;
    margin-bottom: 28rem;
  }
}
.lower-page.booking-page .booking-content label {
  display: inline-block;
  color: var(--color-secondary-text);
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content label {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content label {
    font-size: 22rem;
  }
}
.lower-page.booking-page .booking-content label {
  margin-bottom: 6px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content label {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content label {
    margin-bottom: 10rem;
  }
}
.lower-page.booking-page .booking-content abbr[title] {
  color: var(--color-accent);
  text-decoration: none;
  border: 0;
}
.lower-page.booking-page .booking-content br {
  display: none;
}
.lower-page.booking-page .booking-content input[type=text],
.lower-page.booking-page .booking-content input[type=email],
.lower-page.booking-page .booking-content input[type=tel],
.lower-page.booking-page .booking-content input[type=number],
.lower-page.booking-page .booking-content input[type=password],
.lower-page.booking-page .booking-content select:not(.datepick-month-year),
.lower-page.booking-page .booking-content textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  background: #fff;
  color: var(--color-main-text);
  font-family: var(--font-gothic);
  letter-spacing: 0.04em;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    font-size: 26rem;
  }
}
.lower-page.booking-page .booking-content input[type=text],
.lower-page.booking-page .booking-content input[type=email],
.lower-page.booking-page .booking-content input[type=tel],
.lower-page.booking-page .booking-content input[type=number],
.lower-page.booking-page .booking-content input[type=password],
.lower-page.booking-page .booking-content select:not(.datepick-month-year),
.lower-page.booking-page .booking-content textarea {
  padding: 0px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding: 0rem;
  }
}
.lower-page.booking-page .booking-content input[type=text],
.lower-page.booking-page .booking-content input[type=email],
.lower-page.booking-page .booking-content input[type=tel],
.lower-page.booking-page .booking-content input[type=number],
.lower-page.booking-page .booking-content input[type=password],
.lower-page.booking-page .booking-content select:not(.datepick-month-year),
.lower-page.booking-page .booking-content textarea {
  padding-left: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding-left: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding-left: 22rem;
  }
}
.lower-page.booking-page .booking-content input[type=text],
.lower-page.booking-page .booking-content input[type=email],
.lower-page.booking-page .booking-content input[type=tel],
.lower-page.booking-page .booking-content input[type=number],
.lower-page.booking-page .booking-content input[type=password],
.lower-page.booking-page .booking-content select:not(.datepick-month-year),
.lower-page.booking-page .booking-content textarea {
  padding-right: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding-right: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    padding-right: 22rem;
  }
}
.lower-page.booking-page .booking-content input[type=text],
.lower-page.booking-page .booking-content input[type=email],
.lower-page.booking-page .booking-content input[type=tel],
.lower-page.booking-page .booking-content input[type=number],
.lower-page.booking-page .booking-content input[type=password],
.lower-page.booking-page .booking-content select:not(.datepick-month-year),
.lower-page.booking-page .booking-content textarea {
  height: 48px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    height: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=text],
  .lower-page.booking-page .booking-content input[type=email],
  .lower-page.booking-page .booking-content input[type=tel],
  .lower-page.booking-page .booking-content input[type=number],
  .lower-page.booking-page .booking-content input[type=password],
  .lower-page.booking-page .booking-content select:not(.datepick-month-year),
  .lower-page.booking-page .booking-content textarea {
    height: 84rem;
  }
}
.lower-page.booking-page .booking-content input[type=text]:focus,
.lower-page.booking-page .booking-content input[type=email]:focus,
.lower-page.booking-page .booking-content input[type=tel]:focus,
.lower-page.booking-page .booking-content input[type=number]:focus,
.lower-page.booking-page .booking-content input[type=password]:focus,
.lower-page.booking-page .booking-content select:not(.datepick-month-year):focus,
.lower-page.booking-page .booking-content textarea:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(140, 100, 70, 0.15);
}
.lower-page.booking-page .booking-content select:not(.datepick-month-year) {
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-secondary-text) 50%), linear-gradient(135deg, var(--color-secondary-text) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content select:not(.datepick-month-year) {
    padding-right: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content select:not(.datepick-month-year) {
    padding-right: 56rem;
  }
}
.lower-page.booking-page .booking-content textarea {
  height: auto;
  line-height: 1.8;
  min-height: 120px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content textarea {
    min-height: 120rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content textarea {
    min-height: 200rem;
  }
}
.lower-page.booking-page .booking-content textarea {
  padding-top: 12px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content textarea {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content textarea {
    padding-top: 18rem;
  }
}
.lower-page.booking-page .booking-content textarea {
  padding-bottom: 12px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content textarea {
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content textarea {
    padding-bottom: 18rem;
  }
}
.lower-page.booking-page .booking-content input[type=checkbox],
.lower-page.booking-page .booking-content input[type=radio] {
  accent-color: var(--color-accent);
  width: 18px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=checkbox],
  .lower-page.booking-page .booking-content input[type=radio] {
    width: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=checkbox],
  .lower-page.booking-page .booking-content input[type=radio] {
    width: 30rem;
  }
}
.lower-page.booking-page .booking-content input[type=checkbox],
.lower-page.booking-page .booking-content input[type=radio] {
  height: 18px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=checkbox],
  .lower-page.booking-page .booking-content input[type=radio] {
    height: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=checkbox],
  .lower-page.booking-page .booking-content input[type=radio] {
    height: 30rem;
  }
}
.lower-page.booking-page .booking-content input[type=checkbox],
.lower-page.booking-page .booking-content input[type=radio] {
  vertical-align: middle;
}
.lower-page.booking-page .booking-content input[type=submit],
.lower-page.booking-page .booking-content button.button,
.lower-page.booking-page .booking-content a.button,
.lower-page.booking-page .booking-content .button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=submit],
  .lower-page.booking-page .booking-content button.button,
  .lower-page.booking-page .booking-content a.button,
  .lower-page.booking-page .booking-content .button {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=submit],
  .lower-page.booking-page .booking-content button.button,
  .lower-page.booking-page .booking-content a.button,
  .lower-page.booking-page .booking-content .button {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.lower-page.booking-page .booking-content input[type=submit]::after,
.lower-page.booking-page .booking-content button.button::after,
.lower-page.booking-page .booking-content a.button::after,
.lower-page.booking-page .booking-content .button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=submit]::after,
  .lower-page.booking-page .booking-content button.button::after,
  .lower-page.booking-page .booking-content a.button::after,
  .lower-page.booking-page .booking-content .button::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content input[type=submit]::after,
  .lower-page.booking-page .booking-content button.button::after,
  .lower-page.booking-page .booking-content a.button::after,
  .lower-page.booking-page .booking-content .button::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.lower-page.booking-page .booking-content input[type=submit]:hover,
.lower-page.booking-page .booking-content button.button:hover,
.lower-page.booking-page .booking-content a.button:hover,
.lower-page.booking-page .booking-content .button:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.lower-page.booking-page .booking-content input[type=submit]:hover::after,
.lower-page.booking-page .booking-content button.button:hover::after,
.lower-page.booking-page .booking-content a.button:hover::after,
.lower-page.booking-page .booking-content .button:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content input[type=submit]:hover::after,
  .lower-page.booking-page .booking-content button.button:hover::after,
  .lower-page.booking-page .booking-content a.button:hover::after,
  .lower-page.booking-page .booking-content .button:hover::after {
    right: 26rem;
  }
}
.lower-page.booking-page .booking-content input[type=submit],
.lower-page.booking-page .booking-content button.button,
.lower-page.booking-page .booking-content a.button,
.lower-page.booking-page .booking-content .button {
  cursor: pointer;
  text-decoration: none;
}
.lower-page.booking-page .booking-content input[type=submit]::after,
.lower-page.booking-page .booking-content button.button::after,
.lower-page.booking-page .booking-content a.button::after,
.lower-page.booking-page .booking-content .button::after {
  display: none;
}
.lower-page.booking-page .booking-content {
  line-height: 2;
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content {
    font-size: 26rem;
  }
}
.lower-page.booking-page .booking-content > p,
.lower-page.booking-page .booking-content > ul {
  margin-bottom: 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content > p,
  .lower-page.booking-page .booking-content > ul {
    margin-bottom: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content > p,
  .lower-page.booking-page .booking-content > ul {
    margin-bottom: 32rem;
  }
}
.lower-page.booking-page .booking-content a:not(.button) {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lower-page.booking-page .booking-content .mphb-calendar a {
  text-decoration: none;
}
.lower-page.booking-page .booking-content h2,
.lower-page.booking-page .booking-content h3,
.lower-page.booking-page .booking-content h4 {
  margin: 0;
  color: var(--color-main-text);
  font-family: var(--font-mincho);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.6;
  font-size: 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content h2,
  .lower-page.booking-page .booking-content h3,
  .lower-page.booking-page .booking-content h4 {
    font-size: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content h2,
  .lower-page.booking-page .booking-content h3,
  .lower-page.booking-page .booking-content h4 {
    font-size: 34rem;
  }
}
.lower-page.booking-page .booking-content h2,
.lower-page.booking-page .booking-content h3,
.lower-page.booking-page .booking-content h4 {
  margin-bottom: 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content h2,
  .lower-page.booking-page .booking-content h3,
  .lower-page.booking-page .booking-content h4 {
    margin-bottom: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content h2,
  .lower-page.booking-page .booking-content h3,
  .lower-page.booking-page .booking-content h4 {
    margin-bottom: 32rem;
  }
}
.lower-page.booking-page .booking-content table.mphb-price-breakdown {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown {
    font-size: 24rem;
  }
}
.lower-page.booking-page .booking-content table.mphb-price-breakdown th,
.lower-page.booking-page .booking-content table.mphb-price-breakdown td {
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
  padding: 12px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown th,
  .lower-page.booking-page .booking-content table.mphb-price-breakdown td {
    padding: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown th,
  .lower-page.booking-page .booking-content table.mphb-price-breakdown td {
    padding: 18rem;
  }
}
.lower-page.booking-page .booking-content table.mphb-price-breakdown th,
.lower-page.booking-page .booking-content table.mphb-price-breakdown td {
  padding-left: 0px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown th,
  .lower-page.booking-page .booking-content table.mphb-price-breakdown td {
    padding-left: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-content table.mphb-price-breakdown th,
  .lower-page.booking-page .booking-content table.mphb-price-breakdown td {
    padding-left: 0rem;
  }
}
.lower-page.booking-page .booking-content table.mphb-price-breakdown th {
  color: var(--color-secondary-text);
  font-weight: 400;
}
.lower-page.booking-page .booking-content .mphb-room-type-title a,
.lower-page.booking-page .booking-content .mphb-recommendation-item-link {
  color: inherit;
  text-decoration: none;
}
.lower-page.booking-page .booking-content .mphb-room-type-title a:hover,
.lower-page.booking-page .booking-content .mphb-recommendation-item-link:hover {
  color: var(--color-accent);
}
.lower-page.booking-page .booking-content a.mphb-view-details-button {
  border: 1px solid var(--color-accent);
  background: transparent;
  color: var(--color-accent);
}
.lower-page.booking-page .booking-content a.mphb-view-details-button:hover {
  background: var(--color-accent);
  color: #fff;
}
.lower-page.booking-page .booking-back {
  text-align: center;
  margin-top: 48px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-back {
    margin-top: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-back {
    margin-top: 72rem;
  }
}
.lower-page.booking-page .booking-back a {
  color: var(--color-accent);
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.booking-page .booking-back a {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.booking-page .booking-back a {
    font-size: 24rem;
  }
}

.booking-steps {
  display: flex;
  list-style: none;
  counter-reset: none;
  margin-bottom: 48px;
}
@media screen and (max-width: 1460px) {
  .booking-steps {
    margin-bottom: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps {
    margin-bottom: 64rem;
  }
}
.booking-steps__item {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-secondary-text);
  text-align: center;
  opacity: 0.55;
  gap: 8px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__item {
    gap: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__item {
    gap: 10rem;
  }
}
.booking-steps__item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -50%;
  right: 50%;
  height: 1px;
  background: var(--color-border);
  top: 18px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__item:not(:first-child)::before {
    top: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__item:not(:first-child)::before {
    top: 30rem;
  }
}
.booking-steps__item.is-done, .booking-steps__item.is-current {
  opacity: 1;
}
.booking-steps__item.is-done::before, .booking-steps__item.is-current::before {
  background: var(--color-accent);
}
.booking-steps__num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: var(--color-surface);
  font-family: var(--font-english);
  width: 36px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__num {
    width: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__num {
    width: 60rem;
  }
}
.booking-steps__num {
  height: 36px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__num {
    height: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__num {
    height: 60rem;
  }
}
.booking-steps__num {
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__num {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__num {
    font-size: 24rem;
  }
}
.is-done .booking-steps__num {
  border-color: var(--color-accent);
  color: var(--color-accent);
}
.is-current .booking-steps__num {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: #fff;
}
.booking-steps__label {
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .booking-steps__label {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-steps__label {
    font-size: 20rem;
  }
}
.is-current .booking-steps__label {
  color: var(--color-main-text);
}

.mphb_sc_search-form label,
.mphb_widget_search-form label {
  display: inline-block;
  color: var(--color-secondary-text);
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form label,
  .mphb_widget_search-form label {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form label,
  .mphb_widget_search-form label {
    font-size: 22rem;
  }
}
.mphb_sc_search-form label,
.mphb_widget_search-form label {
  margin-bottom: 6px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form label,
  .mphb_widget_search-form label {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form label,
  .mphb_widget_search-form label {
    margin-bottom: 10rem;
  }
}
.mphb_sc_search-form abbr[title],
.mphb_widget_search-form abbr[title] {
  color: var(--color-accent);
  text-decoration: none;
  border: 0;
}
.mphb_sc_search-form br,
.mphb_widget_search-form br {
  display: none;
}
.mphb_sc_search-form input[type=text],
.mphb_sc_search-form input[type=email],
.mphb_sc_search-form input[type=tel],
.mphb_sc_search-form input[type=number],
.mphb_sc_search-form input[type=password],
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_sc_search-form textarea,
.mphb_widget_search-form input[type=text],
.mphb_widget_search-form input[type=email],
.mphb_widget_search-form input[type=tel],
.mphb_widget_search-form input[type=number],
.mphb_widget_search-form input[type=password],
.mphb_widget_search-form select:not(.datepick-month-year),
.mphb_widget_search-form textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  background: #fff;
  color: var(--color-main-text);
  font-family: var(--font-gothic);
  letter-spacing: 0.04em;
  transition: border-color 0.2s, box-shadow 0.2s;
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    font-size: 26rem;
  }
}
.mphb_sc_search-form input[type=text],
.mphb_sc_search-form input[type=email],
.mphb_sc_search-form input[type=tel],
.mphb_sc_search-form input[type=number],
.mphb_sc_search-form input[type=password],
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_sc_search-form textarea,
.mphb_widget_search-form input[type=text],
.mphb_widget_search-form input[type=email],
.mphb_widget_search-form input[type=tel],
.mphb_widget_search-form input[type=number],
.mphb_widget_search-form input[type=password],
.mphb_widget_search-form select:not(.datepick-month-year),
.mphb_widget_search-form textarea {
  padding: 0px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding: 0rem;
  }
}
.mphb_sc_search-form input[type=text],
.mphb_sc_search-form input[type=email],
.mphb_sc_search-form input[type=tel],
.mphb_sc_search-form input[type=number],
.mphb_sc_search-form input[type=password],
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_sc_search-form textarea,
.mphb_widget_search-form input[type=text],
.mphb_widget_search-form input[type=email],
.mphb_widget_search-form input[type=tel],
.mphb_widget_search-form input[type=number],
.mphb_widget_search-form input[type=password],
.mphb_widget_search-form select:not(.datepick-month-year),
.mphb_widget_search-form textarea {
  padding-left: 14px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding-left: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding-left: 22rem;
  }
}
.mphb_sc_search-form input[type=text],
.mphb_sc_search-form input[type=email],
.mphb_sc_search-form input[type=tel],
.mphb_sc_search-form input[type=number],
.mphb_sc_search-form input[type=password],
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_sc_search-form textarea,
.mphb_widget_search-form input[type=text],
.mphb_widget_search-form input[type=email],
.mphb_widget_search-form input[type=tel],
.mphb_widget_search-form input[type=number],
.mphb_widget_search-form input[type=password],
.mphb_widget_search-form select:not(.datepick-month-year),
.mphb_widget_search-form textarea {
  padding-right: 14px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding-right: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    padding-right: 22rem;
  }
}
.mphb_sc_search-form input[type=text],
.mphb_sc_search-form input[type=email],
.mphb_sc_search-form input[type=tel],
.mphb_sc_search-form input[type=number],
.mphb_sc_search-form input[type=password],
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_sc_search-form textarea,
.mphb_widget_search-form input[type=text],
.mphb_widget_search-form input[type=email],
.mphb_widget_search-form input[type=tel],
.mphb_widget_search-form input[type=number],
.mphb_widget_search-form input[type=password],
.mphb_widget_search-form select:not(.datepick-month-year),
.mphb_widget_search-form textarea {
  height: 48px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    height: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=text],
  .mphb_sc_search-form input[type=email],
  .mphb_sc_search-form input[type=tel],
  .mphb_sc_search-form input[type=number],
  .mphb_sc_search-form input[type=password],
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form input[type=text],
  .mphb_widget_search-form input[type=email],
  .mphb_widget_search-form input[type=tel],
  .mphb_widget_search-form input[type=number],
  .mphb_widget_search-form input[type=password],
  .mphb_widget_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form textarea {
    height: 84rem;
  }
}
.mphb_sc_search-form input[type=text]:focus,
.mphb_sc_search-form input[type=email]:focus,
.mphb_sc_search-form input[type=tel]:focus,
.mphb_sc_search-form input[type=number]:focus,
.mphb_sc_search-form input[type=password]:focus,
.mphb_sc_search-form select:not(.datepick-month-year):focus,
.mphb_sc_search-form textarea:focus,
.mphb_widget_search-form input[type=text]:focus,
.mphb_widget_search-form input[type=email]:focus,
.mphb_widget_search-form input[type=tel]:focus,
.mphb_widget_search-form input[type=number]:focus,
.mphb_widget_search-form input[type=password]:focus,
.mphb_widget_search-form select:not(.datepick-month-year):focus,
.mphb_widget_search-form textarea:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(140, 100, 70, 0.15);
}
.mphb_sc_search-form select:not(.datepick-month-year),
.mphb_widget_search-form select:not(.datepick-month-year) {
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-secondary-text) 50%), linear-gradient(135deg, var(--color-secondary-text) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form select:not(.datepick-month-year) {
    padding-right: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form select:not(.datepick-month-year),
  .mphb_widget_search-form select:not(.datepick-month-year) {
    padding-right: 56rem;
  }
}
.mphb_sc_search-form textarea,
.mphb_widget_search-form textarea {
  height: auto;
  line-height: 1.8;
  min-height: 120px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    min-height: 120rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    min-height: 200rem;
  }
}
.mphb_sc_search-form textarea,
.mphb_widget_search-form textarea {
  padding-top: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    padding-top: 18rem;
  }
}
.mphb_sc_search-form textarea,
.mphb_widget_search-form textarea {
  padding-bottom: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form textarea,
  .mphb_widget_search-form textarea {
    padding-bottom: 18rem;
  }
}
.mphb_sc_search-form input[type=checkbox],
.mphb_sc_search-form input[type=radio],
.mphb_widget_search-form input[type=checkbox],
.mphb_widget_search-form input[type=radio] {
  accent-color: var(--color-accent);
  width: 18px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=checkbox],
  .mphb_sc_search-form input[type=radio],
  .mphb_widget_search-form input[type=checkbox],
  .mphb_widget_search-form input[type=radio] {
    width: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=checkbox],
  .mphb_sc_search-form input[type=radio],
  .mphb_widget_search-form input[type=checkbox],
  .mphb_widget_search-form input[type=radio] {
    width: 30rem;
  }
}
.mphb_sc_search-form input[type=checkbox],
.mphb_sc_search-form input[type=radio],
.mphb_widget_search-form input[type=checkbox],
.mphb_widget_search-form input[type=radio] {
  height: 18px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=checkbox],
  .mphb_sc_search-form input[type=radio],
  .mphb_widget_search-form input[type=checkbox],
  .mphb_widget_search-form input[type=radio] {
    height: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=checkbox],
  .mphb_sc_search-form input[type=radio],
  .mphb_widget_search-form input[type=checkbox],
  .mphb_widget_search-form input[type=radio] {
    height: 30rem;
  }
}
.mphb_sc_search-form input[type=checkbox],
.mphb_sc_search-form input[type=radio],
.mphb_widget_search-form input[type=checkbox],
.mphb_widget_search-form input[type=radio] {
  vertical-align: middle;
}
.mphb_sc_search-form input[type=submit],
.mphb_sc_search-form button.button,
.mphb_sc_search-form a.button,
.mphb_sc_search-form .button,
.mphb_widget_search-form input[type=submit],
.mphb_widget_search-form button.button,
.mphb_widget_search-form a.button,
.mphb_widget_search-form .button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=submit],
  .mphb_sc_search-form button.button,
  .mphb_sc_search-form a.button,
  .mphb_sc_search-form .button,
  .mphb_widget_search-form input[type=submit],
  .mphb_widget_search-form button.button,
  .mphb_widget_search-form a.button,
  .mphb_widget_search-form .button {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=submit],
  .mphb_sc_search-form button.button,
  .mphb_sc_search-form a.button,
  .mphb_sc_search-form .button,
  .mphb_widget_search-form input[type=submit],
  .mphb_widget_search-form button.button,
  .mphb_widget_search-form a.button,
  .mphb_widget_search-form .button {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.mphb_sc_search-form input[type=submit]::after,
.mphb_sc_search-form button.button::after,
.mphb_sc_search-form a.button::after,
.mphb_sc_search-form .button::after,
.mphb_widget_search-form input[type=submit]::after,
.mphb_widget_search-form button.button::after,
.mphb_widget_search-form a.button::after,
.mphb_widget_search-form .button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=submit]::after,
  .mphb_sc_search-form button.button::after,
  .mphb_sc_search-form a.button::after,
  .mphb_sc_search-form .button::after,
  .mphb_widget_search-form input[type=submit]::after,
  .mphb_widget_search-form button.button::after,
  .mphb_widget_search-form a.button::after,
  .mphb_widget_search-form .button::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form input[type=submit]::after,
  .mphb_sc_search-form button.button::after,
  .mphb_sc_search-form a.button::after,
  .mphb_sc_search-form .button::after,
  .mphb_widget_search-form input[type=submit]::after,
  .mphb_widget_search-form button.button::after,
  .mphb_widget_search-form a.button::after,
  .mphb_widget_search-form .button::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.mphb_sc_search-form input[type=submit]:hover,
.mphb_sc_search-form button.button:hover,
.mphb_sc_search-form a.button:hover,
.mphb_sc_search-form .button:hover,
.mphb_widget_search-form input[type=submit]:hover,
.mphb_widget_search-form button.button:hover,
.mphb_widget_search-form a.button:hover,
.mphb_widget_search-form .button:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.mphb_sc_search-form input[type=submit]:hover::after,
.mphb_sc_search-form button.button:hover::after,
.mphb_sc_search-form a.button:hover::after,
.mphb_sc_search-form .button:hover::after,
.mphb_widget_search-form input[type=submit]:hover::after,
.mphb_widget_search-form button.button:hover::after,
.mphb_widget_search-form a.button:hover::after,
.mphb_widget_search-form .button:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form input[type=submit]:hover::after,
  .mphb_sc_search-form button.button:hover::after,
  .mphb_sc_search-form a.button:hover::after,
  .mphb_sc_search-form .button:hover::after,
  .mphb_widget_search-form input[type=submit]:hover::after,
  .mphb_widget_search-form button.button:hover::after,
  .mphb_widget_search-form a.button:hover::after,
  .mphb_widget_search-form .button:hover::after {
    right: 26rem;
  }
}
.mphb_sc_search-form input[type=submit],
.mphb_sc_search-form button.button,
.mphb_sc_search-form a.button,
.mphb_sc_search-form .button,
.mphb_widget_search-form input[type=submit],
.mphb_widget_search-form button.button,
.mphb_widget_search-form a.button,
.mphb_widget_search-form .button {
  cursor: pointer;
  text-decoration: none;
}
.mphb_sc_search-form input[type=submit]::after,
.mphb_sc_search-form button.button::after,
.mphb_sc_search-form a.button::after,
.mphb_sc_search-form .button::after,
.mphb_widget_search-form input[type=submit]::after,
.mphb_widget_search-form button.button::after,
.mphb_widget_search-form a.button::after,
.mphb_widget_search-form .button::after {
  display: none;
}
.mphb_sc_search-form,
.mphb_widget_search-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
  column-gap: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form,
  .mphb_widget_search-form {
    column-gap: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form,
  .mphb_widget_search-form {
    column-gap: 24rem;
  }
}
.mphb_sc_search-form,
.mphb_widget_search-form {
  row-gap: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form,
  .mphb_widget_search-form {
    row-gap: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form,
  .mphb_widget_search-form {
    row-gap: 28rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form,
  .mphb_widget_search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.mphb_sc_search-form p,
.mphb_widget_search-form p {
  margin: 0;
}
.mphb_sc_search-form .mphb-required-fields-tip,
.mphb_widget_search-form .mphb-required-fields-tip {
  display: none;
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper,
  .mphb_sc_search-form .mphb_widget_search-submit-button-wrapper,
  .mphb_widget_search-form .mphb_sc_search-submit-button-wrapper,
  .mphb_widget_search-form .mphb_widget_search-submit-button-wrapper {
    grid-column: 1/-1;
    text-align: center;
  }
}
.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
.mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
.mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
.mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
  width: 180px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
    width: 180rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
    width: 440rem;
  }
}
.mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
.mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
.mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
.mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
  height: 48px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
    height: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_sc_search-form .mphb_widget_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_sc_search-submit-button-wrapper input[type=submit],
  .mphb_widget_search-form .mphb_widget_search-submit-button-wrapper input[type=submit] {
    height: 88rem;
  }
}

.mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
    padding: 44rem;
  }
}
.mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
    margin-bottom: 40rem;
  }
}
.mphb_sc_search_results-wrapper .mphb_sc_search_results-info {
  color: var(--color-main-text);
  text-align: center;
  letter-spacing: 0.08em;
}
.mphb_sc_search_results-wrapper .mphb-recommendation-title,
.mphb_sc_search_results-wrapper .mphb-room-type-title {
  margin: 0;
  color: var(--color-main-text);
  font-family: var(--font-mincho);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.6;
  font-size: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-title,
  .mphb_sc_search_results-wrapper .mphb-room-type-title {
    font-size: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-title,
  .mphb_sc_search_results-wrapper .mphb-room-type-title {
    font-size: 34rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-title,
.mphb_sc_search_results-wrapper .mphb-room-type-title {
  margin-bottom: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-title,
  .mphb_sc_search_results-wrapper .mphb-room-type-title {
    margin-bottom: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-title,
  .mphb_sc_search_results-wrapper .mphb-room-type-title {
    margin-bottom: 32rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-title a,
.mphb_sc_search_results-wrapper .mphb-room-type-title a {
  color: inherit;
  text-decoration: none;
}
.mphb_sc_search_results-wrapper .mphb-recommendation,
.mphb_sc_search_results-wrapper .mphb-reservation-cart {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation,
  .mphb_sc_search_results-wrapper .mphb-reservation-cart {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation,
  .mphb_sc_search_results-wrapper .mphb-reservation-cart {
    padding: 44rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation,
.mphb_sc_search_results-wrapper .mphb-reservation-cart {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation,
  .mphb_sc_search_results-wrapper .mphb-reservation-cart {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation,
  .mphb_sc_search_results-wrapper .mphb-reservation-cart {
    margin-bottom: 40rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-details-list {
  list-style: none;
  margin-bottom: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list {
    margin-bottom: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list {
    margin-bottom: 24rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
  border-bottom: 1px solid var(--color-border);
  padding-top: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
    padding-top: 20rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
  padding-bottom: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
    padding-bottom: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-details-list li {
    padding-bottom: 20rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-item {
    gap: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-item {
    gap: 12rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommedation-item-subtotal {
  order: 3;
  margin-left: auto;
}
.mphb_sc_search_results-wrapper .mphb-recommendation-item-guests {
  order: 4;
  flex-basis: 100%;
  color: var(--color-secondary-text);
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-item-guests {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-item-guests {
    font-size: 22rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-total,
.mphb_sc_search_results-wrapper .mphb-cart-total-price {
  text-align: right;
  margin-bottom: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-total,
  .mphb_sc_search_results-wrapper .mphb-cart-total-price {
    margin-bottom: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-total,
  .mphb_sc_search_results-wrapper .mphb-cart-total-price {
    margin-bottom: 32rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-total,
.mphb_sc_search_results-wrapper .mphb-cart-total-price {
  font-size: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-total,
  .mphb_sc_search_results-wrapper .mphb-cart-total-price {
    font-size: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-total,
  .mphb_sc_search_results-wrapper .mphb-cart-total-price {
    font-size: 28rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-recommendation-reserve-button,
.mphb_sc_search_results-wrapper .mphb-confirm-reservation {
  display: flex;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-recommendation-reserve-button,
  .mphb_sc_search_results-wrapper .mphb-confirm-reservation {
    margin-right: auto;
  }
}
.mphb_sc_search_results-wrapper .mphb-empty-cart {
  display: none;
}
.mphb_sc_search_results-wrapper .mphb-room-type {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    padding: 44rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    margin-bottom: 40rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type {
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: start;
  column-gap: 36px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    column-gap: 36rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    column-gap: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type {
    grid-template-columns: 1fr;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type > * {
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type > * {
    grid-column: 1;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-loop-room-thumbnail {
  grid-column: 1;
  grid-row: 1/span 20;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-loop-room-thumbnail {
    grid-row: auto;
    margin-bottom: 0px;
  }
}
@media screen and (max-width: 768px) and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-loop-room-thumbnail {
    margin-bottom: 0rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-loop-room-thumbnail {
    margin-bottom: 32rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-loop-room-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  object-fit: cover;
  border-radius: 4px;
}
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
    font-size: 24rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
  margin-bottom: 8px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
    margin-bottom: 12rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-room-type .mphb-room-type-details-title {
  color: var(--color-secondary-text);
  font-family: var(--font-gothic);
}
.mphb_sc_search_results-wrapper .mphb-reserve-room-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    gap: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    gap: 20rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-reserve-room-section {
  margin-top: 8px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_search_results-wrapper .mphb-reserve-room-section {
    margin-top: 16rem;
  }
}
.mphb_sc_search_results-wrapper .mphb-reserve-room-section .mphb-rooms-reservation-message-wrapper {
  flex-basis: 100%;
}

.mphb-loop-room-type-attributes,
.mphb-single-room-type-attributes {
  list-style: none;
  margin-bottom: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb-loop-room-type-attributes,
  .mphb-single-room-type-attributes {
    margin-bottom: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-loop-room-type-attributes,
  .mphb-single-room-type-attributes {
    margin-bottom: 24rem;
  }
}
.mphb-loop-room-type-attributes li,
.mphb-single-room-type-attributes li {
  display: flex;
  gap: 8px;
}
@media screen and (max-width: 1460px) {
  .mphb-loop-room-type-attributes li,
  .mphb-single-room-type-attributes li {
    gap: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-loop-room-type-attributes li,
  .mphb-single-room-type-attributes li {
    gap: 12rem;
  }
}
.mphb-loop-room-type-attributes li,
.mphb-single-room-type-attributes li {
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .mphb-loop-room-type-attributes li,
  .mphb-single-room-type-attributes li {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-loop-room-type-attributes li,
  .mphb-single-room-type-attributes li {
    font-size: 24rem;
  }
}
.mphb-loop-room-type-attributes .mphb-attribute-title,
.mphb-single-room-type-attributes .mphb-attribute-title {
  color: var(--color-secondary-text);
}

.mphb-regular-price {
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .mphb-regular-price {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-regular-price {
    font-size: 26rem;
  }
}
.mphb-regular-price strong {
  font-weight: 400;
  color: var(--color-secondary-text);
}
.mphb-regular-price .mphb-price {
  color: var(--color-main-text);
  font-family: var(--font-english);
  font-size: 22px;
}
@media screen and (max-width: 1460px) {
  .mphb-regular-price .mphb-price {
    font-size: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-regular-price .mphb-price {
    font-size: 38rem;
  }
}

.mphb-price-period {
  color: var(--color-secondary-text);
  text-decoration: none;
  border: 0;
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .mphb-price-period {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-price-period {
    font-size: 22rem;
  }
}

.mphb_sc_checkout-form .mphb-checkout-section {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-checkout-section {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-checkout-section {
    padding: 44rem;
  }
}
.mphb_sc_checkout-form .mphb-checkout-section {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-checkout-section {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-checkout-section {
    margin-bottom: 40rem;
  }
}
.mphb_sc_checkout-form .mphb-check-in-date,
.mphb_sc_checkout-form .mphb-check-out-date {
  display: inline-block;
  margin-right: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-check-in-date,
  .mphb_sc_checkout-form .mphb-check-out-date {
    margin-right: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-check-in-date,
  .mphb_sc_checkout-form .mphb-check-out-date {
    margin-right: 40rem;
  }
}
.mphb_sc_checkout-form .mphb-room-details {
  border-top: 1px solid var(--color-border);
  padding-top: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-room-details {
    padding-top: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-room-details {
    padding-top: 32rem;
  }
}
.mphb_sc_checkout-form .mphb-room-details {
  margin-top: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-room-details {
    margin-top: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-room-details {
    margin-top: 20rem;
  }
}
.mphb_sc_checkout-form .mphb-room-number {
  font-size: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-room-number {
    font-size: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-room-number {
    font-size: 28rem;
  }
}
.mphb_sc_checkout-form .mphb-adults-chooser,
.mphb_sc_checkout-form .mphb-children-chooser,
.mphb_sc_checkout-form .mphb-guest-name-wrapper {
  margin-bottom: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-adults-chooser,
  .mphb_sc_checkout-form .mphb-children-chooser,
  .mphb_sc_checkout-form .mphb-guest-name-wrapper {
    margin-bottom: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-adults-chooser,
  .mphb_sc_checkout-form .mphb-children-chooser,
  .mphb_sc_checkout-form .mphb-guest-name-wrapper {
    margin-bottom: 24rem;
  }
}
.mphb_sc_checkout-form .mphb-customer-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-customer-details {
    column-gap: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-customer-details {
    column-gap: 0rem;
  }
}
.mphb_sc_checkout-form .mphb-customer-details {
  row-gap: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-customer-details {
    row-gap: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-customer-details {
    row-gap: 28rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-customer-details {
    grid-template-columns: 1fr;
  }
}
.mphb_sc_checkout-form .mphb-customer-details > * {
  margin: 0;
}
.mphb_sc_checkout-form .mphb-customer-details > h3,
.mphb_sc_checkout-form .mphb-customer-details .mphb-required-fields-tip,
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-email,
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-address1,
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-note,
.mphb_sc_checkout-form .mphb-customer-details .mphb-login-form-wrap,
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-create-account {
  grid-column: 1/-1;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-last-name {
  order: 1;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-name {
  order: 2;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-email {
  order: 3;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-phone {
  order: 4;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-country {
  order: 5;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-zip {
  order: 6;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-state {
  order: 7;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-city {
  order: 8;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-address1 {
  order: 9;
}
.mphb_sc_checkout-form .mphb-customer-details .mphb-customer-note {
  order: 10;
}
.mphb_sc_checkout-form .mphb-required-fields-tip {
  color: var(--color-secondary-text);
  font-size: 12px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-required-fields-tip {
    font-size: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-required-fields-tip {
    font-size: 20rem;
  }
}
.mphb_sc_checkout-form .mphb-gateway-title {
  color: var(--color-main-text);
  font-size: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-gateway-title {
    font-size: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-gateway-title {
    font-size: 28rem;
  }
}
.mphb_sc_checkout-form .mphb-gateway-description {
  color: var(--color-secondary-text);
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-gateway-description {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-gateway-description {
    font-size: 22rem;
  }
}
.mphb_sc_checkout-form .mphb-total-price {
  text-align: right;
  font-size: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-total-price {
    font-size: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-total-price {
    font-size: 28rem;
  }
}
.mphb_sc_checkout-form .mphb-total-price {
  margin-top: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-total-price {
    margin-top: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-total-price {
    margin-top: 24rem;
  }
}
.mphb_sc_checkout-form .mphb-total-price .mphb-price {
  font-family: var(--font-english);
  font-size: 26px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-total-price .mphb-price {
    font-size: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-total-price .mphb-price {
    font-size: 44rem;
  }
}
.mphb_sc_checkout-form .mphb-price-breakdown .mphb-price-breakdown-expand {
  color: var(--color-accent);
}
.mphb_sc_checkout-form .mphb-price-breakdown tfoot th,
.mphb_sc_checkout-form .mphb-price-breakdown tfoot td,
.mphb_sc_checkout-form .mphb-price-breakdown .mphb-price-breakdown-total th {
  color: var(--color-main-text);
  font-weight: 500;
}
.mphb_sc_checkout-form .mphb-errors-wrapper {
  border-left: 3px solid #b5523b;
  background: #fbecea;
  color: #8a3a28;
  padding: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-errors-wrapper {
    padding: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-errors-wrapper {
    padding: 24rem;
  }
}
.mphb_sc_checkout-form .mphb-errors-wrapper {
  margin-top: 16px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-errors-wrapper {
    margin-top: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-errors-wrapper {
    margin-top: 24rem;
  }
}
.mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
  display: flex;
  align-items: center;
  color: var(--color-main-text);
  gap: 10px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
    gap: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
    gap: 16rem;
  }
}
.mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb-terms-and-conditions-accept label {
    font-size: 24rem;
  }
}
.mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper {
  text-align: center;
  margin-top: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper {
    margin-top: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper {
    margin-top: 48rem;
  }
}
.mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
  width: 320px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
    width: 320rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
    width: 520rem;
  }
}
.mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
  height: 56px;
}
@media screen and (max-width: 1460px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
    height: 56rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb_sc_checkout-form .mphb_sc_checkout-submit-wrapper input[type=submit] {
    height: 96rem;
  }
}

.mphb-booking-details-section,
.mphb-payment-details-section {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .mphb-booking-details-section,
  .mphb-payment-details-section {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-booking-details-section,
  .mphb-payment-details-section {
    padding: 44rem;
  }
}
.mphb-booking-details-section,
.mphb-payment-details-section {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .mphb-booking-details-section,
  .mphb-payment-details-section {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-booking-details-section,
  .mphb-payment-details-section {
    margin-bottom: 40rem;
  }
}

.mphb-reservation-submitted-title,
.mphb-booking-confirmation-title {
  margin: 0;
  color: var(--color-main-text);
  font-family: var(--font-mincho);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.6;
  font-size: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb-reservation-submitted-title,
  .mphb-booking-confirmation-title {
    font-size: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-reservation-submitted-title,
  .mphb-booking-confirmation-title {
    font-size: 34rem;
  }
}
.mphb-reservation-submitted-title,
.mphb-booking-confirmation-title {
  margin-bottom: 20px;
}
@media screen and (max-width: 1460px) {
  .mphb-reservation-submitted-title,
  .mphb-booking-confirmation-title {
    margin-bottom: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .mphb-reservation-submitted-title,
  .mphb-booking-confirmation-title {
    margin-bottom: 32rem;
  }
}

.booking-room-page .booking-room {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: start;
  column-gap: 48px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .booking-room {
    column-gap: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .booking-room {
    column-gap: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .booking-room {
    grid-template-columns: 1fr;
  }
}
.booking-room-page .booking-room__img {
  position: sticky;
  top: 120px;
}
@media screen and (max-width: 768px) {
  .booking-room-page .booking-room__img {
    position: static;
    margin-bottom: 0px;
  }
}
@media screen and (max-width: 768px) and (max-width: 1460px) {
  .booking-room-page .booking-room__img {
    margin-bottom: 0rem;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .booking-room-page .booking-room__img {
    margin-bottom: 40rem;
  }
}
.booking-room-page .booking-room__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  object-fit: cover;
  border-radius: 6px;
}
.booking-room-page .mphb-calendar {
  margin-bottom: 32px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .mphb-calendar {
    margin-bottom: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .mphb-calendar {
    margin-bottom: 48rem;
  }
}
.booking-room-page .mphb-calendar .datepick {
  width: 100% !important;
}
.booking-room-page .mphb-booking-form {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .mphb-booking-form {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .mphb-booking-form {
    padding: 44rem;
  }
}
.booking-room-page .mphb-booking-form {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .mphb-booking-form {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .mphb-booking-form {
    margin-bottom: 40rem;
  }
}
.booking-room-page .mphb-booking-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .mphb-booking-form {
    column-gap: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .mphb-booking-form {
    column-gap: 24rem;
  }
}
.booking-room-page .mphb-booking-form {
  row-gap: 16px;
}
@media screen and (max-width: 1460px) {
  .booking-room-page .mphb-booking-form {
    row-gap: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .booking-room-page .mphb-booking-form {
    row-gap: 28rem;
  }
}
.booking-room-page .mphb-booking-form p {
  margin: 0;
}
.booking-room-page .mphb-booking-form .mphb-required-fields-tip,
.booking-room-page .mphb-booking-form .mphb-reserve-btn-wrapper,
.booking-room-page .mphb-booking-form .mphb-errors-wrapper,
.booking-room-page .mphb-booking-form .mphb-period-price,
.booking-room-page .mphb-booking-form .mphb-booking-form-submit {
  grid-column: 1/-1;
}
.booking-room-page .mphb-booking-form .mphb-reserve-btn-wrapper {
  text-align: center;
}

.datepick-popup {
  font-size: 16px;
}

.mphb-calendar {
  font-size: 15px;
}

.mphb-calendar {
  container-type: inline-size;
}

@container (max-width: 520px) {
  .mphb-calendar .mphb-datepicker-peru .datepick-month {
    width: 100%;
  }
}
.datepick-popup .mphb-datepicker-peru {
  font-family: var(--font-gothic);
  border-radius: 6px;
  box-shadow: 0 12px 32px var(--color-shadow);
}
.datepick-popup .mphb-datepicker-peru.datepick {
  width: 31.429em !important;
  max-width: calc(100vw - 24px);
}

.datepick-popup {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 10020 !important;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  border-radius: 8px;
  transform: translate(-50%, -50%);
  animation: nikka-datepick-in 0.2s ease-out;
}

@keyframes nikka-datepick-in {
  from {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 12px));
  }
}
.nikka-datepick-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10010;
  background: rgba(43, 30, 20, 0.55);
  opacity: 0;
  transition: opacity 0.2s;
}
.nikka-datepick-backdrop.is-visible {
  opacity: 1;
}

html.nikka-datepick-open {
  overflow: hidden;
}

.lower-page.reservation-page {
  overflow: hidden;
}
.lower-page.reservation-page h2,
.lower-page.reservation-page h3,
.lower-page.reservation-page h4,
.lower-page.reservation-page p {
  color: var(--color-main-text);
}
.lower-page.reservation-page .reservation-eyebrow {
  display: block;
  font-family: var(--font-english);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-secondary-text);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-eyebrow {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-eyebrow {
    font-size: 20rem;
  }
}
.lower-page.reservation-page .reservation-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 290px;
  height: 50px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-gothic);
  font-size: 15px;
  letter-spacing: 0.2em;
  transition: background-color 0.3s;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-btn {
    width: 290rem;
    height: 50rem;
    padding: 0 48rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-btn {
    width: 440rem;
    height: 88rem;
    font-size: 26rem;
  }
}
.lower-page.reservation-page .reservation-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.3s;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-btn::after {
    right: 32rem;
    width: 7rem;
    height: 7rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-btn::after {
    right: 44rem;
    width: 12rem;
    height: 12rem;
  }
}
.lower-page.reservation-page .reservation-btn:hover {
  background: var(--color-accent-dark);
  color: #fff;
}
.lower-page.reservation-page .reservation-btn:hover::after {
  right: 26px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-btn:hover::after {
    right: 26rem;
  }
}
.lower-page.reservation-page .reservation-hero {
  position: relative;
  display: flex;
  align-items: center;
  aspect-ratio: 5/2;
  min-height: 440px;
  margin-top: 140px;
  padding: 0 0 0 100px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-hero {
    min-height: 440rem;
    margin-top: 140rem;
    padding-left: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-hero {
    aspect-ratio: auto;
    min-height: 640rem;
    margin-top: 100rem;
    padding: 0 40rem;
  }
}
.lower-page.reservation-page .reservation-hero .reservation-hero-img {
  position: absolute;
  inset: 0;
}
.lower-page.reservation-page .reservation-hero .reservation-hero-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(43, 30, 20, 0.62) 0%, rgba(43, 30, 20, 0.3) 45%, rgba(43, 30, 20, 0) 75%);
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-hero .reservation-hero-img::after {
    background: linear-gradient(90deg, rgba(43, 30, 20, 0.62) 0%, rgba(43, 30, 20, 0.35) 100%);
  }
}
.lower-page.reservation-page .reservation-hero .reservation-hero-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: sepia(0.18) saturate(1.05);
}
.lower-page.reservation-page .reservation-hero .reservation-hero-txt {
  position: relative;
  z-index: 1;
}
.lower-page.reservation-page .reservation-hero .reservation-eyebrow {
  color: #fff;
}
.lower-page.reservation-page .reservation-hero .reservation-eyebrow::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  margin: 20px 0 24px;
  background: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-hero .reservation-eyebrow::after {
    width: 32rem;
    margin: 20rem 0 24rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-hero .reservation-eyebrow::after {
    width: 48rem;
    margin: 24rem 0 32rem;
  }
}
.lower-page.reservation-page .reservation-hero h2 {
  margin: 0 0 32px;
  color: #fff;
  font-family: var(--font-mincho);
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-hero h2 {
    font-size: 48rem;
    margin-bottom: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-hero h2 {
    font-size: 54rem;
    margin: 0 0 36rem;
  }
}
.lower-page.reservation-page .reservation-hero p {
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.12em;
  line-height: 2.1;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-hero p {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-hero p {
    font-size: 24rem;
  }
}
.lower-page.reservation-page .reservation-online {
  padding: 60px 0 100px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-online {
    padding: 60rem 0 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-online {
    padding: 60rem 0 100rem;
  }
}
.lower-page.reservation-page .reservation-card {
  display: flex;
  align-items: center;
  gap: 160px;
  padding: 16px 16px 16px 64px;
  max-width: 1080px;
  margin: 0 auto;
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card {
    gap: 160rem;
    padding: 16rem 16rem 16rem 64rem;
    max-width: 1080rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 56rem;
    padding: 20rem 20rem 64rem;
  }
}
.lower-page.reservation-page .reservation-card-txt {
  flex: 0 0 38%;
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-txt {
    flex: none;
    padding: 0 28rem;
  }
}
.lower-page.reservation-page .reservation-card-txt .reservation-eyebrow::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  margin: 18px 0 22px;
  background: var(--color-accent);
  opacity: 0.6;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card-txt .reservation-eyebrow::after {
    width: 32rem;
    margin-top: 18rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-txt .reservation-eyebrow::after {
    width: 48rem;
    margin-top: 24rem;
    margin-bottom: 28rem;
  }
}
.lower-page.reservation-page .reservation-card-txt h3 {
  margin-bottom: 26px;
  font-size: 36px;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card-txt h3 {
    font-size: 36rem;
    margin-bottom: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-txt h3 {
    font-size: 48rem;
    margin-bottom: 32rem;
  }
}
.lower-page.reservation-page .reservation-card-txt .reservation-card-lead {
  margin-bottom: 40px;
  color: var(--color-secondary-text);
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card-txt .reservation-card-lead {
    font-size: 15rem;
    margin-bottom: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-txt .reservation-card-lead {
    font-size: 24rem;
    margin-bottom: 48rem;
  }
}
.lower-page.reservation-page .reservation-card-img {
  position: relative;
  display: flex;
  justify-content: center;
}
.lower-page.reservation-page .reservation-card-img > img:first-child {
  display: block;
  width: 350px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card-img > img:first-child {
    width: 350rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-img > img:first-child {
    width: 450rem;
  }
}
.lower-page.reservation-page .reservation-card-img .reservation-leaf {
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 170px;
  transform: rotate(12deg);
  pointer-events: none;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-card-img .reservation-leaf {
    right: -80rem;
    bottom: -100rem;
    width: 170rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-card-img .reservation-leaf {
    right: -40rem;
    bottom: -110rem;
    width: 200rem;
  }
}
.lower-page.reservation-page .reservation-stay {
  padding-bottom: 100px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-stay {
    padding-bottom: 100rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-stay {
    padding-bottom: 120rem;
  }
}
.lower-page.reservation-page .reservation-stay-head {
  text-align: center;
  margin-bottom: 48px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-stay-head {
    margin-bottom: 48rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-stay-head {
    margin-bottom: 56rem;
  }
}
.lower-page.reservation-page .reservation-stay-head .reservation-eyebrow {
  margin-bottom: 22px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-stay-head .reservation-eyebrow {
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-stay-head .reservation-eyebrow {
    margin-bottom: 28rem;
  }
}
.lower-page.reservation-page .reservation-stay-head h3 {
  margin-bottom: 30px;
  font-size: 30px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-stay-head h3 {
    font-size: 30rem;
    margin-bottom: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-stay-head h3 {
    font-size: 38rem;
    margin-bottom: 36rem;
    line-height: 1.6;
  }
}
.lower-page.reservation-page .reservation-stay-head p:last-child {
  color: var(--color-secondary-text);
  font-size: 15px;
  letter-spacing: 0.08em;
  line-height: 2.1;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-stay-head p:last-child {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-stay-head p:last-child {
    font-size: 24rem;
    text-align: left;
  }
}
.lower-page.reservation-page .reservation-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1200px;
  margin: 0 auto;
  list-style: none;
  background: var(--color-surface);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features {
    max-width: 1200rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features {
    grid-template-columns: 1fr;
  }
}
.lower-page.reservation-page .reservation-features__elem {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 44px 44px 48px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem {
    gap: 28rem;
    padding: 44rem 44rem 48rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem {
    gap: 32rem;
    padding: 56rem 40rem;
  }
}
.lower-page.reservation-page .reservation-features__elem:nth-child(even) {
  border-left: 1px solid var(--color-border);
}
.lower-page.reservation-page .reservation-features__elem:nth-child(n+3) {
  border-top: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem:nth-child(even) {
    border-left: 0;
  }
  .lower-page.reservation-page .reservation-features__elem:not(:first-child) {
    border-top: 1px solid var(--color-border);
  }
}
.lower-page.reservation-page .reservation-features__elem img {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem img {
    width: 44rem;
    height: 44rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem img {
    width: 72rem;
    height: 72rem;
  }
}
.lower-page.reservation-page .reservation-features__elem h4 {
  position: relative;
  margin-bottom: 18px;
  padding-bottom: 14px;
  font-size: 19px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem h4 {
    margin-bottom: 18rem;
    padding-bottom: 14rem;
    font-size: 19rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem h4 {
    margin-bottom: 22rem;
    padding-bottom: 18rem;
    font-size: 30rem;
  }
}
.lower-page.reservation-page .reservation-features__elem h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24px;
  height: 1px;
  background: var(--color-accent);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem h4::after {
    width: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem h4::after {
    width: 36rem;
  }
}
.lower-page.reservation-page .reservation-features__elem p {
  color: var(--color-secondary-text);
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 1.95;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem p {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem p {
    font-size: 22rem;
  }
}
.lower-page.reservation-page .reservation-features__elem .reservation-features__lead {
  margin-bottom: 8px;
  color: var(--color-main-text);
  font-size: 15px;
  letter-spacing: 0.08em;
  line-height: 1.7;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-features__elem .reservation-features__lead {
    margin-bottom: 8rem;
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-features__elem .reservation-features__lead {
    margin-bottom: 12rem;
    font-size: 25rem;
  }
}
.lower-page.reservation-page .reservation-features__body {
  flex: 1;
  min-width: 0;
}
.lower-page.reservation-page .reservation-banner {
  display: flex;
  align-items: center;
  min-height: 400px;
  background: var(--color-secondary-background);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-banner {
    min-height: 400rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner {
    display: block;
  }
}
.lower-page.reservation-page .reservation-banner-img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 64%;
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-img {
    position: relative;
    width: 100%;
    height: 480rem;
  }
}
.lower-page.reservation-page .reservation-banner-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(239, 230, 218, 0) 55%, var(--color-secondary-background) 100%);
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-img::after {
    background: linear-gradient(180deg, rgba(239, 230, 218, 0) 60%, var(--color-secondary-background) 100%);
  }
}
.lower-page.reservation-page .reservation-banner-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 60%;
     object-position: center 60%;
  filter: sepia(0.15);
}
.lower-page.reservation-page .reservation-banner-txt {
  position: relative;
  z-index: 1;
  margin-left: 62%;
  padding: 56px 40px 56px 0;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-banner-txt {
    padding: 56rem 40rem 56rem 0;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-txt {
    margin: 0;
    padding: 16rem 40rem 120rem;
  }
}
.lower-page.reservation-page .reservation-banner-txt .reservation-script {
  margin: 0 0 20px -32px;
  color: var(--color-accent);
  font-family: var(--font-script);
  font-size: 34px;
  line-height: 1.15;
  transform: rotate(-8deg);
  transform-origin: left bottom;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-banner-txt .reservation-script {
    font-size: 34rem;
    margin: 0 0 20rem -32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-txt .reservation-script {
    font-size: 52rem;
    margin: 0 0 32rem;
  }
}
.lower-page.reservation-page .reservation-banner-txt h3 {
  margin-bottom: 22px;
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 1.7;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-banner-txt h3 {
    font-size: 24rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-txt h3 {
    font-size: 36rem;
    margin-bottom: 28rem;
  }
}
.lower-page.reservation-page .reservation-banner-txt p:not(.reservation-script) {
  margin-bottom: 32px;
  color: var(--color-secondary-text);
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-banner-txt p:not(.reservation-script) {
    font-size: 14rem;
    margin-bottom: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-banner-txt p:not(.reservation-script) {
    font-size: 24rem;
    margin-bottom: 44rem;
  }
}
.lower-page.reservation-page .reservation-booking {
  padding-bottom: 110px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking {
    padding-bottom: 110rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking {
    padding-bottom: 130rem;
  }
}
.lower-page.reservation-page .reservation-booking-head {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-head {
    margin-bottom: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-head {
    margin-bottom: 56rem;
  }
}
.lower-page.reservation-page .reservation-booking-head .reservation-eyebrow {
  margin-bottom: 22px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-head .reservation-eyebrow {
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-head .reservation-eyebrow {
    margin-bottom: 28rem;
  }
}
.lower-page.reservation-page .reservation-booking-head h3 {
  letter-spacing: 0.1em;
  font-size: 30px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-head h3 {
    font-size: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-head h3 {
    font-size: 38rem;
  }
}
.lower-page.reservation-page .reservation-booking-head h3 {
  margin-bottom: 26px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-head h3 {
    margin-bottom: 26rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-head h3 {
    margin-bottom: 36rem;
  }
}
.lower-page.reservation-page .reservation-booking-head p:last-child {
  color: var(--color-secondary-text);
  letter-spacing: 0.08em;
  line-height: 2.1;
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-head p:last-child {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-head p:last-child {
    font-size: 24rem;
  }
}
.lower-page.reservation-page .reservation-times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times {
    max-width: 960rem;
  }
}
.lower-page.reservation-page .reservation-times {
  gap: 24px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times {
    gap: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times {
    gap: 20rem;
  }
}
.lower-page.reservation-page .reservation-times {
  margin-bottom: 24px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times {
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times {
    margin-bottom: 32rem;
  }
}
.lower-page.reservation-page .reservation-times .reservation-times__item {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 4px;
  text-align: center;
}
.lower-page.reservation-page .reservation-times .reservation-times__item {
  padding: 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times .reservation-times__item {
    padding: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times .reservation-times__item {
    padding: 28rem;
  }
}
.lower-page.reservation-page .reservation-times dt {
  display: block;
  font-family: var(--font-english);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-secondary-text);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times dt {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times dt {
    font-size: 20rem;
  }
}
.lower-page.reservation-page .reservation-times dt {
  color: var(--color-accent);
}
.lower-page.reservation-page .reservation-times dt {
  margin-bottom: 4px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times dt {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times dt {
    margin-bottom: 6rem;
  }
}
.lower-page.reservation-page .reservation-times dd {
  color: var(--color-secondary-text);
  letter-spacing: 0.08em;
}
.lower-page.reservation-page .reservation-times dd {
  font-size: 15px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times dd {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times dd {
    font-size: 22rem;
  }
}
.lower-page.reservation-page .reservation-times dd strong {
  color: var(--color-main-text);
  font-family: var(--font-english);
  font-weight: 400;
  letter-spacing: 0.04em;
}
.lower-page.reservation-page .reservation-times dd strong {
  font-size: 34px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times dd strong {
    font-size: 34rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times dd strong {
    font-size: 48rem;
  }
}
.lower-page.reservation-page .reservation-times dd strong {
  margin-left: 8px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-times dd strong {
    margin-left: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-times dd strong {
    margin-left: 10rem;
  }
}
.lower-page.reservation-page .reservation-plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plans {
    max-width: 960rem;
  }
}
.lower-page.reservation-page .reservation-plans {
  gap: 24px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plans {
    gap: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plans {
    gap: 28rem;
  }
}
.lower-page.reservation-page .reservation-plans {
  margin-bottom: 32px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plans {
    margin-bottom: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plans {
    margin-bottom: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plans {
    grid-template-columns: 1fr;
  }
}
.lower-page.reservation-page .reservation-plan {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-top: 2px solid var(--color-accent);
  border-radius: 4px;
  text-align: center;
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan {
    padding: 44rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__period {
  display: block;
  font-family: var(--font-english);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--color-secondary-text);
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__period {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__period {
    font-size: 20rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__period {
  color: var(--color-accent);
  margin-bottom: 10px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__period {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__period {
    margin-bottom: 14rem;
  }
}
.lower-page.reservation-page .reservation-plan h4 {
  letter-spacing: 0.14em;
  font-size: 22px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan h4 {
    font-size: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan h4 {
    font-size: 36rem;
  }
}
.lower-page.reservation-page .reservation-plan h4 {
  margin-bottom: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan h4 {
    margin-bottom: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan h4 {
    margin-bottom: 20rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__price {
  color: var(--color-secondary-text);
  letter-spacing: 0.08em;
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price {
    font-size: 24rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__price {
  margin-bottom: 12px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price {
    margin-bottom: 16rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
  color: var(--color-main-text);
  font-family: var(--font-english);
  font-weight: 400;
  letter-spacing: 0.04em;
  font-size: 30px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
    font-size: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
    font-size: 50rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
  margin-left: 6px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
    margin-left: 6rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__price strong {
    margin-left: 10rem;
  }
}
.lower-page.reservation-page .reservation-plan .reservation-plan__detail {
  color: var(--color-secondary-text);
  line-height: 1.9;
  font-size: 13px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__detail {
    font-size: 13rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-plan .reservation-plan__detail {
    font-size: 22rem;
  }
}
.lower-page.reservation-page .reservation-booking-form {
  background: var(--color-surface);
  box-shadow: 0 10px 30px var(--color-shadow);
  border-radius: 6px;
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-form {
    max-width: 960rem;
  }
}
.lower-page.reservation-page .reservation-booking-form {
  padding: 32px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-form {
    padding: 32rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-form {
    padding: 40rem;
  }
}
.lower-page.reservation-page .reservation-booking-note {
  max-width: 960px;
  margin: 0 auto;
  color: var(--color-secondary-text);
  line-height: 2;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-note {
    max-width: 960rem;
  }
}
.lower-page.reservation-page .reservation-booking-note {
  margin-top: 20px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-note {
    margin-top: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-note {
    margin-top: 28rem;
  }
}
.lower-page.reservation-page .reservation-booking-note {
  font-size: 12px;
}
@media screen and (max-width: 1460px) {
  .lower-page.reservation-page .reservation-booking-note {
    font-size: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.reservation-page .reservation-booking-note {
    font-size: 20rem;
  }
}

.room-page .room-private,
.room-page .room-morning,
.room-page .room-brown {
  padding: 132px 0;
}
@media screen and (max-width: 1460px) {
  .room-page .room-private,
  .room-page .room-morning,
  .room-page .room-brown {
    padding: 132rem 0;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-private,
  .room-page .room-morning,
  .room-page .room-brown {
    padding: 92rem 0;
  }
}
.room-page .room-private .container,
.room-page .room-morning .container,
.room-page .room-brown .container {
  display: grid;
  align-items: center;
  gap: 86px;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
}
@media screen and (max-width: 1460px) {
  .room-page .room-private .container,
  .room-page .room-morning .container,
  .room-page .room-brown .container {
    gap: 86rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-private .container,
  .room-page .room-morning .container,
  .room-page .room-brown .container {
    display: flex;
    flex-direction: column;
    gap: 48rem;
  }
}
.room-page .room-private h3,
.room-page .room-morning h3,
.room-page .room-brown h3 {
  border-left: 2px solid var(--color-accent);
  color: var(--color-main-text);
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  margin-bottom: 30px;
  padding-left: 25px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-private h3,
  .room-page .room-morning h3,
  .room-page .room-brown h3 {
    font-size: 35rem;
    margin-bottom: 30rem;
    padding-left: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-private h3,
  .room-page .room-morning h3,
  .room-page .room-brown h3 {
    font-size: 38rem;
    line-height: 1.55;
    margin-bottom: 24rem;
    padding-left: 20rem;
  }
}
.room-page .room-private p,
.room-page .room-morning p,
.room-page .room-brown p {
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 2.25;
}
@media screen and (max-width: 1460px) {
  .room-page .room-private p,
  .room-page .room-morning p,
  .room-page .room-brown p {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-private p,
  .room-page .room-morning p,
  .room-page .room-brown p {
    font-size: 24rem;
    line-height: 2.05;
    letter-spacing: 0.03em;
  }
}
.room-page .room-private-txt,
.room-page .room-morning-txt,
.room-page .room-brown-txt {
  max-width: 470px;
}
@media screen and (max-width: 768px) {
  .room-page .room-private-txt,
  .room-page .room-morning-txt,
  .room-page .room-brown-txt {
    max-width: none;
    width: 100%;
  }
}
.room-page .room-private-img,
.room-page .room-morning-img,
.room-page .room-brown-img {
  position: relative;
}
.room-page .room-private-img img,
.room-page .room-morning-img img,
.room-page .room-brown-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
}
.room-page .room-private-img,
.room-page .room-brown-img {
  width: 100%;
  max-width: 440px;
  justify-self: end;
}
@media screen and (max-width: 1460px) {
  .room-page .room-private-img,
  .room-page .room-brown-img {
    max-width: 440rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-private-img,
  .room-page .room-brown-img {
    max-width: 80%;
    align-self: center;
  }
}
.room-page .room-private-img img,
.room-page .room-brown-img img {
  aspect-ratio: 0.75;
}
.room-page .room-morning {
  background: var(--color-secondary-background);
}
@media screen and (max-width: 768px) {
  .room-page .room-morning {
    padding-bottom: 100rem;
  }
}
.room-page .room-morning .container {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}
@media screen and (max-width: 768px) {
  .room-page .room-morning-txt {
    order: 1;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-morning-img {
    order: 2;
    width: 100%;
  }
}
.room-page .room-morning-img img {
  margin-left: 30px;
  width: calc(100% - 30px);
}
@media screen and (max-width: 1460px) {
  .room-page .room-morning-img img {
    margin-left: 30rem;
    width: calc(100% - 30rem);
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-morning-img img {
    margin-left: 18rem;
    width: calc(100% - 18rem);
  }
}
.room-page .room-morning-img .decoration-bg,
.room-page .room-brown-img .decoration-bg {
  background: var(--color-border);
  height: 100%;
  left: 0;
  position: absolute;
  top: 26px;
  width: 100%;
}
.room-page .room-brown {
  background: var(--color-secondary-background);
}
.room-page .room-brown .container {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.room-page .room-brown-img {
  justify-self: start;
}
.room-page .room-brown-img img {
  margin: 0 25px;
  width: calc(100% - 50px);
}
@media screen and (max-width: 768px) {
  .room-page .room-brown-img img {
    margin: 0 15rem;
    width: calc(100% - 30rem);
  }
}
.room-page .room-brown-img .decoration-bg.left {
  left: 0;
  top: 38px;
  width: 42%;
}
.room-page .room-brown-img .decoration-bg.right {
  left: auto;
  right: 0;
  top: -22px;
  width: 34%;
}
.room-page .room-wide-img {
  overflow: hidden;
}
.room-page .room-wide-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2.5;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .room-page .room-wide-img img {
    aspect-ratio: 1.3333333333;
  }
}
.room-page .room-features {
  padding: 142px 0 40px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-features {
    padding: 142rem 0 40rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features {
    padding: 90rem 0 24rem;
  }
}
.room-page .room-features ul {
  border-top: 1px solid var(--color-border);
}
.room-page .room-features p {
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 2.25;
}
@media screen and (max-width: 1460px) {
  .room-page .room-features p {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features p {
    font-size: 24rem;
    line-height: 2.05;
    letter-spacing: 0.03em;
  }
}
.room-page .room-features h4 {
  color: var(--color-accent);
  font-size: 28px;
  letter-spacing: 0.12em;
  margin-bottom: 22px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-features h4 {
    font-size: 27rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features h4 {
    font-size: 30rem;
    margin-bottom: 17rem;
  }
}
.room-page .room-features__elem {
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  display: grid;
  gap: 90px;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
  padding: 74px 30px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-features__elem {
    gap: 90rem;
    padding: 74rem 30rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features__elem {
    display: flex;
    flex-direction: column;
    gap: 30rem;
    padding: 54rem 0;
  }
}
.room-page .room-features__elem:nth-child(even) {
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
}
@media screen and (max-width: 768px) {
  .room-page .room-features__elem:nth-child(even) {
    display: flex;
    flex-direction: column;
    gap: 30rem;
    padding: 54rem 0;
  }
}
.room-page .room-features__elem:nth-child(even) .room-features-txt {
  grid-column: 2;
  grid-row: 1;
}
@media screen and (max-width: 768px) {
  .room-page .room-features__elem:nth-child(even) .room-features-txt {
    order: initial;
  }
}
.room-page .room-features__elem:nth-child(even) .room-features-img {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 768px) {
  .room-page .room-features__elem:nth-child(even) .room-features-img {
    order: initial;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features-txt {
    width: 100%;
  }
}
.room-page .room-features-img {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .room-page .room-features-img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-features-img {
    max-width: 80%;
    align-self: center;
  }
}
.room-page .room-features-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}
.room-page .room-spec {
  border-bottom: 1px solid var(--color-accent);
  border-top: 1px solid var(--color-accent);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 34px 0 0;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec {
    margin-top: 34rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec {
    margin-top: 30rem;
  }
}
.room-page .room-spec__item {
  padding: 20px 24px 18px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec__item {
    padding: 20rem 24rem 18rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec__item {
    padding: 22rem 20rem 18rem;
  }
}
.room-page .room-spec__item + .room-page .room-spec__item {
  border-left: 1px solid var(--color-border);
}
.room-page .room-spec dt {
  align-items: baseline;
  color: var(--color-text-3);
  display: flex;
  font-size: 13px;
  gap: 10px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec dt {
    font-size: 13rem;
    gap: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec dt {
    font-size: 20rem;
    gap: 12rem;
  }
}
.room-page .room-spec__en {
  color: var(--color-accent);
  font-family: var(--font-english);
  font-size: 12px;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec__en {
    font-size: 12rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec__en {
    font-size: 19rem;
  }
}
.room-page .room-spec dd {
  align-items: baseline;
  color: var(--color-accent);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-mincho);
  font-size: 16px;
  margin: 8px 0 0;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec dd {
    font-size: 16rem;
    margin-top: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec dd {
    font-size: 24rem;
    margin-top: 8rem;
  }
}
.room-page .room-spec dd strong {
  font-family: var(--font-english);
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.1;
  margin-right: 3px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec dd strong {
    font-size: 40rem;
    margin-right: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec dd strong {
    font-size: 54rem;
    margin-right: 4rem;
  }
}
.room-page .room-spec dd small {
  color: var(--color-text-3);
  font-size: 13px;
  margin-left: 4px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec dd small {
    font-size: 13rem;
    margin-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec dd small {
    font-size: 19rem;
    margin-left: 4rem;
  }
}
.room-page .room-spec__x {
  color: var(--color-text-3);
  margin: 0 10px;
}
@media screen and (max-width: 1460px) {
  .room-page .room-spec__x {
    margin: 0 10rem;
  }
}
@media screen and (max-width: 768px) {
  .room-page .room-spec__x {
    margin: 0 10rem;
  }
}

.term .lower-fv .fv-img .img img {
  -o-object-position: bottom;
     object-position: bottom;
}

.term-content {
  padding: 150px 0;
}
@media screen and (max-width: 1460px) {
  .term-content {
    padding: 150rem 0;
  }
}
.term-content .title {
  text-align: center;
  margin-bottom: 60px;
  font-size: 32px;
  letter-spacing: 0.5em;
}
@media screen and (max-width: 1460px) {
  .term-content .title {
    margin-bottom: 60rem;
  }
}
@media screen and (max-width: 768px) {
  .term-content .title {
    font-size: 46rem;
    margin-bottom: 80rem;
  }
}
.term-content .title p {
  font-size: inherit;
  letter-spacing: inherit;
  margin: 0;
  color: var(--color-main-text);
}
.term-content .content .term__elem {
  margin-bottom: 40px;
}
.term-content .content .term__elem p {
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.08em;
  color: var(--color-main-text);
}
@media screen and (max-width: 768px) {
  .term-content .content .term__elem p {
    font-size: 30rem;
  }
}
.term-content .content .term__elem p span {
  display: inline-block;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .term-content .content .term__elem p span {
    margin-left: 36rem;
  }
}
.term-content .content .term__elem p span.s-txt {
  margin-left: 40px;
}
@media screen and (max-width: 768px) {
  .term-content .content .term__elem p span.s-txt {
    margin-left: 72rem;
  }
}

.facility .facility-content {
  padding: 128px 0 42px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-content {
    padding: 128rem 0 42rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-content {
    padding: 88rem 0 30rem;
  }
}
.facility .lower-title {
  border-left: 2px solid var(--color-accent);
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 24px;
  padding-left: 25px;
}
@media screen and (max-width: 1460px) {
  .facility .lower-title {
    font-size: 35rem;
    margin-bottom: 30rem;
    padding-left: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .lower-title {
    font-size: 38rem;
    line-height: 1.55;
    margin-bottom: 24rem;
    padding-left: 20rem;
  }
}
.facility .lower-lead {
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 2.25;
  margin-bottom: 66px;
}
@media screen and (max-width: 1460px) {
  .facility .lower-lead {
    font-size: 16rem;
    margin-bottom: 66rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .lower-lead {
    font-size: 24rem;
    line-height: 2.05;
    margin-bottom: 52rem;
  }
}
.facility .facility-block {
  margin-bottom: 82px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-block {
    margin-bottom: 82rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-block {
    margin-bottom: 62rem;
  }
}
.facility .facility-heading {
  color: var(--color-accent);
  font-size: 27px;
  letter-spacing: 0.12em;
  margin-bottom: 22px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-heading {
    font-size: 27rem;
    margin-bottom: 22rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-heading {
    font-size: 30rem;
    margin-bottom: 17rem;
  }
}
.facility .facility-table {
  border-collapse: collapse;
  border-top: 1px solid var(--color-border);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .facility .facility-table {
    display: block;
    overflow-x: auto;
  }
}
.facility .facility-table th,
.facility .facility-table td {
  border-bottom: 1px solid var(--color-border);
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.9;
  padding: 21px 24px;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 1460px) {
  .facility .facility-table th,
  .facility .facility-table td {
    font-size: 15rem;
    padding: 21rem 24rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-table th,
  .facility .facility-table td {
    font-size: 23rem;
    line-height: 1.8;
    min-width: 190rem;
    padding: 18rem 16rem;
  }
}
.facility .facility-table th {
  background: var(--color-secondary-background);
  font-family: var(--font-mincho);
  font-weight: 400;
  width: 27%;
}
@media screen and (max-width: 768px) {
  .facility .facility-table td {
    min-width: 390rem;
  }
}
.facility .facility-plan {
  margin: 0 auto 94px;
  max-width: 980px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-plan {
    margin-bottom: 94rem;
    max-width: 980rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-plan {
    margin-bottom: 68rem;
  }
}
.facility .building-detail-slide-main {
  border: 1px solid var(--color-border);
  background: #fff;
}
.facility .building-detail-slide-main .slide__elem img {
  display: block;
  height: 480px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1460px) {
  .facility .building-detail-slide-main .slide__elem img {
    height: 480rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .building-detail-slide-main .slide__elem img {
    height: 300rem;
  }
}
.facility .building-detail-slide-nav {
  display: flex;
  gap: 14px;
  margin-top: 16px;
}
@media screen and (max-width: 1460px) {
  .facility .building-detail-slide-nav {
    gap: 14rem;
    margin-top: 16rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .building-detail-slide-nav {
    gap: 10rem;
    margin-top: 10rem;
  }
}
.facility .building-detail-slide-nav .slide__elem {
  flex: 0 0 96px;
  border: 1px solid var(--color-border);
  background: #fff;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1460px) {
  .facility .building-detail-slide-nav .slide__elem {
    flex-basis: 96rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .building-detail-slide-nav .slide__elem {
    flex-basis: 120rem;
  }
}
.facility .building-detail-slide-nav .slide__elem img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-fit: contain;
     object-fit: contain;
}
.facility .building-detail-slide-nav .slide__elem:hover, .facility .building-detail-slide-nav .slide__elem:focus-visible, .facility .building-detail-slide-nav .slide__elem.is-active {
  opacity: 1;
}
.facility .facility-service {
  align-items: center;
  background: var(--color-secondary-background);
  display: grid;
  gap: 75px;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  margin: 100px 0 110px;
  padding: 62px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-service {
    gap: 75rem;
    margin: 100rem 0 110rem;
    padding: 62rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-service {
    display: flex;
    flex-direction: column;
    gap: 34rem;
    margin: 72rem 0 78rem;
    padding: 38rem 28rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-service-txt {
    width: 100%;
  }
}
.facility .facility-service-txt dl {
  display: grid;
  font-size: 15px;
  grid-template-columns: 150px 1fr;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 1460px) {
  .facility .facility-service-txt dl {
    font-size: 15rem;
    grid-template-columns: 150rem 1fr;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-service-txt dl {
    font-size: 23rem;
    grid-template-columns: 180rem 1fr;
  }
}
.facility .facility-service-txt dt,
.facility .facility-service-txt dd {
  border-bottom: 1px solid var(--color-border);
  padding: 12px 0;
}
.facility .facility-service-txt dt {
  color: var(--color-accent);
  font-family: var(--font-mincho);
}
.facility .facility-note {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.9;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .facility .facility-note {
    font-size: 21rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-service-img {
    width: 100%;
  }
}
.facility .facility-service-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}
.facility .facility-attention {
  border-top: 1px solid var(--color-border);
  padding-top: 66px;
}
@media screen and (max-width: 1460px) {
  .facility .facility-attention {
    padding-top: 66rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-attention {
    padding-top: 50rem;
  }
}
.facility .facility-attention > ul {
  list-style: none;
  margin: 35px 0 0;
}
@media screen and (max-width: 1460px) {
  .facility .facility-attention > ul {
    margin-top: 35rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-attention > ul {
    margin-top: 28rem;
  }
}
.facility .facility-attention > ul > li {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2.1;
  padding-left: 1.3em;
  position: relative;
}
@media screen and (max-width: 1460px) {
  .facility .facility-attention > ul > li {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .facility-attention > ul > li {
    font-size: 23rem;
    line-height: 2;
  }
}
.facility .facility-attention > ul > li::before {
  color: var(--color-accent);
  content: "—";
  left: 0;
  position: absolute;
}
.facility .cancel-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 10px;
}
@media screen and (max-width: 1460px) {
  .facility .cancel-list {
    gap: 8rem 24rem;
    margin-top: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .cancel-list {
    display: block;
    margin-top: 8rem;
  }
}
.facility .cancel-list li {
  color: var(--color-secondary-text);
  font-size: 14px;
}
@media screen and (max-width: 1460px) {
  .facility .cancel-list li {
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .facility .cancel-list li {
    font-size: 22rem;
    line-height: 1.9;
  }
}

.lower-page.access {
  --u: 1px;
  background-color: var(--color-primary-background);
}
@media screen and (max-width: 1460px) {
  .lower-page.access {
    --u: 0.0684931507vw;
  }
}
@media screen and (max-width: 768px) {
  .lower-page.access {
    --u: 0.1302083333vw;
  }
}

.access .access-title {
  font-family: var(--font-mincho);
  font-size: calc(24 * var(--u));
  letter-spacing: calc(6 * var(--u));
  text-align: center;
  margin-bottom: calc(50 * var(--u));
}
@media screen and (max-width: 768px) {
  .access .access-title {
    font-size: calc(34 * var(--u));
  }
}
.access .access-map {
  padding-top: calc(110 * var(--u));
}
.access .access-map .map {
  height: calc(560 * var(--u));
}
.access .access-info {
  padding-top: calc(80 * var(--u));
  text-align: center;
}
.access .access-info .container {
  max-width: calc(1000 * var(--u));
}
.access .access-logo img {
  width: calc(150 * var(--u));
}
@media screen and (max-width: 768px) {
  .access .access-logo img {
    width: calc(260 * var(--u));
  }
}
.access .access-address {
  font-size: calc(15 * var(--u));
  letter-spacing: calc(2 * var(--u));
  line-height: 2.4;
}
@media screen and (max-width: 768px) {
  .access .access-address {
    font-size: calc(24 * var(--u));
  }
}
.access .access-address.tel {
  margin-bottom: calc(60 * var(--u));
}
.access .access-route,
.access .rental-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(50 * var(--u)) calc(70 * var(--u));
  text-align: left;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .access .access-route,
  .access .rental-list {
    grid-template-columns: minmax(0, 1fr);
  }
}
.access .access-route h4,
.access .rental-list h4 {
  font-size: calc(17 * var(--u));
  letter-spacing: calc(4 * var(--u));
  padding-bottom: calc(14 * var(--u));
  margin-bottom: calc(22 * var(--u));
  border-bottom: 1px solid var(--color-border);
}
@media screen and (max-width: 768px) {
  .access .access-route h4,
  .access .rental-list h4 {
    font-size: calc(28 * var(--u));
  }
}
.access .access-route p,
.access .rental-list p {
  font-size: calc(14 * var(--u));
  line-height: 2.1;
}
@media screen and (max-width: 768px) {
  .access .access-route p,
  .access .rental-list p {
    font-size: calc(24 * var(--u));
  }
}
.access .access-route .note {
  margin-top: calc(10 * var(--u));
}
.access .access-rental {
  padding-top: calc(110 * var(--u));
}
.access .rental-box {
  background: var(--color-secondary-background);
  padding: calc(18 * var(--u)) calc(20 * var(--u));
  margin-top: calc(16 * var(--u));
}
.access .rental-more {
  display: block;
  text-align: right;
  font-size: calc(13 * var(--u));
  margin-top: calc(8 * var(--u));
}
@media screen and (max-width: 768px) {
  .access .rental-more {
    font-size: calc(22 * var(--u));
  }
}
.access .rental-more::before {
  content: "〈";
  margin-right: calc(4 * var(--u));
}
.access .rental-more::after {
  content: "〉";
  margin-left: calc(4 * var(--u));
}
.access .access-attention {
  padding: calc(110 * var(--u)) 0 calc(60 * var(--u));
}
.access .access-notes {
  max-width: calc(860 * var(--u));
  margin: 0 auto;
}
.access .access-notes li {
  font-size: calc(13 * var(--u));
  line-height: 2.1;
  padding-left: calc(14 * var(--u));
  position: relative;
}
@media screen and (max-width: 768px) {
  .access .access-notes li {
    font-size: calc(22 * var(--u));
  }
}
.access .access-notes li + li {
  margin-top: calc(10 * var(--u));
}
.access .access-notes li::before {
  content: "●";
  position: absolute;
  left: 0;
  font-size: calc(9 * var(--u));
}

.concept-page .concept-intro,
.concept-page .concept-nature,
.concept-page .concept-play {
  padding: 138px 0;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-intro,
  .concept-page .concept-nature,
  .concept-page .concept-play {
    padding: 138rem 0;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro,
  .concept-page .concept-nature,
  .concept-page .concept-play {
    padding: 92rem 0;
  }
}
.concept-page .concept-intro .container,
.concept-page .concept-nature .container,
.concept-page .concept-play .container {
  align-items: center;
  display: grid;
  gap: 95px;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}
.concept-page .concept-intro h3,
.concept-page .concept-nature h3,
.concept-page .concept-play h3 {
  border-left: 2px solid var(--color-accent);
  font-size: 35px;
  letter-spacing: 0.1em;
  line-height: 1.65;
  margin-bottom: 31px;
  padding-left: 25px;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-intro h3,
  .concept-page .concept-nature h3,
  .concept-page .concept-play h3 {
    font-size: 35rem;
    margin-bottom: 30rem;
    padding-left: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro h3,
  .concept-page .concept-nature h3,
  .concept-page .concept-play h3 {
    font-size: 38rem;
    line-height: 1.55;
    margin-bottom: 24rem;
    padding-left: 20rem;
  }
}
.concept-page .concept-intro p,
.concept-page .concept-nature p,
.concept-page .concept-play p {
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 2.25;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-intro p,
  .concept-page .concept-nature p,
  .concept-page .concept-play p {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro p,
  .concept-page .concept-nature p,
  .concept-page .concept-play p {
    font-size: 24rem;
    line-height: 2.05;
    letter-spacing: 0.03em;
  }
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-intro .container,
  .concept-page .concept-nature .container {
    gap: 95rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro .container,
  .concept-page .concept-nature .container {
    display: flex;
    flex-direction: column;
    gap: 48rem;
  }
}
.concept-page .concept-intro-txt,
.concept-page .concept-nature-txt,
.concept-page .concept-play-txt {
  max-width: 510px;
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro-txt,
  .concept-page .concept-nature-txt,
  .concept-page .concept-play-txt {
    max-width: none;
    width: 100%;
  }
}
.concept-page .concept-intro p + p {
  margin-top: 19px;
}
.concept-page .concept-intro-img img,
.concept-page .concept-nature-img img,
.concept-page .concept-play-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
}
.concept-page .concept-intro-img,
.concept-page .concept-nature-img {
  width: 100%;
  max-width: 440px;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-intro-img,
  .concept-page .concept-nature-img {
    max-width: 440rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-intro-img,
  .concept-page .concept-nature-img {
    max-width: 80%;
    align-self: center;
  }
}
.concept-page .concept-intro-img img,
.concept-page .concept-nature-img img {
  aspect-ratio: 0.75;
}
.concept-page .concept-intro-img {
  justify-self: end;
}
.concept-page .concept-nature {
  background: var(--color-secondary-background);
}
.concept-page .concept-nature .container {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}
.concept-page .concept-nature-img,
.concept-page .concept-play-content {
  position: relative;
}
@media screen and (max-width: 768px) {
  .concept-page .concept-nature-img {
    width: 100%;
  }
}
.concept-page .concept-nature-img img {
  margin-left: 30px;
  width: calc(100% - 30px);
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-nature-img img {
    margin-left: 30rem;
    width: calc(100% - 30rem);
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-nature-img img {
    margin-left: 18rem;
    width: calc(100% - 18rem);
  }
}
.concept-page .concept-nature-img .decoration-bg,
.concept-page .concept-play-day .decoration-bg {
  background: var(--color-border);
  height: calc(100% - 22px);
  left: 0;
  position: absolute;
  top: 30px;
  width: 100%;
}
.concept-page .concept-play {
  background: var(--color-secondary-background);
}
.concept-page .concept-play .container {
  display: block;
}
@media screen and (max-width: 768px) {
  .concept-page .concept-play .container {
    display: block;
  }
}
.concept-page .concept-play-txt {
  margin-bottom: 72px;
  max-width: 650px;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-play-txt {
    margin-bottom: 72rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-play-txt {
    margin-bottom: 48rem;
  }
}
.concept-page .concept-play-content {
  align-items: end;
  display: grid;
  gap: 72px;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-play-content {
    gap: 72rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-play-content {
    display: flex;
    flex-direction: column;
    gap: 36rem;
  }
}
.concept-page .concept-play-day {
  padding: 65px 50px 52px;
  position: relative;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-play-day {
    padding: 65rem 50rem 52rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-play-day {
    padding: 52rem 30rem 38rem;
    width: 100%;
  }
}
.concept-page .concept-play-day .decoration-bg {
  left: 0;
  top: 0;
  width: 100%;
}
.concept-page .concept-play-day p {
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 2.25;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1460px) {
  .concept-page .concept-play-day p {
    font-size: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .concept-page .concept-play-day p {
    font-size: 24rem;
    line-height: 2.05;
    letter-spacing: 0.03em;
  }
}
.concept-page .concept-play-day p:last-child {
  margin-bottom: 0;
}

html.is-loading {
  overflow: hidden;
}

.page-loader {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  transition: opacity 0.9s cubic-bezier(0.65, 0, 0.35, 1), visibility 0.9s;
}
.is-loading .page-loader, .page-loader.is-hidden {
  display: flex;
}
.page-loader[hidden] {
  display: none !important;
}
.page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.page-loader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: page-loader-in 0.8s ease-out backwards;
  transition: transform 0.9s cubic-bezier(0.65, 0, 0.35, 1);
}
.is-hidden .page-loader__inner {
  transform: translateY(-16px);
}
.page-loader__logo {
  display: block;
  width: 200px;
  height: auto;
}
@media screen and (max-width: 1460px) {
  .page-loader__logo {
    width: 200rem;
  }
}
@media screen and (max-width: 768px) {
  .page-loader__logo {
    width: 300rem;
  }
}
.page-loader__percent {
  margin-top: 36px;
  font-size: 14px;
  letter-spacing: 0.2em;
  font-variant-numeric: tabular-nums;
  color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1460px) {
  .page-loader__percent {
    margin-top: 36rem;
    font-size: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .page-loader__percent {
    margin-top: 48rem;
    font-size: 24rem;
  }
}
.page-loader__bar {
  width: 200px;
  height: 1px;
  margin-top: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 1460px) {
  .page-loader__bar {
    width: 200rem;
    margin-top: 14rem;
  }
}
@media screen and (max-width: 768px) {
  .page-loader__bar {
    width: 300rem;
    margin-top: 20rem;
  }
}
.page-loader__bar-fill {
  width: 100%;
  height: 100%;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left center;
}
@media (prefers-reduced-motion: reduce) {
  .page-loader, .page-loader__inner {
    transition-duration: 0.3s;
  }
  .page-loader__inner {
    animation: none;
  }
  .page-loader.is-hidden .page-loader__inner {
    transform: none;
  }
}

@keyframes page-loader-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=style.css.map */@media screen and (min-width: 769px) and (max-width: 1200px) {
  .concept-intro-txt p,
  .concept-nature-txt p,
  .concept-play-txt p,
  .concept-play-day p,
  .room-private-txt p,
  .room-morning-txt p,
  .room-brown-txt p,
  .room-features-txt p,
  .facility .lower-lead,
  .facility .facility-table th,
  .facility .facility-table td,
  .facility-service dl dt,
  .facility-service dl dd,
  .facility-service ul li,
  .facility-attention ul li,
  .access-address,
  .access-route li p,
  .rental-list li p,
  .rental-box p,
  .access-notes li,
  .reservation-hero-txt p,
  .reservation-card-lead,
  .reservation-booking-head p:not(.reservation-eyebrow),
  .reservation-times__item dd,
  .reservation-stay-head p:not(.reservation-eyebrow),
  .reservation-features__lead,
  .reservation-features__body p,
  .reservation-banner-txt p,
  .reservation-plan__detail,
  .reservation-booking-note,
  .booking-content > p,
  .booking-back a,
  .reservation-btn span,
  .reservation-plan__price,
  .to-faq button,
  .room-reservation > a span {
    font-size: 12.5px !important;
  }

  .title h3.en,
  .reservation-eyebrow,
  .booking-eyebrow,
  .room-spec dt,
  .room-spec__en,
  .room-spec dd small,
  .reservation-times__item dt,
  .reservation-plan__period,
  .mphb-price-period,
  .mphb-required-fields-tip small,
  .mphb-attribute-title,
  .mphb-attribute-value,
  .mphb_sc_search-form label,
  .mphb-booking-form label {
    font-size: 11px !important;
  }
  .access-route li h4,
  .rental-list li h4,
  .reservation-features__body h4 {
    font-size: 14px !important;
  }
  .footer .footer-main .container .footer-main__elem .footer-link-main {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  .footer .footer-main .container .footer-main__elem .footer-link-main li a,
  .footer .footer-info p {
    white-space: nowrap;
  }
}
