@charset "UTF-8";
/* import */
/* カラー */
/* レスポンシブ */
/*****STANDART CSS******/
:root {
  --view-size: 1440;
  --content-max-width: 1320px;
  --max-vw: 1360px;
  --vw: 100vw;
  --mv-height: 100vh;
  --header-height: calc(116 / var(--view-size) * var(--vw));
  --mv-main-bottom: 2%;
  --experience-overlap: calc(32 / var(--view-size) * var(--vw));
}

@media screen and (min-width: 769px) {
  :root {
    --vw: min(100vw, var(--max-vw));
  }
}
@supports (height: 100dvh) {
  :root {
    --mv-height: 100dvh;
  }
}
@media screen and (max-width: 768px) {
  :root {
    --view-size: 375;
    --mv-height: 80vh;
    --header-height: calc(60 / var(--view-size) * var(--vw));
  }
}
@supports (height: 85svh) {
  @media screen and (max-width: 768px) {
    :root {
      --mv-height: 80svh;
    }
  }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

main {
  background-color: #fff;
}

abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var,
video {
  margin: 0;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  /******SMOOTH SCROLL ANCHOR******/
}

/*****STANDART CSS******/
/* ---------common--------- */
body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(16 / var(--view-size) * var(--vw));
  color: #231815;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
  width: 100%;
}

a {
  transition: 0.3s;
  text-decoration: none;
  color: #231815;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}

/* パンくずリスト */
.bread {
  width: 100%;
}
.bread .inner {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}
.bread ul {
  display: flex;
}
.bread ul li {
  padding: calc(5 / var(--view-size) * var(--vw));
}
.bread ul li a {
  transition: 0.15s;
}
@media (max-width: 768px) {
  .bread ul li a {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}
.bread ul li a:hover {
  opacity: 0.7;
}
.bread ul li:after {
  content: ">";
  margin-left: calc(10 / var(--view-size) * var(--vw));
  margin-right: calc(10 / var(--view-size) * var(--vw));
}
.bread ul li:last-child:after {
  content: "";
}

/* flex */
.row {
  display: flex;
  flex-wrap: wrap;
}

.between {
  justify-content: space-between;
}

.align_start {
  align-items: flex-start;
}

.align_center {
  align-items: center;
}

.align_end {
  align-items: flex-end;
}

.flex_center {
  justify-content: center;
}

.flex_start {
  justify-content: flex-start;
}

.flex_end {
  justify-content: flex-end;
}

.stretch {
  align-items: stretch;
}

.reverse {
  flex-direction: row-reverse;
}

/* inner */
.inner {
  width: calc(1320 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

/* display */
@media (max-width: 768px) {
  .sp_dn {
    display: none;
  }
}

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

@media (max-width: 768px) {
  .tab_dn {
    display: none;
  }
}

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

.sec_ttl {
  display: flex;
  align-items: center;
  gap: calc(12 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(120 / var(--view-size) * var(--vw));
  font-weight: 200;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #231815;
}
@media (max-width: 768px) {
  .sec_ttl {
    font-size: calc(32 / var(--view-size) * var(--vw));
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.sec_ttl_icon {
  flex-shrink: 0;
  width: calc(16 / var(--view-size) * var(--vw));
  height: calc(16 / var(--view-size) * var(--vw));
  background-color: #918F7E;
}
@media (max-width: 768px) {
  .sec_ttl_icon {
    width: calc(12 / var(--view-size) * var(--vw));
    height: calc(12 / var(--view-size) * var(--vw));
  }
}

.sec_lead {
  font-size: calc(36 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .sec_lead {
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.sec_sub {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .sec_sub {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.sec_head .sec_ttl {
  margin-bottom: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .sec_head .sec_ttl {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}
.sec_head .sec_lead {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .sec_head .sec_lead {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.sec_link {
  display: inline-flex;
  align-items: center;
  gap: calc(12 / var(--view-size) * var(--vw));
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .sec_link {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.sec_link:hover .sec_link_text {
  border-bottom: 1px solid #231815;
  opacity: 1;
}

.sec_link_text {
  border-bottom: 1px solid rgba(35, 24, 21, 0.3);
  padding-bottom: calc(4 / var(--view-size) * var(--vw));
  transition: 0.3s;
}

.sec_link_icon {
  position: relative;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
.sec_link_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.sec_link_icon i {
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1;
}
.sec_link_icon:not(.sec_link_icon--dark)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .sec_link_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
  .sec_link_icon i {
    font-size: calc(10 / var(--view-size) * var(--vw));
  }
}

.sec_link:hover .sec_link_icon:not(.sec_link_icon--dark) img {
  opacity: 0;
}
.sec_link:hover .sec_link_icon:not(.sec_link_icon--dark)::after {
  opacity: 1;
}

/* 日帰り利用可タグ（共通） */
.day_use_tag {
  display: inline-flex;
  gap: calc(8 / var(--view-size) * var(--vw));
  padding: calc(6 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid #8DAFB6;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #8DAFB6;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .day_use_tag {
    gap: calc(6 / var(--view-size) * var(--vw));
    padding: calc(4 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw));
    border-radius: calc(3 / var(--view-size) * var(--vw));
  }
}

.day_use_tag_icon {
  display: block;
  flex-shrink: 0;
  width: calc(22 / var(--view-size) * var(--vw));
  height: calc(22 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .day_use_tag_icon {
    width: calc(16 / var(--view-size) * var(--vw));
    height: calc(16 / var(--view-size) * var(--vw));
  }
}
.day_use_tag_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.day_use_tag_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #8DAFB6;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .day_use_tag_text {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.sec_link_icon--dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: #231815;
  color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
.sec_link_icon--dark i {
  display: block;
  line-height: 1;
}
.sec_link_icon--dark img {
  filter: brightness(0) invert(1);
}

.top_btn {
  position: fixed;
  bottom: calc(30 / var(--view-size) * var(--vw));
  right: calc(30 / var(--view-size) * var(--vw));
  z-index: 100;
  width: calc(65 / var(--view-size) * var(--vw));
  height: calc(65 / var(--view-size) * var(--vw));
  transition: 0.3s;
  opacity: 0;
}
@media (max-width: 768px) {
  .top_btn {
    bottom: calc(90 / var(--view-size) * var(--vw));
    right: calc(20 / var(--view-size) * var(--vw));
  }
}

.top_btn.active {
  opacity: 1;
}

.scroll_area {
  margin-top: calc(var(--mv-height) - var(--experience-overlap));
  padding-top: var(--experience-overlap);
  background-color: transparent;
  position: relative;
  z-index: 10;
  overflow-x: clip;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3000;
  background-color: transparent;
  transition: transform 0.4s ease, background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
}
.header.is-hidden {
  transform: translateY(-100%);
  pointer-events: none;
}
.header .header_inner a {
  color: #fff;
}

.header_inner {
  position: relative;
  z-index: 2600;
  margin: 0 auto;
  padding: calc(30 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .header_inner {
    width: calc(345 / var(--view-size) * var(--vw));
    padding: calc(8 / var(--view-size) * var(--vw)) 0;
  }
}

.header_logo {
  position: relative;
}
.header_logo a {
  display: block;
  position: relative;
  width: calc(247 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .header_logo a {
    width: calc(168 / var(--view-size) * var(--vw));
  }
}

.header_logo_item {
  position: absolute;
  z-index: 2990;
  pointer-events: none;
  height: auto;
  --logo-item-offset-x: calc(40 / var(--view-size) * var(--vw));
  --logo-item-offset-y: calc(28 / var(--view-size) * var(--vw));
  width: calc(60 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .header_logo_item {
    --logo-item-offset-x: calc(22 / var(--view-size) * var(--vw));
    --logo-item-offset-y: calc(6 / var(--view-size) * var(--vw));
    width: calc(40 / var(--view-size) * var(--vw));
  }
}

.is-subpage .header_logo_item {
  display: none;
}

.header_logo_img {
  width: 100%;
  transition: opacity 0.3s;
}

.header_logo_img--scroll {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.header_right {
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .header_right {
    gap: 0;
  }
}

.header_nav {
  display: flex;
  flex-direction: column;
  gap: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .header_nav {
    display: none;
  }
}

.header_nav_list {
  gap: calc(24 / var(--view-size) * var(--vw));
}
.header_nav_list li a {
  font-size: calc(15 / var(--view-size) * var(--vw));
  line-height: 1.6;
  font-weight: 100;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.header_nav_list li a:hover {
  opacity: 0.7;
}

.header_btn_wrap {
  gap: calc(12 / var(--view-size) * var(--vw));
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .header_btn_wrap {
    display: none;
  }
}

.header_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(44 / var(--view-size) * var(--vw));
  padding: calc(10 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  border-radius: calc(100 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  line-height: 1.4;
  white-space: nowrap;
  transition: opacity 0.3s, background-color 0.3s, border-color 0.3s, color 0.3s;
}
.header_btn:hover {
  opacity: 1;
}

.header_btn--member {
  border: 1px solid #fff;
  background-color: transparent;
}

.header_btn--reserve {
  border: 1px solid transparent;
  background-color: rgba(255, 255, 255, 0.25);
}

.header .header_inner .header_btn--member:hover {
  background-color: #fff;
  border-color: #fff;
  color: #231815;
}
.header .header_inner .header_btn--reserve:hover {
  background-color: #fff;
  border-color: #fff;
  color: #231815;
}

.header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(calc(16 / var(--view-size) * var(--vw)));
  -webkit-backdrop-filter: blur(calc(16 / var(--view-size) * var(--vw)));
  box-shadow: 0 calc(4 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) rgba(0, 0, 0, 0.08);
}
.header.is-scrolled .header_inner a {
  color: #231815;
}
.header.is-scrolled .header_logo_img--default {
  opacity: 0;
}
.header.is-scrolled .header_logo_img--scroll {
  opacity: 1;
}
.header.is-scrolled .header_btn--member {
  border-color: #231815;
  color: #231815;
}
.header.is-scrolled .header_inner .header_btn--member:hover {
  background-color: #231815;
  border-color: #231815;
  color: #fff;
}
.header.is-scrolled .header_inner .header_btn--reserve {
  border-color: #231815;
  background-color: #231815;
  color: #fff;
}
.header.is-scrolled .header_inner .header_btn--reserve:hover {
  background-color: transparent;
  border-color: #231815;
  color: #231815;
}
.header.is-scrolled .menu_btn span {
  background-color: #231815;
}

.is-subpage .header .header_inner a {
  color: #231815;
}
.is-subpage .header .header_logo_img--default {
  opacity: 0;
}
.is-subpage .header .header_logo_img--scroll {
  opacity: 1;
}
.is-subpage .header .header_btn--member {
  border-color: #231815;
  color: #231815;
}
.is-subpage .header .header_inner .header_btn--member:hover {
  background-color: #231815;
  border-color: #231815;
  color: #fff;
}
.is-subpage .header .header_inner .header_btn--reserve {
  border-color: #231815;
  background-color: #231815;
  color: #fff;
}
.is-subpage .header .header_inner .header_btn--reserve:hover {
  background-color: transparent;
  border-color: #231815;
  color: #231815;
}
.is-subpage .header .menu_btn span {
  background-color: #231815;
}

.menu_btn {
  display: none;
}
@media (max-width: 768px) {
  .menu_btn {
    display: block;
    width: calc(44 / var(--view-size) * var(--vw));
    height: calc(44 / var(--view-size) * var(--vw));
    position: relative;
    border: none;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
    margin-left: calc(8 / var(--view-size) * var(--vw));
  }
  .menu_btn span {
    display: inline-block;
    height: calc(2 / var(--view-size) * var(--vw));
    width: calc(28 / var(--view-size) * var(--vw));
    background-color: #fff;
    border-radius: calc(10 / var(--view-size) * var(--vw));
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.3s;
  }
  .menu_btn span:nth-child(1) {
    top: calc(14 / var(--view-size) * var(--vw));
  }
  .menu_btn span:nth-child(2) {
    top: calc(21 / var(--view-size) * var(--vw));
  }
  .menu_btn span:nth-child(3) {
    top: calc(28 / var(--view-size) * var(--vw));
  }
}

.nav_sp {
  left: 100%;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100dvh;
  background-color: #fff;
  z-index: 2900;
  transition: left 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
  padding: var(--header-height, calc(72 / var(--view-size) * var(--vw))) calc(30 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.nav_sp_inner {
  width: 100%;
}

.nav_sp_list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.nav_sp_list li a {
  display: block;
  padding: calc(18 / var(--view-size) * var(--vw)) 0;
  color: #231815;
  font-size: calc(15 / var(--view-size) * var(--vw));
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.nav_sp_list li a:hover {
  opacity: 0.7;
}

.nav_sp_btn_wrap {
  display: flex;
  flex-direction: column;
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-top: calc(32 / var(--view-size) * var(--vw));
}

.nav_sp_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(48 / var(--view-size) * var(--vw));
  padding: calc(12 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  border-radius: calc(100 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1.4;
  transition: opacity 0.3s;
}
.nav_sp_btn:hover {
  opacity: 0.7;
}

.nav_sp_btn--member {
  border: 1px solid #231815;
  color: #231815;
}

.nav_sp_btn--reserve {
  border: 1px solid #231815;
  background-color: #231815;
  color: #fff;
}

.open {
  overflow: hidden;
}
@media (max-width: 768px) {
  .open .header_logo_item {
    display: none;
  }
}
.open .header {
  z-index: 3000;
  transform: none !important;
  pointer-events: auto;
}
.open .header .header_inner {
  background-color: #fff;
}
.open .header .header_inner a {
  color: #231815;
}
.open .header .header_inner .header_logo_img--default {
  opacity: 0;
}
.open .header .header_inner .header_logo_img--scroll {
  opacity: 1;
}
.open .nav_sp {
  opacity: 1 !important;
  visibility: visible !important;
  left: 0 !important;
}

.open .menu_btn {
  z-index: 4000;
}
.open .menu_btn span {
  background-color: #231815;
}
.open .menu_btn span:nth-child(1) {
  transform: translateX(-50%) rotate(45deg);
  top: calc(21 / var(--view-size) * var(--vw)) !important;
}
.open .menu_btn span:nth-child(2) {
  opacity: 0;
}
.open .menu_btn span:nth-child(3) {
  transform: translateX(-50%) rotate(-45deg);
  top: calc(21 / var(--view-size) * var(--vw)) !important;
}

.footer {
  background-color: #8b817d;
  color: #fff;
  padding: calc(160 / var(--view-size) * var(--vw)) 0 calc(240 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(32 / var(--view-size) * var(--vw));
  }
}
.footer a:not(.footer_btn) {
  color: #fff;
  transition: opacity 0.3s;
}
.footer a:not(.footer_btn):hover {
  opacity: 0.7;
}
.footer .inner {
  width: calc(1120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .inner {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}
.footer .footer_main {
  gap: calc(40 / var(--view-size) * var(--vw));
  margin-bottom: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_main {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(24 / var(--view-size) * var(--vw));
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
  }
}
.footer .footer_left {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .footer .footer_left {
    display: contents;
  }
}
.footer .footer_logo {
  width: calc(320 / var(--view-size) * var(--vw));
  margin-bottom: calc(216 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_logo {
    order: 1;
    width: calc(168 / var(--view-size) * var(--vw));
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}
.footer .footer_legal {
  display: flex;
  flex-direction: column;
  gap: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_legal {
    order: 4;
    margin-top: calc(24 / var(--view-size) * var(--vw));
  }
}
.footer .footer_legal a {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .footer .footer_legal a {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.footer .footer_right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .footer .footer_right {
    display: contents;
    align-items: flex-start;
    width: auto;
  }
}
.footer .footer_nav {
  display: flex;
  gap: calc(48 / var(--view-size) * var(--vw));
  margin-bottom: calc(60 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_nav {
    order: 2;
    flex-wrap: wrap;
    gap: calc(24 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}
.footer .footer_nav_col {
  display: flex;
  flex-direction: column;
  gap: calc(30 / var(--view-size) * var(--vw));
}
.footer .footer_nav_col a {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .footer .footer_nav_col a {
    font-size: calc(13 / var(--view-size) * var(--vw));
    white-space: normal;
  }
}
.footer .footer_btn_wrap {
  gap: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_btn_wrap {
    order: 3;
    flex-direction: column;
    width: 100%;
  }
}
.footer .footer_btn_wrap .footer_btn--member:hover {
  background-color: #fff;
  border-color: #fff;
  color: #231815;
}
.footer .footer_btn_wrap .footer_btn--reserve:hover {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
.footer .footer_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: calc(44 / var(--view-size) * var(--vw));
  padding: calc(10 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  border-radius: calc(100 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: opacity 0.3s, background-color 0.3s, border-color 0.3s, color 0.3s;
}
.footer .footer_btn:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  .footer .footer_btn {
    width: 100%;
    font-size: calc(13 / var(--view-size) * var(--vw));
    white-space: normal;
  }
}
.footer .footer_btn--member {
  border: 1px solid #fff;
  background-color: transparent;
  color: #fff;
}
.footer .footer_btn--reserve {
  border: 1px solid transparent;
  background-color: #fff;
  color: #231815;
  font-size: calc(15 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_btn--reserve {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}
.footer .footer_bottom {
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}
.footer .footer_info {
  flex: 1;
  min-width: 0;
}
.footer .footer_company {
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_company {
    font-size: calc(11 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}
.footer .footer_copyright small {
  font-size: calc(11 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  opacity: 0.8;
}
@media (max-width: 768px) {
  .footer .footer_copyright small {
    font-size: calc(10 / var(--view-size) * var(--vw));
  }
}
.footer .footer_sns {
  flex-shrink: 0;
  gap: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_sns {
    gap: calc(24 / var(--view-size) * var(--vw));
  }
}
.footer .footer_sns_link {
  gap: calc(12 / var(--view-size) * var(--vw));
}
.footer .footer_sns_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(36 / var(--view-size) * var(--vw));
  height: calc(36 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .footer .footer_sns_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
}
.footer .footer_sns_text {
  font-family: "Outfit", sans-serif;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
}
@media (max-width: 768px) {
  .footer .footer_sns_text {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.mv {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: var(--mv-height);
  min-height: var(--mv-height);
  color: #fff;
  overflow: hidden;
  --vw: 100vw;
}
.mv a {
  color: #fff;
}

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

.mv_overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 0, 0, 0.15);
  pointer-events: none;
}

.mv_slide {
  height: var(--mv-height);
  overflow: hidden;
}
.mv_slide .slick-list,
.mv_slide .slick-track,
.mv_slide .slick-slide,
.mv_slide .slick-slide > div {
  height: 100%;
}

@keyframes mvZoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes mvZoomUpBg {
  0% {
    transform: scale(1.22);
  }
  100% {
    transform: scale(1.08);
  }
}
.mv_slide_item {
  position: relative;
  height: var(--mv-height);
  overflow: hidden;
}

.mv_slide_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.mv_slide_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  transform: scale(1.22);
  filter: blur(calc(6 / var(--view-size) * var(--vw)));
  transform-origin: center center;
}
@media (max-width: 768px) {
  .mv_slide_bg img {
    filter: blur(calc(4 / var(--view-size) * var(--vw)));
  }
}

.mv_slide_main {
  --mv-main-inset: calc(30 / var(--view-size) * var(--vw));
  position: absolute;
  z-index: 1;
  top: var(--header-height);
  right: var(--mv-main-inset);
  bottom: var(--mv-main-bottom);
  left: var(--mv-main-inset);
  height: auto !important;
  overflow: hidden;
  border-radius: calc(8 / var(--view-size) * var(--vw));
}
.mv_slide_main img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  transform: scale(1.15);
  transform-origin: center center;
}
@media (max-width: 768px) {
  .mv_slide_main {
    --mv-main-inset: calc(20 / var(--view-size) * var(--vw));
    top: var(--header-height);
    right: var(--mv-main-inset);
    bottom: var(--mv-main-bottom);
    left: var(--mv-main-inset);
    height: auto !important;
  }
}

.mv_slide .slick-slide.add-animation .mv_slide_main img {
  animation: mvZoomUp 10s linear 0s normal both;
}
.mv_slide .slick-slide.add-animation .mv_slide_bg img {
  animation: mvZoomUpBg 10s linear 0s normal both;
}

.mv_inner {
  position: absolute;
  inset: 0;
  z-index: 3;
  isolation: isolate;
  pointer-events: none;
}
.mv_inner a {
  pointer-events: auto;
}

.mv_top {
  position: absolute;
  z-index: 10;
  top: calc(280 / var(--view-size) * var(--vw));
  right: calc(100 / var(--view-size) * var(--vw));
  text-align: right;
}
@media (max-width: 768px) {
  .mv_top {
    top: auto;
    right: calc(28 / var(--view-size) * var(--vw));
    left: calc(20 / var(--view-size) * var(--vw));
    bottom: calc(176 / var(--view-size) * var(--vw));
    max-width: none;
    width: auto;
    text-align: right;
    padding-top: 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
}

.mv_text {
  display: grid;
  justify-items: end;
  text-align: right;
}

.mv_text_item {
  grid-area: 1/1;
  clip-path: inset(0 0 0 100%);
  pointer-events: none;
  padding-right: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .mv_text_item {
    padding-right: calc(8 / var(--view-size) * var(--vw));
  }
}
.mv_text_item.is-active {
  clip-path: inset(0 0 0 0);
  z-index: 1;
  pointer-events: auto;
}
.mv_text_item.is-entering {
  z-index: 2;
  clip-path: inset(0 100% 0 0);
  animation: mvTextIn 1s cubic-bezier(0.65, 0, 0.35, 1) 1s forwards;
  pointer-events: auto;
}
.mv_text_item.is-leaving {
  z-index: 1;
  clip-path: inset(0 0 0 0);
  animation: mvTextOut 1s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  pointer-events: none;
}

@keyframes mvTextIn {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes mvTextOut {
  0% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .mv_text_item {
    clip-path: none !important;
    animation: none !important;
  }
  .mv_text_item:not(.is-active) {
    visibility: hidden;
  }
}
.mv_open {
  font-family: "Outfit", sans-serif;
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .mv_open {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    letter-spacing: 0.06em;
  }
}
.mv_open .text_large {
  font-size: calc(54 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .mv_open .text_large {
    font-size: calc(26 / var(--view-size) * var(--vw));
  }
}

.mv_catch {
  font-family: "Outfit", sans-serif;
  font-size: calc(132 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .mv_catch {
    font-size: calc(40 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    letter-spacing: 0.02em;
  }
}

.mv_text_item:not(:first-child) .mv_open {
  font-size: calc(48 / var(--view-size) * var(--vw));
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .mv_text_item:not(:first-child) .mv_open {
    font-size: calc(14 / var(--view-size) * var(--vw));
    margin-bottom: calc(6 / var(--view-size) * var(--vw));
    margin-right: 1em;
    letter-spacing: 0.04em;
  }
}
.mv_text_item:not(:first-child) .mv_catch {
  font-size: calc(36 / var(--view-size) * var(--vw));
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .mv_text_item:not(:first-child) .mv_catch {
    font-size: calc(22 / var(--view-size) * var(--vw));
    line-height: 1.45;
    margin-bottom: calc(10 / var(--view-size) * var(--vw));
    letter-spacing: 0.04em;
  }
}
@media (max-width: 768px) {
  .mv_text_item:not(:first-child) .mv_desc {
    margin-right: 0.5em;
  }
}

.mv_desc {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 2;
}
@media (max-width: 768px) {
  .mv_desc {
    font-size: calc(11 / var(--view-size) * var(--vw));
    line-height: 1.75;
    letter-spacing: 0.02em;
  }
}

.mv_title {
  z-index: 4;
  pointer-events: none;
}
@media (max-width: 768px) {
  .mv_title {
    position: absolute;
    bottom: calc(46 / var(--view-size) * var(--vw));
    left: calc(20 / var(--view-size) * var(--vw));
    right: calc(28 / var(--view-size) * var(--vw));
    display: flex;
    flex-direction: column;
    gap: calc(8 / var(--view-size) * var(--vw));
    align-items: flex-start;
    padding-left: env(safe-area-inset-left, 0);
  }
}

.mv_title_sub {
  position: absolute;
  z-index: 4;
  bottom: calc(154 / var(--view-size) * var(--vw));
  left: calc(62 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .mv_title_sub {
    position: static;
    bottom: auto;
    left: auto;
    font-size: calc(10 / var(--view-size) * var(--vw));
    letter-spacing: 0.16em;
    padding-left: calc(13 / var(--view-size) * var(--vw));
  }
}

.mv_title_main {
  position: absolute;
  z-index: 4;
  bottom: calc(48 / var(--view-size) * var(--vw));
  left: calc(62 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  font-size: calc(94 / var(--view-size) * var(--vw));
  line-height: 1;
  color: #fff;
  mix-blend-mode: difference;
}
@media (max-width: 768px) {
  .mv_title_main {
    position: static;
    bottom: auto;
    left: auto;
    max-width: 100%;
    font-size: calc(36 / var(--view-size) * var(--vw));
    letter-spacing: 0.02em;
    padding-left: calc(10 / var(--view-size) * var(--vw));
    padding-bottom: 0;
  }
}

.mv_title_main_initial {
  font-weight: 400;
}

.mv_title_main_rest {
  font-weight: 100;
}

.mv_scroll {
  position: absolute;
  z-index: 3;
  bottom: calc(48 / var(--view-size) * var(--vw));
  right: calc(100 / var(--view-size) * var(--vw));
  display: block;
  font-family: "Outfit", sans-serif;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1;
  transition: opacity 0.3s;
  overflow: hidden;
  height: calc(14 / var(--view-size) * var(--vw));
}
.mv_scroll:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .mv_scroll {
    bottom: calc(16 / var(--view-size) * var(--vw));
    right: calc(28 / var(--view-size) * var(--vw));
    font-size: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
    padding-right: env(safe-area-inset-right, 0);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
}

.mv_scroll_track {
  display: flex;
  flex-direction: column;
  animation: mvScrollDown 10s linear infinite;
}

.mv_scroll_item {
  display: block;
  flex-shrink: 0;
  white-space: nowrap;
}

@keyframes mvScrollDown {
  0%, 18% {
    transform: translateY(-50%);
  }
  21%, 40% {
    transform: translateY(-37.5%);
  }
  43%, 62% {
    transform: translateY(-25%);
  }
  65%, 84% {
    transform: translateY(-12.5%);
  }
  87%, 100% {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .mv_scroll_track {
    animation: none;
  }
  .mv_scroll_window {
    height: auto;
  }
  .mv_scroll_item:not(:first-child) {
    display: none;
  }
}
@media (max-width: 768px) and (max-height: 700px) {
  .mv_text_item:first-child .mv_catch {
    font-size: calc(32 / var(--view-size) * var(--vw));
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
  }
  .mv_text_item:not(:first-child) .mv_open {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-bottom: calc(4 / var(--view-size) * var(--vw));
  }
  .mv_text_item:not(:first-child) .mv_catch {
    font-size: calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
  }
  .mv_desc {
    font-size: calc(10 / var(--view-size) * var(--vw));
    line-height: 1.65;
  }
  .mv_title {
    bottom: calc(42 / var(--view-size) * var(--vw));
  }
  .mv_title_main {
    font-size: calc(30 / var(--view-size) * var(--vw));
  }
  .mv_top {
    bottom: calc(162 / var(--view-size) * var(--vw));
  }
}
.experience {
  position: relative;
  z-index: 1;
  margin-top: calc(-1 * var(--experience-overlap));
  padding: 0 0 calc(100 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: var(--experience-overlap) var(--experience-overlap) 0 0;
  overflow: hidden;
}
.experience .inner {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .experience {
    padding-bottom: calc(64 / var(--view-size) * var(--vw));
  }
}
.experience .experience_point {
  padding-top: calc(80 / var(--view-size) * var(--vw));
  margin-bottom: calc(120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_point {
    padding-top: calc(48 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}
.experience .experience_point_list {
  background: url("../images/top/experience_point_bg.png") center/cover no-repeat;
  border-radius: calc(10 / var(--view-size) * var(--vw));
}
.experience .experience_point_list .experience_point_item {
  border-right: calc(1 / var(--view-size) * var(--vw)) solid #fff;
}
@media (max-width: 768px) {
  .experience .experience_point_list .experience_point_item {
    border-right: none;
  }
}
.experience .experience_point_item {
  position: relative;
  flex: 1;
  min-height: calc(90 / var(--view-size) * var(--vw));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  justify-content: center;
  padding: calc(16 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  text-align: left;
}
.experience .experience_point_item:not(:last-child) {
  border-right: 1px solid #fff;
}
@media (max-width: 768px) {
  .experience .experience_point_item {
    min-height: calc(72 / var(--view-size) * var(--vw));
    padding: calc(14 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  }
  .experience .experience_point_item:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid #fff;
  }
}
.experience .experience_point_en {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-family: "Outfit", sans-serif;
  font-size: calc(52 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
  opacity: 0.3;
  pointer-events: none;
  padding-left: calc(30 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_point_en {
    font-size: calc(42 / var(--view-size) * var(--vw));
    padding-left: calc(16 / var(--view-size) * var(--vw));
  }
}
.experience .experience_point_ja {
  position: relative;
  z-index: 1;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .experience .experience_point_ja {
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}
.experience .experience_head {
  position: relative;
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}
.experience .experience_head_bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.experience .experience_head_bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
@media (max-width: 768px) {
  .experience .experience_head_bg {
    display: none;
  }
}
.experience .experience_head_inner {
  position: relative;
  z-index: 1;
  align-items: flex-start;
  padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_head_inner {
    flex-direction: column;
    gap: calc(20 / var(--view-size) * var(--vw));
    padding: calc(32 / var(--view-size) * var(--vw)) 0 calc(20 / var(--view-size) * var(--vw));
  }
}
.experience .experience_avatar {
  width: calc(200 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_avatar {
    width: calc(160 / var(--view-size) * var(--vw));
    margin: 0 auto;
  }
}
.experience .experience_list {
  gap: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_list {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}
.experience .experience_item:nth-child(-n+3) {
  width: calc((100% - 8 / var(--view-size) * var(--vw) * 2) / 3);
}
.experience .experience_item:nth-child(n+4) {
  width: calc((100% - 8 / var(--view-size) * var(--vw) * 3) / 4);
}
@media (max-width: 768px) {
  .experience .experience_item {
    width: calc((100% - 8 / var(--view-size) * var(--vw)) / 2) !important;
  }
}
.experience .experience_card {
  position: relative;
  display: block;
  height: calc(340 / var(--view-size) * var(--vw));
  overflow: hidden;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
}
.experience .experience_card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.28) 35%, rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.experience .experience_card:hover {
  opacity: 1;
}
.experience .experience_card:hover .experience_card_bg img {
  transform: scale(1.05);
}
.experience .experience_card:hover .experience_card_arrow img {
  opacity: 0;
}
.experience .experience_card:hover .experience_card_arrow::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .experience .experience_card {
    height: calc(200 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.experience .experience_card_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.experience .experience_card_body {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(20 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .experience .experience_card_body {
    padding: calc(12 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: calc(12 / var(--view-size) * var(--vw));
  width: 100%;
  min-height: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_card_top {
    min-height: 0;
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_day {
  flex-shrink: 0;
  margin-right: auto;
  gap: calc(8 / var(--view-size) * var(--vw));
  padding: calc(8 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 2px solid #8DAFB6;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .experience .experience_card_day {
    gap: calc(4 / var(--view-size) * var(--vw));
    padding: calc(4 / var(--view-size) * var(--vw)) calc(6 / var(--view-size) * var(--vw));
    border-width: 1px;
    border-radius: calc(3 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_day_icon {
  display: block;
  flex-shrink: 0;
  width: calc(28 / var(--view-size) * var(--vw));
  height: calc(28 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_card_day_icon {
    width: calc(18 / var(--view-size) * var(--vw));
    height: calc(18 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_day_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.experience .experience_card_day_text {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .experience .experience_card_day_text {
    font-size: calc(10 / var(--view-size) * var(--vw));
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}
.experience .experience_card_ttl {
  display: block;
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: right;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .experience .experience_card_ttl {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.35;
    letter-spacing: 0.02em;
  }
}
.experience .experience_item:nth-child(n+4) .experience_card_ttl {
  font-size: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .experience .experience_item:nth-child(n+4) .experience_card_ttl {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.experience .experience_card_arrow {
  position: relative;
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  background-color: #b0cfd5;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  overflow: hidden;
}
.experience .experience_card_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.experience .experience_card_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .experience .experience_card_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
}
@media (max-width: 768px) {
  .experience .experience_point_list {
    flex-direction: column;
  }
}

/* inner 1360（ONSEN & SAUNA / DINING 用） */
.inner_1360 {
  width: calc(1360 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_1360 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

/* 共通：左画像カラム */
.dining_visual, .onsen_sauna_visual {
  width: calc(856 / var(--view-size) * var(--vw));
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .dining_visual, .onsen_sauna_visual {
    width: 100%;
  }
}

.dining_visual_item, .onsen_sauna_visual_item {
  overflow: hidden;
  margin-bottom: calc(30 / var(--view-size) * var(--vw));
}
.dining_visual_item:last-child, .onsen_sauna_visual_item:last-child {
  margin-bottom: 0;
}
.dining_visual_item img, .onsen_sauna_visual_item img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.dining_visual_item + .dining_visual_item, .onsen_sauna_visual_item + .dining_visual_item, .dining_visual_item + .onsen_sauna_visual_item, .onsen_sauna_visual_item + .onsen_sauna_visual_item {
  margin-top: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_visual_item + .dining_visual_item, .onsen_sauna_visual_item + .dining_visual_item, .dining_visual_item + .onsen_sauna_visual_item, .onsen_sauna_visual_item + .onsen_sauna_visual_item {
    margin-top: calc(8 / var(--view-size) * var(--vw));
  }
}

/* 薄く → スクロールでくっきり */
.dining_visual_item--fade, .onsen_sauna_visual_item--fade {
  position: relative;
}
.dining_visual_item--fade img, .onsen_sauna_visual_item--fade img {
  opacity: 0.2;
  transition: opacity 0.6s ease;
}
.dining_visual_item--fade::after, .onsen_sauna_visual_item--fade::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 100%);
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.6s ease;
}
.is-clear.dining_visual_item--fade img, .is-clear.onsen_sauna_visual_item--fade img {
  opacity: 1;
}
.is-clear.dining_visual_item--fade::after, .is-clear.onsen_sauna_visual_item--fade::after {
  opacity: 0;
}

/* SP：ビジュアルカルーセル */
@media (max-width: 768px) {
  .onsen_sauna_visual.slick-initialized,
  .dining_visual.slick-initialized {
    padding-bottom: calc(8 / var(--view-size) * var(--vw));
  }
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item,
  .onsen_sauna_visual.slick-initialized .dining_visual_item,
  .dining_visual.slick-initialized .onsen_sauna_visual_item,
  .dining_visual.slick-initialized .dining_visual_item {
    margin: 0 !important;
  }
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item + .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item,
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item + .onsen_sauna_visual.slick-initialized .dining_visual_item,
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item + .dining_visual.slick-initialized .onsen_sauna_visual_item,
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item + .dining_visual.slick-initialized .dining_visual_item,
  .onsen_sauna_visual.slick-initialized .dining_visual_item + .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item,
  .onsen_sauna_visual.slick-initialized .dining_visual_item + .onsen_sauna_visual.slick-initialized .dining_visual_item,
  .onsen_sauna_visual.slick-initialized .dining_visual_item + .dining_visual.slick-initialized .onsen_sauna_visual_item,
  .onsen_sauna_visual.slick-initialized .dining_visual_item + .dining_visual.slick-initialized .dining_visual_item,
  .dining_visual.slick-initialized .onsen_sauna_visual_item + .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item,
  .dining_visual.slick-initialized .onsen_sauna_visual_item + .onsen_sauna_visual.slick-initialized .dining_visual_item,
  .dining_visual.slick-initialized .onsen_sauna_visual_item + .dining_visual.slick-initialized .onsen_sauna_visual_item,
  .dining_visual.slick-initialized .onsen_sauna_visual_item + .dining_visual.slick-initialized .dining_visual_item,
  .dining_visual.slick-initialized .dining_visual_item + .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item,
  .dining_visual.slick-initialized .dining_visual_item + .onsen_sauna_visual.slick-initialized .dining_visual_item,
  .dining_visual.slick-initialized .dining_visual_item + .dining_visual.slick-initialized .onsen_sauna_visual_item,
  .dining_visual.slick-initialized .dining_visual_item + .dining_visual.slick-initialized .dining_visual_item {
    margin-top: 0 !important;
  }
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item--fade img,
  .onsen_sauna_visual.slick-initialized .dining_visual_item--fade img,
  .dining_visual.slick-initialized .onsen_sauna_visual_item--fade img,
  .dining_visual.slick-initialized .dining_visual_item--fade img {
    opacity: 1;
  }
  .onsen_sauna_visual.slick-initialized .onsen_sauna_visual_item--fade::after,
  .onsen_sauna_visual.slick-initialized .dining_visual_item--fade::after,
  .dining_visual.slick-initialized .onsen_sauna_visual_item--fade::after,
  .dining_visual.slick-initialized .dining_visual_item--fade::after {
    display: none;
  }
  .onsen_sauna_visual.slick-initialized .slick-dots,
  .dining_visual.slick-initialized .slick-dots {
    position: static;
    display: flex !important;
    justify-content: center;
    gap: calc(8 / var(--view-size) * var(--vw));
    margin: calc(16 / var(--view-size) * var(--vw)) 0 0;
    padding: 0;
    list-style: none;
  }
  .onsen_sauna_visual.slick-initialized .slick-dots li,
  .dining_visual.slick-initialized .slick-dots li {
    width: auto;
    height: auto;
    margin: 0;
  }
  .onsen_sauna_visual.slick-initialized .slick-dots li button,
  .dining_visual.slick-initialized .slick-dots li button {
    width: calc(8 / var(--view-size) * var(--vw));
    height: calc(8 / var(--view-size) * var(--vw));
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: rgba(35, 24, 21, 0.25);
    font-size: 0;
    line-height: 0;
  }
  .onsen_sauna_visual.slick-initialized .slick-dots li button::before,
  .dining_visual.slick-initialized .slick-dots li button::before {
    display: none;
  }
  .onsen_sauna_visual.slick-initialized .slick-dots li.slick-active button,
  .dining_visual.slick-initialized .slick-dots li.slick-active button {
    background-color: #231815;
  }
  .onsen_sauna_visual.slick-initialized .slick-slide {
    padding: 0 calc(10 / var(--view-size) * var(--vw));
    box-sizing: border-box;
  }
}
.dining_list, .onsen_sauna_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dining_list_item, .onsen_sauna_list_item {
  display: flex;
  align-items: flex-start;
  gap: calc(12 / var(--view-size) * var(--vw));
  padding: calc(8 / var(--view-size) * var(--vw)) 0;
}

.dining_list_icon, .onsen_sauna_list_icon {
  flex-shrink: 0;
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  margin-top: calc(14 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
}
@media (max-width: 768px) {
  .dining_list_icon, .onsen_sauna_list_icon {
    margin-top: calc(6 / var(--view-size) * var(--vw));
  }
}

.dining_list_ttl, .onsen_sauna_list_ttl {
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .dining_list_ttl, .onsen_sauna_list_ttl {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.dining_list_sub, .onsen_sauna_list_sub {
  margin-top: calc(4 / var(--view-size) * var(--vw));
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  opacity: 0.4;
}
@media (max-width: 768px) {
  .dining_list_sub, .onsen_sauna_list_sub {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

/* ONSEN & SAUNA / DINING 共通ゾーン */
.onsen_dining_zone {
  background-color: #fff;
  transition: background-color 0.5s ease;
}
.onsen_dining_zone.is-active {
  background-color: #F2F0E2;
}
.onsen_dining_zone.is-active .onsen_sauna_visual_item--fade::after,
.onsen_dining_zone.is-active .dining_visual_item--fade::after {
  background: linear-gradient(180deg, rgba(242, 240, 226, 0) 0%, rgba(242, 240, 226, 0.85) 100%);
}

/* ONSEN & SAUNA */
.onsen_sauna {
  padding: calc(100 / var(--view-size) * var(--vw)) 0;
  background-color: transparent;
}
@media (max-width: 768px) {
  .onsen_sauna {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}

.onsen_sauna_inner {
  align-items: flex-start;
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_inner {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_head {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_visual_item img {
  border-radius: calc(6 / var(--view-size) * var(--vw));
}

.onsen_sauna_content {
  position: relative;
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .onsen_sauna_content {
    width: 100%;
  }
}

.onsen_sauna_content_sticky {
  width: 100%;
}

.onsen_sauna_ttl {
  font-family: "Outfit", sans-serif;
  font-size: calc(90 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #231815;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_label_wrap {
  gap: calc(12 / var(--view-size) * var(--vw));
}

.onsen_sauna_label {
  font-size: calc(36 / var(--view-size) * var(--vw));
  font-weight: 300;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_label {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_catch {
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #231815;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_catch {
    font-size: calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_content_sticky .sec_link {
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_content_sticky .sec_link {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

/* HESTA DINING 伊豆 */
.dining {
  padding: calc(100 / var(--view-size) * var(--vw)) 0;
  padding-bottom: calc(390 / var(--view-size) * var(--vw));
  background-color: transparent;
}
@media (max-width: 768px) {
  .dining {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
    padding-top: 0;
  }
}

.dining_head {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.dining_ttl {
  font-family: "Outfit", sans-serif;
  font-size: calc(90 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1;
  color: #231815;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.dining_label_wrap {
  gap: calc(12 / var(--view-size) * var(--vw));
}

.dining_label {
  font-size: calc(36 / var(--view-size) * var(--vw));
  font-weight: 300;
  color: #231815;
}
@media (max-width: 768px) {
  .dining_label {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.dining_inner {
  align-items: flex-start;
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_inner {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.dining_visual_item img {
  border-radius: calc(6 / var(--view-size) * var(--vw));
}

.dining_content {
  position: relative;
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .dining_content {
    width: 100%;
  }
}

.dining_content_sticky {
  width: 100%;
}

.dining_catch {
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #231815;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_catch {
    font-size: calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
  }
}

.dining_content_sticky .sec_link {
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .dining_content_sticky .sec_link {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

@media (max-width: 768px) {
  .onsen_sauna_content_sticky.is-fixed,
  .dining_content_sticky.is-fixed {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
  }
}
/* 温泉・サウナ 下層ページ */
/* ---------- MV ---------- */
.onsen_sauna_mv {
  position: relative;
  overflow: hidden;
  background-color: #F2F0E2;
  padding-top: calc(120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv {
    padding-top: calc(88 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_inner {
  position: relative;
  flex-wrap: nowrap;
  width: 100%;
  padding-left: calc(max(0px, (100vw - 1360px) / 2) + 80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_inner {
    flex-direction: column;
    flex-wrap: wrap;
    padding: 0 calc(15 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: calc(40 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw)) 0;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_content {
    max-width: none;
    width: 100%;
    padding: 0 0 calc(32 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_head {
  position: relative;
}

.onsen_sauna_mv_ttl {
  display: flex;
  align-items: flex-start;
  gap: calc(16 / var(--view-size) * var(--vw));
  margin: 0;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_ttl {
    gap: calc(10 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_ttl_icon {
  flex-shrink: 0;
  width: calc(21 / var(--view-size) * var(--vw));
  height: calc(21 / var(--view-size) * var(--vw));
  margin-top: calc(34 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_ttl_icon {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
    margin-top: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_ttl_text {
  display: flex;
  flex-direction: column;
  font-family: "Outfit", sans-serif;
  font-size: calc(80 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_ttl_text {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_ttl_line {
  display: block;
}

.onsen_sauna_mv_ttl_initial {
  font-weight: 300;
  font-size: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_ttl_initial {
    font-size: calc(60 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_ttl_rest {
  font-weight: 300;
  font-size: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_ttl_rest {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_lead {
  margin: calc(20 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(36 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_lead {
    margin-top: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_head .mv_scroll {
  position: relative;
  bottom: auto;
  right: auto;
  display: inline-block;
  margin-top: calc(24 / var(--view-size) * var(--vw));
  color: rgba(35, 24, 21, 0.55);
}
@media (max-width: 768px) {
  .onsen_sauna_mv_head .mv_scroll {
    margin-top: calc(16 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv_head .mv_scroll::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(48 / var(--view-size) * var(--vw));
  margin: calc(16 / var(--view-size) * var(--vw)) auto 0;
  background-color: rgba(35, 24, 21, 0.25);
}
@media (max-width: 768px) {
  .onsen_sauna_mv_head .mv_scroll::after {
    height: calc(32 / var(--view-size) * var(--vw));
    margin-top: calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_line {
  width: 100%;
  height: 1px;
  margin-top: calc(20 / var(--view-size) * var(--vw));
  margin-bottom: calc(20 / var(--view-size) * var(--vw));
  background-color: rgba(35, 24, 21, 0.2);
}
@media (max-width: 768px) {
  .onsen_sauna_mv_line {
    margin-top: calc(24 / var(--view-size) * var(--vw));
    margin-bottom: calc(14 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_bread {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_bread {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_bread_list {
  gap: calc(8 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
  flex-wrap: wrap;
}

.onsen_sauna_mv_bread_item {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.7);
}
@media (max-width: 768px) {
  .onsen_sauna_mv_bread_item {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv_bread_item:not(:last-child)::after {
  content: "｜";
  margin-left: calc(8 / var(--view-size) * var(--vw));
  color: rgba(35, 24, 21, 0.4);
}
.onsen_sauna_mv_bread_item a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: calc(2 / var(--view-size) * var(--vw));
}

.onsen_sauna_mv_meta {
  gap: calc(16 / var(--view-size) * var(--vw));
  flex-wrap: nowrap;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_meta {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_day {
  flex-shrink: 0;
  gap: calc(10 / var(--view-size) * var(--vw));
  padding: calc(10 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid #8DAFB6;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  box-shadow: 0 calc(2 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw)) rgba(35, 24, 21, 0.06);
}
@media (max-width: 768px) {
  .onsen_sauna_mv_day {
    gap: calc(8 / var(--view-size) * var(--vw));
    padding: calc(8 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_day_badge {
  flex-shrink: 0;
  gap: 0;
}

.onsen_sauna_mv_day_icon {
  display: block;
  width: calc(40 / var(--view-size) * var(--vw));
  height: auto;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_day_icon {
    width: calc(32 / var(--view-size) * var(--vw));
  }
}

/* SVG内に 1DAY 表記があるためテキストは非表示 */
.onsen_sauna_mv_day_en {
  display: none;
}

.onsen_sauna_mv_day_text {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #8DAFB6;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_day_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_tags {
  display: flex;
  flex-wrap: wrap;
  gap: calc(6 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_tags {
    width: 100%;
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-width: calc(96 / var(--view-size) * var(--vw));
  padding: calc(6 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #8DAFB6;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .onsen_sauna_mv_tag {
    min-width: 0;
    padding: calc(8 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_mv_visual {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-shrink: 0;
  width: calc(780 / var(--view-size) * var(--vw));
  align-self: stretch;
  padding-top: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_visual {
    width: calc(100% + 30 / var(--view-size) * var(--vw));
    margin-left: calc(-15 / var(--view-size) * var(--vw));
    margin-right: calc(-15 / var(--view-size) * var(--vw));
    padding-top: 0;
  }
}
.onsen_sauna_mv_visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.onsen_sauna_mv_visual_frame {
  overflow: hidden;
  width: 100%;
  border-radius: calc(8 / var(--view-size) * var(--vw)) 0 0 calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv_visual_frame {
    border-radius: 0;
  }
}

@keyframes onsenSaunaMvZoomFade {
  0% {
    opacity: 0;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.onsen_sauna_mv_visual_frame img {
  opacity: 0;
  transform: scale(1.08);
  transform-origin: center center;
  animation: onsenSaunaMvZoomFade 0.9s ease-out 0.2s forwards;
}

@media (prefers-reduced-motion: reduce) {
  .onsen_sauna_mv_visual_frame img {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
/* eat MV 調整 */
.onsen_sauna_mv--eat .onsen_sauna_mv_content {
  padding-bottom: calc(56 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_content {
    padding-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_meta {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_day {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
.onsen_sauna_mv--eat .onsen_sauna_mv_day_text {
  font-size: calc(16 / var(--view-size) * var(--vw));
  white-space: normal;
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_day_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_tags {
  display: flex;
  flex-wrap: wrap;
  grid-template-columns: none;
  gap: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_tags {
    width: auto;
    grid-template-columns: none;
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_tag {
  min-width: 0;
  padding: calc(6 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_tag {
    width: auto;
    padding: calc(6 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_visual {
  justify-content: center;
  padding: calc(40 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw)) 0;
  padding-right: 0;
  overflow: visible;
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat .onsen_sauna_mv_visual {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }
}
.onsen_sauna_mv--eat .onsen_sauna_mv_visual_frame {
  border-radius: calc(8 / var(--view-size) * var(--vw)) 0 0 calc(8 / var(--view-size) * var(--vw));
}

/* ---------- Intro ---------- */
.onsen_sauna_intro {
  padding: calc(120 / var(--view-size) * var(--vw)) 0;
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .onsen_sauna_intro {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
    padding-top: 0;
  }
}

/* eat intro buttons */
.eat_intro_btns {
  justify-content: center;
  gap: calc(16 / var(--view-size) * var(--vw));
  margin-bottom: calc(56 / var(--view-size) * var(--vw));
  /* ホバー時の枠線が見切れないように余白を確保 */
  padding: 1px;
  overflow: visible;
}
@media (max-width: 768px) {
  .eat_intro_btns {
    flex-direction: column;
    gap: calc(12 / var(--view-size) * var(--vw));
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
  }
}
.eat_intro_btns {
  /* 2カラム復元時 */
}
.eat_intro_btns:has(.eat_intro_btn--visitor) {
  justify-content: flex-start;
}
.eat_intro_btns:has(.eat_intro_btn--visitor) .eat_intro_btn {
  flex: 1;
  max-width: none;
}

.eat_intro_btn {
  flex: 0 1 calc(456 / var(--view-size) * var(--vw));
  width: 100%;
  max-width: calc(456 / var(--view-size) * var(--vw));
  min-width: 0;
  min-height: calc(72 / var(--view-size) * var(--vw));
  padding: calc(16 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  padding-right: calc(16 / var(--view-size) * var(--vw));
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
  box-sizing: border-box;
}
.eat_intro_btn:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  .eat_intro_btn {
    flex: none;
    max-width: 100%;
    min-height: calc(56 / var(--view-size) * var(--vw));
    padding: calc(14 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
    padding-right: calc(12 / var(--view-size) * var(--vw));
  }
}

.eat_intro_btn--guest {
  background: linear-gradient(90deg, #8DAFB6 0%, #B0CFD5 100%);
}
.eat_intro_btn--guest:hover {
  background: #fff;
  border: calc(1 / var(--view-size) * var(--vw)) solid #8DAFB6;
  color: #8DAFB6;
}
.eat_intro_btn--guest:hover .eat_intro_btn_icon {
  background-color: #8DAFB6;
  color: #fff;
}

.eat_intro_btn--visitor {
  background: linear-gradient(90deg, #BF967F 0%, #59463B 100%), #B0CFD5;
}
.eat_intro_btn--visitor:hover {
  background: #fff;
  border: calc(1 / var(--view-size) * var(--vw)) solid #59463B;
  color: #59463B;
}
.eat_intro_btn--visitor:hover .eat_intro_btn_icon {
  background-color: #59463B;
  color: #fff;
}

.eat_intro_btn_text {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .eat_intro_btn_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.eat_intro_btn_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(40 / var(--view-size) * var(--vw));
  height: calc(40 / var(--view-size) * var(--vw));
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  font-size: calc(14 / var(--view-size) * var(--vw));
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .eat_intro_btn_icon {
    width: calc(32 / var(--view-size) * var(--vw));
    height: calc(32 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.eat_intro_btn--guest .eat_intro_btn_icon {
  background-color: rgba(255, 255, 255, 0.28);
}

.eat_intro_btn--visitor .eat_intro_btn_icon {
  background-color: rgba(255, 255, 255, 0.18);
}

.onsen_sauna_intro_inner {
  flex-wrap: nowrap;
  gap: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_intro_inner {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(24 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_intro_ttl {
  flex-shrink: 0;
  width: calc(364 / var(--view-size) * var(--vw));
  margin: 0;
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_intro_ttl {
    width: 100%;
    font-size: calc(24 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.onsen_sauna_intro_ttl_accent {
  color: #8DAFB6;
}

.onsen_sauna_intro_text {
  flex: 1;
  min-width: 0;
  padding-top: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_intro_text {
    padding-top: 0;
  }
}
.onsen_sauna_intro_text p {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_intro_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.onsen_sauna_intro_text p:last-child {
  margin-bottom: 0;
  font-size: calc(18 / var(--view-size) * var(--vw));
}

/* ---------- Bath (大浴場) ---------- */
.onsen_sauna_bath {
  position: relative;
  overflow: hidden;
  padding: calc(160 / var(--view-size) * var(--vw)) 0;
  color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_bath {
    padding: calc(80 / var(--view-size) * var(--vw)) 0;
  }
}

.onsen_sauna_bath_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.onsen_sauna_bath_bg img {
  position: absolute;
  top: -18%;
  left: 0;
  width: 100%;
  height: 156%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.onsen_sauna_bath_inner {
  position: relative;
  z-index: 2;
  flex-wrap: nowrap;
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_bath_inner {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_bath_en {
  flex-shrink: 0;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(100 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_bath_en {
    font-size: calc(48 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_bath_content {
  max-width: 100%;
}
@media (max-width: 768px) {
  .onsen_sauna_bath_content {
    width: 100%;
  }
}

.onsen_sauna_bath_ttl {
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_bath_ttl {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_bath_ttl_large {
  font-size: calc(52 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_bath_ttl_large {
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_bath_text {
  padding-left: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_bath_text {
    padding-left: 0;
  }
}
.onsen_sauna_bath_text p {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_bath_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.onsen_sauna_bath_text p:last-child {
  margin-bottom: 0;
}

/* eat ocean view 調整 */
.onsen_sauna_bath--eat {
  display: flex;
  align-items: center;
  height: calc(663 / var(--view-size) * var(--vw));
  padding: 0;
}
@media (max-width: 768px) {
  .onsen_sauna_bath--eat {
    height: auto;
    padding: calc(80 / var(--view-size) * var(--vw)) 0;
  }
}
.onsen_sauna_bath--eat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
}
.onsen_sauna_bath--eat .onsen_sauna_bath_bg img {
  height: 142%;
}
.onsen_sauna_bath--eat .onsen_sauna_bath_en {
  font-size: calc(120 / var(--view-size) * var(--vw));
  line-height: 0.95;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .onsen_sauna_bath--eat .onsen_sauna_bath_en {
    font-size: calc(56 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_bath--eat .onsen_sauna_bath_content {
  max-width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_bath--eat .onsen_sauna_bath_content {
    max-width: none;
  }
}
.onsen_sauna_bath--eat .onsen_sauna_bath_ttl {
  font-size: calc(36 / var(--view-size) * var(--vw));
  line-height: 1.6;
}
@media (max-width: 768px) {
  .onsen_sauna_bath--eat .onsen_sauna_bath_ttl {
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_bath--eat .onsen_sauna_bath_ttl_accent {
  color: #B0CFD5;
}
.onsen_sauna_bath--eat .onsen_sauna_bath_text {
  padding-left: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_bath--eat .onsen_sauna_bath_text {
    padding-left: 0;
  }
}

/* eat dinner */
.eat_dinner .onsen_sauna_bath_bg img {
  height: 145%;
}
.eat_dinner .onsen_sauna_bath_en {
  font-size: calc(100 / var(--view-size) * var(--vw));
  line-height: 1;
}
@media (max-width: 768px) {
  .eat_dinner .onsen_sauna_bath_en {
    font-size: calc(48 / var(--view-size) * var(--vw));
  }
}
.eat_dinner .onsen_sauna_bath_ttl {
  font-size: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dinner .onsen_sauna_bath_ttl {
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}

.eat_dinner_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
  min-height: 100%;
}
@media (max-width: 768px) {
  .eat_dinner_left {
    width: 100%;
    gap: calc(24 / var(--view-size) * var(--vw));
    min-height: 0;
  }
}

.eat_dinner_label {
  margin: calc(16 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 768px) {
  .eat_dinner_label {
    margin-top: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.eat_dinner_notes {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .eat_dinner_notes {
    margin-top: calc(8 / var(--view-size) * var(--vw));
  }
}
.eat_dinner_notes li {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 768px) {
  .eat_dinner_notes li {
    font-size: calc(11 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

/* eat breakfast */
.eat_breakfast {
  padding: calc(120 / var(--view-size) * var(--vw)) 0;
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .eat_breakfast {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}

.eat_breakfast_head {
  flex-wrap: nowrap;
  gap: calc(48 / var(--view-size) * var(--vw));
  margin-bottom: calc(56 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_breakfast_head {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(28 / var(--view-size) * var(--vw));
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.eat_breakfast_left {
  flex-shrink: 0;
  width: calc(420 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_breakfast_left {
    width: 100%;
  }
}

.eat_breakfast_en {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(64 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_breakfast_en {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.eat_breakfast_label {
  margin: calc(16 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_breakfast_label {
    margin-top: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.eat_breakfast_notes {
  margin: calc(32 / var(--view-size) * var(--vw)) 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .eat_breakfast_notes {
    margin-top: calc(16 / var(--view-size) * var(--vw));
  }
}
.eat_breakfast_notes li {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.7);
}
@media (max-width: 768px) {
  .eat_breakfast_notes li {
    font-size: calc(11 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.eat_breakfast_content {
  flex: 1;
  min-width: 0;
  max-width: calc(580 / var(--view-size) * var(--vw));
  padding-top: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_breakfast_content {
    max-width: none;
    padding-top: 0;
  }
}

.eat_breakfast_ttl {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_breakfast_ttl {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}

.eat_breakfast_text {
  margin: 0;
  padding-left: calc(64 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_breakfast_text {
    padding-left: 0;
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}

.eat_breakfast_visuals {
  flex-wrap: nowrap;
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_breakfast_visuals {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.eat_breakfast_visual {
  overflow: hidden;
  border-radius: calc(8 / var(--view-size) * var(--vw));
}
.eat_breakfast_visual img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.eat_breakfast_visual--main {
  flex: 1;
  min-width: 0;
  aspect-ratio: 700/420;
}
@media (max-width: 768px) {
  .eat_breakfast_visual--main {
    width: 100%;
    aspect-ratio: 345/230;
  }
}

.eat_breakfast_visual--sub {
  flex-shrink: 0;
  width: calc(350 / var(--view-size) * var(--vw));
  margin-top: calc(60 / var(--view-size) * var(--vw));
  aspect-ratio: 400/520;
}
@media (max-width: 768px) {
  .eat_breakfast_visual--sub {
    width: 100%;
    margin-top: 0;
    aspect-ratio: 345/260;
  }
}

/* eat day use */
.eat_dayuse {
  position: relative;
  padding: calc(120 / var(--view-size) * var(--vw)) 0 calc(100 / var(--view-size) * var(--vw));
  background-color: #fff;
  overflow: hidden;
}
@media (max-width: 768px) {
  .eat_dayuse {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}

.eat_dayuse_main {
  flex-wrap: nowrap;
  gap: calc(56 / var(--view-size) * var(--vw));
  margin-bottom: calc(134 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_main {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(40 / var(--view-size) * var(--vw));
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_visuals {
  position: relative;
  padding-top: calc(164 / var(--view-size) * var(--vw));
  flex-shrink: 0;
  width: calc(580 / var(--view-size) * var(--vw));
  min-height: calc(520 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_visuals {
    width: 100%;
    min-height: calc(240 / var(--view-size) * var(--vw));
    padding-top: 0;
  }
}

.eat_dayuse_visual_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: calc(640 / var(--view-size) * var(--vw));
  pointer-events: none;
}
@media (max-width: 768px) {
  .eat_dayuse_visual_bg {
    display: none;
  }
}
.eat_dayuse_visual_bg img {
  display: block;
  width: 100%;
  height: auto;
}

.eat_dayuse_inner {
  position: relative;
  z-index: 1;
}

.eat_dayuse_visual {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
}
.eat_dayuse_visual img {
  display: block;
  width: 100%;
}

.eat_dayuse_visual--main {
  width: calc(416 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_visual--main {
    width: 78%;
  }
}

.eat_dayuse_visual--sub {
  position: absolute;
  right: calc(40 / var(--view-size) * var(--vw));
  bottom: calc(-100 / var(--view-size) * var(--vw));
  z-index: 2;
  width: calc(448 / var(--view-size) * var(--vw));
  box-shadow: 0 calc(8 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw)) rgba(35, 24, 21, 0.12);
}
@media (max-width: 768px) {
  .eat_dayuse_visual--sub {
    width: 58%;
    bottom: 0;
  }
}

.eat_dayuse_content {
  flex: 1;
  min-width: 0;
  padding-top: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_content {
    padding-top: 0;
  }
}

.eat_dayuse_ttl {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(20 / var(--view-size) * var(--vw));
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(80 / var(--view-size) * var(--vw));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #799AA1;
  text-align: left;
}
@media (max-width: 768px) {
  .eat_dayuse_ttl {
    gap: calc(12 / var(--view-size) * var(--vw));
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(32 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_ttl_deco {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: calc(23 / var(--view-size) * var(--vw));
  height: calc(23 / var(--view-size) * var(--vw));
  background-color: #E4E9EB;
  border-radius: 50%;
}
.eat_dayuse_ttl_deco::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(8 / var(--view-size) * var(--vw));
  height: calc(8 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media (max-width: 768px) {
  .eat_dayuse_ttl_deco {
    width: calc(16 / var(--view-size) * var(--vw));
    height: calc(16 / var(--view-size) * var(--vw));
  }
  .eat_dayuse_ttl_deco::before {
    width: calc(6 / var(--view-size) * var(--vw));
    height: calc(6 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_ttl_text {
  display: block;
}

.eat_dayuse .onsen_sauna_mv_day {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse .onsen_sauna_mv_day {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse .onsen_sauna_mv_day_text {
  font-size: calc(20 / var(--view-size) * var(--vw));
  white-space: normal;
}
@media (max-width: 768px) {
  .eat_dayuse .onsen_sauna_mv_day_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_catch {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #231815;
  text-align: left;
}
@media (max-width: 768px) {
  .eat_dayuse_catch {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_text p {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_dayuse_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.eat_dayuse_text p:last-child {
  margin-bottom: 0;
  font-size: calc(18 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_text p br {
    display: none;
  }
}

.eat_dayuse_notes {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .eat_dayuse_notes {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}
.eat_dayuse_notes li {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.65);
}
@media (max-width: 768px) {
  .eat_dayuse_notes li {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve {
  position: relative;
  overflow: hidden;
  flex-wrap: nowrap;
  gap: calc(40 / var(--view-size) * var(--vw));
  padding: calc(64 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  background: linear-gradient(90deg, #BF967F 0%, #59463B 100%);
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_dayuse_reserve {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: stretch;
    gap: calc(24 / var(--view-size) * var(--vw));
    padding: calc(32 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_body {
  position: relative;
  flex: 1;
  min-width: 0;
  padding-top: calc(8 / var(--view-size) * var(--vw));
}

.eat_dayuse_reserve_en {
  position: absolute;
  top: calc(-18 / var(--view-size) * var(--vw));
  left: 0;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(44 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.06em;
  background: linear-gradient(180deg, #634837 0%, #926F5A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  pointer-events: none;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_en {
    top: calc(-4 / var(--view-size) * var(--vw));
    font-size: calc(36 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_ttl {
  position: relative;
  z-index: 1;
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_ttl {
    margin-bottom: calc(10 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_lead {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.92);
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_lead {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_btn {
  flex-shrink: 0;
  gap: calc(16 / var(--view-size) * var(--vw));
  min-width: calc(380 / var(--view-size) * var(--vw));
  min-height: calc(72 / var(--view-size) * var(--vw));
  padding: calc(12 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw)) calc(28 / var(--view-size) * var(--vw));
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.eat_dayuse_reserve_btn:hover {
  opacity: 1;
  background-color: #231815;
  color: #fff;
}
.eat_dayuse_reserve_btn:hover .eat_dayuse_reserve_btn_icon {
  background-color: #fff;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_btn {
    width: 100%;
    min-width: 0;
    min-height: calc(56 / var(--view-size) * var(--vw));
    gap: calc(12 / var(--view-size) * var(--vw));
    padding: calc(10 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_btn_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_btn_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.eat_dayuse_reserve_btn_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(48 / var(--view-size) * var(--vw));
  height: calc(48 / var(--view-size) * var(--vw));
  background-color: #231815;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  font-size: calc(16 / var(--view-size) * var(--vw));
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .eat_dayuse_reserve_btn_icon {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

/* ---------- Features（露天壺風呂 / サウナ） ---------- */
.onsen_sauna_features {
  padding: calc(140 / var(--view-size) * var(--vw)) 0;
  background: linear-gradient(0deg, #F2F0E2 0%, #F2F8F9 100%);
}
@media (max-width: 768px) {
  .onsen_sauna_features {
    padding: calc(64 / var(--view-size) * var(--vw)) 0 calc(80 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_features .inner_928 {
  margin-top: calc(120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_features .inner_928 {
    margin-top: calc(64 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_feature {
  flex-wrap: nowrap;
  gap: calc(72 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_feature_visual {
  position: relative;
  flex-shrink: 0;
  width: calc(490 / var(--view-size) * var(--vw));
  overflow: hidden;
}
@media (max-width: 768px) {
  .onsen_sauna_feature_visual {
    width: 100%;
  }
}
.onsen_sauna_feature_visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.onsen_sauna_feature_visual--circle {
  width: calc(420 / var(--view-size) * var(--vw));
  border-radius: 50%;
}
@media (max-width: 768px) {
  .onsen_sauna_feature_visual--circle {
    width: calc(280 / var(--view-size) * var(--vw));
    margin: 0 auto;
  }
}
.onsen_sauna_feature_visual--circle img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

.onsen_sauna_feature_note {
  position: absolute;
  left: calc(16 / var(--view-size) * var(--vw));
  bottom: calc(12 / var(--view-size) * var(--vw));
  margin: 0;
  font-size: calc(11 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
@media (max-width: 768px) {
  .onsen_sauna_feature_note {
    left: calc(12 / var(--view-size) * var(--vw));
    bottom: calc(10 / var(--view-size) * var(--vw));
    font-size: calc(10 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_feature_body {
  flex: 1;
  min-width: 0;
}

.onsen_sauna_feature_text {
  padding-left: calc(118 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature_text {
    padding-left: 0;
  }
}
.onsen_sauna_feature_text p {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_feature_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.onsen_sauna_feature_text p:last-child {
  margin-bottom: 0;
}
.onsen_sauna_feature_text strong {
  font-weight: 700;
}

/* 露天壺風呂 */
.onsen_sauna_feature--bath .onsen_sauna_feature_head {
  position: relative;
  gap: calc(55 / var(--view-size) * var(--vw));
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
  flex-wrap: nowrap;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--bath .onsen_sauna_feature_head {
    gap: calc(12 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--bath .onsen_sauna_feature_ttl {
  flex-shrink: 0;
  margin: 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: calc(54 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.12em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--bath .onsen_sauna_feature_ttl {
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--bath .onsen_sauna_feature_en {
  margin: calc(8 / var(--view-size) * var(--vw)) 0 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(60 / var(--view-size) * var(--vw));
  font-weight: 200;
  line-height: 1.15;
  letter-spacing: 0.04em;
  color: #C4B89A;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--bath .onsen_sauna_feature_en {
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--bath .onsen_sauna_feature_text_sub {
  padding-left: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature--bath .onsen_sauna_feature_text_sub {
    padding-left: 0;
  }
}
.onsen_sauna_feature--bath .onsen_sauna_feature_lead {
  margin: calc(28 / var(--view-size) * var(--vw)) 0 calc(16 / var(--view-size) * var(--vw));
  font-size: calc(22 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #799AA1;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--bath .onsen_sauna_feature_lead {
    margin: calc(20 / var(--view-size) * var(--vw)) 0 calc(12 / var(--view-size) * var(--vw));
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--bath .onsen_sauna_feature_lead_dark {
  color: #231815;
}

/* サウナ */
.onsen_sauna_feature--sauna .onsen_sauna_feature_body {
  max-width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_body {
    max-width: none;
    order: 1;
  }
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_visual {
    order: 2;
  }
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_head {
  position: relative;
  margin-bottom: calc(54 / var(--view-size) * var(--vw));
  min-height: calc(88 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_head {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    min-height: calc(56 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_en {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(100 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.06em;
  color: rgba(176, 207, 213, 0.75);
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_en {
    font-size: calc(48 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_ttl {
  position: absolute;
  top: 80%;
  left: calc(8 / var(--view-size) * var(--vw));
  transform: translateY(-40%);
  margin: 0;
  font-size: calc(54 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_ttl {
    left: calc(4 / var(--view-size) * var(--vw));
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_text {
  padding-left: 0;
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_text > p:not(.onsen_sauna_feature_lead) {
  padding-left: calc(54 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_text > p:not(.onsen_sauna_feature_lead) {
    padding-left: 0;
  }
}
.onsen_sauna_feature--sauna .onsen_sauna_feature_lead {
  margin: 0 0 calc(16 / var(--view-size) * var(--vw));
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_feature--sauna .onsen_sauna_feature_lead {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

/* ---------- DAY USE / 設備・アメニティ ---------- */
.onsen_sauna_info {
  padding: calc(120 / var(--view-size) * var(--vw)) 0 calc(140 / var(--view-size) * var(--vw));
  background-color: #F2F8F9;
}
@media (max-width: 768px) {
  .onsen_sauna_info {
    padding: calc(64 / var(--view-size) * var(--vw)) 0 calc(80 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse {
  position: relative;
  margin-bottom: calc(96 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse {
    margin-bottom: calc(56 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_ttl {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0 calc(20 / var(--view-size) * var(--vw));
  transform: translate(-50%, -50%);
  font-family: "Outfit", sans-serif;
  font-size: calc(80 / var(--view-size) * var(--vw));
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #799AA1;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_ttl {
    gap: calc(12 / var(--view-size) * var(--vw));
    padding: 0 calc(12 / var(--view-size) * var(--vw));
    font-size: calc(32 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_ttl_deco {
  position: relative;
  display: block;
  width: calc(23 / var(--view-size) * var(--vw));
  height: calc(23 / var(--view-size) * var(--vw));
  background-color: #E4E9EB;
  border-radius: 50%;
  flex-shrink: 0;
}
.onsen_sauna_dayuse_ttl_deco::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(8 / var(--view-size) * var(--vw));
  height: calc(8 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_ttl_deco {
    width: calc(16 / var(--view-size) * var(--vw));
    height: calc(16 / var(--view-size) * var(--vw));
  }
  .onsen_sauna_dayuse_ttl_deco::before {
    width: calc(6 / var(--view-size) * var(--vw));
    height: calc(6 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_ttl_text {
  display: block;
}

.onsen_sauna_dayuse_card {
  position: relative;
  flex-wrap: nowrap;
  gap: calc(48 / var(--view-size) * var(--vw));
  padding: calc(100 / var(--view-size) * var(--vw)) calc(56 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  box-shadow: 0 calc(8 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw)) rgba(35, 24, 21, 0.06);
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_card {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(32 / var(--view-size) * var(--vw));
    padding: calc(72 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_list {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.onsen_sauna_dayuse_row {
  flex-wrap: nowrap;
  gap: calc(24 / var(--view-size) * var(--vw));
  padding: calc(18 / var(--view-size) * var(--vw)) 0;
  border-bottom: 1px solid rgba(35, 24, 21, 0.12);
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_row {
    gap: calc(12 / var(--view-size) * var(--vw));
    padding: calc(14 / var(--view-size) * var(--vw)) 0;
  }
}
.onsen_sauna_dayuse_row:first-child {
  padding-top: 0;
}
.onsen_sauna_dayuse_row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.onsen_sauna_dayuse_row dt {
  flex-shrink: 0;
  width: calc(96 / var(--view-size) * var(--vw));
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_row dt {
    width: calc(72 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_dayuse_row dd {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_row dd {
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}
.onsen_sauna_dayuse_row dd p {
  margin: 0 0 calc(8 / var(--view-size) * var(--vw));
}
.onsen_sauna_dayuse_row dd p:last-child {
  margin-bottom: 0;
}

.onsen_sauna_dayuse_aside {
  flex-shrink: 0;
  width: calc(360 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_aside {
    width: 100%;
  }
}
.onsen_sauna_dayuse_aside .onsen_sauna_mv_day {
  display: inline-flex;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_aside .onsen_sauna_mv_day {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_catch {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_catch {
    margin-bottom: calc(14 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_dayuse_desc {
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_dayuse_desc {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}

.onsen_sauna_amenities {
  text-align: center;
}

.onsen_sauna_amenities_head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  min-height: calc(72 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_head {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    min-height: calc(48 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_en {
  position: absolute;
  left: 50%;
  top: 10%;
  transform: translate(-50%, -55%);
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(60 / var(--view-size) * var(--vw));
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #e4e4e4;
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_en {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_ttl {
  position: relative;
  z-index: 1;
  gap: calc(12 / var(--view-size) * var(--vw));
  margin: 0;
  justify-content: center;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_ttl {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_ttl_icon {
  flex-shrink: 0;
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_ttl_icon {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_ttl_text {
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_ttl_text {
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_lead {
  margin: 0 0 calc(32 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_lead {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_amenities_list {
  padding: calc(28 / var(--view-size) * var(--vw)) 0;
  border-top: 1px solid #B0CFD5;
  border-bottom: 1px solid #B0CFD5;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_list {
    padding: calc(20 / var(--view-size) * var(--vw)) 0;
  }
}
.onsen_sauna_amenities_list p {
  margin: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_amenities_list p {
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 2;
  }
}

/* ---------- Guide（ご利用案内） ---------- */
.onsen_sauna_guide {
  padding: calc(120 / var(--view-size) * var(--vw)) 0 calc(140 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .onsen_sauna_guide {
    padding: calc(64 / var(--view-size) * var(--vw)) 0 calc(80 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_head {
  margin-bottom: calc(56 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_head {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_en {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / var(--view-size) * var(--vw));
  margin: 0 0 calc(8 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(48 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #C8C7BF;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_en {
    gap: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(30 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_en_deco {
  position: relative;
  display: block;
  width: calc(23 / var(--view-size) * var(--vw));
  height: calc(23 / var(--view-size) * var(--vw));
  background-color: #C8C7BF;
  border-radius: 50%;
  flex-shrink: 0;
}
.onsen_sauna_guide_en_deco::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(8 / var(--view-size) * var(--vw));
  height: calc(8 / var(--view-size) * var(--vw));
  background-color: #231815;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media (max-width: 768px) {
  .onsen_sauna_guide_en_deco {
    width: calc(16 / var(--view-size) * var(--vw));
    height: calc(16 / var(--view-size) * var(--vw));
  }
  .onsen_sauna_guide_en_deco::before {
    width: calc(6 / var(--view-size) * var(--vw));
    height: calc(6 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_ttl {
  margin: 0;
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_ttl {
    font-size: calc(24 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_layout {
  flex-wrap: nowrap;
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_guide_layout {
    flex-direction: column;
    flex-wrap: wrap;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_main {
  flex: 1;
  min-width: 0;
}

.onsen_sauna_guide_table {
  display: flex;
  flex-direction: column;
  gap: calc(2 / var(--view-size) * var(--vw));
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  padding: 0;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_table {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_row {
  flex-wrap: nowrap;
  align-items: stretch;
  gap: calc(4 / var(--view-size) * var(--vw));
}
.onsen_sauna_guide_row dt {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: calc(128 / var(--view-size) * var(--vw));
  margin: 0;
  padding: calc(12 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #8DAFB6;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_row dt {
    width: calc(76 / var(--view-size) * var(--vw));
    padding: calc(10 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_guide_row dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: calc(12 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  background-color: #fff;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_row dd {
    padding: calc(10 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}
.onsen_sauna_guide_row dd p {
  margin: 0 0 calc(16 / var(--view-size) * var(--vw));
}
.onsen_sauna_guide_row dd p:last-child {
  margin-bottom: 0;
}

.onsen_sauna_guide_notes {
  margin: 0;
  padding: 0;
  list-style: none;
}
.onsen_sauna_guide_notes li {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.65);
}
@media (max-width: 768px) {
  .onsen_sauna_guide_notes li {
    font-size: calc(11 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}

.onsen_sauna_guide_faq {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(480 / var(--view-size) * var(--vw));
  padding: calc(48 / var(--view-size) * var(--vw)) calc(72 / var(--view-size) * var(--vw));
  border: 1px solid rgba(35, 24, 21, 0.25);
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_guide_faq {
    width: 100%;
    padding: calc(28 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_faq_text {
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_faq_text {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}

.onsen_sauna_guide_faq_link {
  gap: calc(16 / var(--view-size) * var(--vw));
}
.onsen_sauna_guide_faq_link:hover {
  opacity: 1;
}
.onsen_sauna_guide_faq_link:hover .onsen_sauna_guide_faq_link_icon img {
  opacity: 0;
}
.onsen_sauna_guide_faq_link:hover .onsen_sauna_guide_faq_link_icon::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_faq_link {
    gap: calc(10 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_faq_link_text {
  padding-bottom: calc(4 / var(--view-size) * var(--vw));
  border-bottom: 1px solid #231815;
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_guide_faq_link_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_guide_faq_link_icon {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: calc(32 / var(--view-size) * var(--vw));
  height: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_guide_faq_link_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_guide_faq_link_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.onsen_sauna_guide_faq_link_icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* eat guide reservation cards */
.onsen_sauna_guide--eat .onsen_sauna_guide_main .onsen_sauna_guide_notes {
  display: none;
}
.onsen_sauna_guide--eat .onsen_sauna_guide_layout {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_guide--eat .onsen_sauna_guide_layout {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve {
  width: 100%;
}

.eat_guide_reserve_card {
  position: relative;
  overflow: hidden;
  width: 100%;
  gap: calc(40 / var(--view-size) * var(--vw));
  padding: calc(40 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  border-radius: calc(4 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .eat_guide_reserve_card {
    flex-direction: column;
    align-items: stretch;
    gap: calc(20 / var(--view-size) * var(--vw));
    padding: calc(28 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve_card--guest {
  background: linear-gradient(90deg, #8DAFB6 0%, #B0CFD5 100%);
}

.eat_guide_reserve_card--dayuse {
  background: linear-gradient(90deg, #BF967F 0%, #59463B 100%);
}

.eat_guide_reserve_body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
}

.eat_guide_reserve_en {
  position: absolute;
  top: calc(16 / var(--view-size) * var(--vw));
  left: calc(48 / var(--view-size) * var(--vw));
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(44 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.06em;
  pointer-events: none;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .eat_guide_reserve_en {
    left: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(32 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve_card--guest .eat_guide_reserve_en {
  color: rgba(255, 255, 255, 0.28);
}

.eat_guide_reserve_card--dayuse .eat_guide_reserve_en {
  background: linear-gradient(180deg, #634837 0%, #926F5A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.eat_guide_reserve_ttl {
  position: relative;
  z-index: 1;
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (max-width: 768px) {
  .eat_guide_reserve_ttl {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve_text {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.95);
}
@media (max-width: 768px) {
  .eat_guide_reserve_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.8;
  }
}

.eat_guide_reserve_btn {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: calc(494 / var(--view-size) * var(--vw));
  max-width: 100%;
  min-height: calc(56 / var(--view-size) * var(--vw));
  padding: calc(16 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.eat_guide_reserve_btn:hover {
  opacity: 1;
  background-color: #231815;
  color: #fff;
}
.eat_guide_reserve_btn:hover .eat_guide_reserve_btn_icon:not(.eat_guide_reserve_btn_icon--external) img {
  opacity: 0;
}
.eat_guide_reserve_btn:hover .eat_guide_reserve_btn_icon:not(.eat_guide_reserve_btn_icon--external)::after {
  opacity: 1;
}
.eat_guide_reserve_btn:hover .eat_guide_reserve_btn_icon--external {
  background-color: #fff;
  color: #231815;
}
@media (max-width: 768px) {
  .eat_guide_reserve_btn {
    width: 100%;
    min-height: calc(48 / var(--view-size) * var(--vw));
    padding: calc(8 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve_card--dayuse .eat_guide_reserve_btn {
  background-color: #EDECE6;
}
.eat_guide_reserve_card--dayuse .eat_guide_reserve_btn:hover {
  background-color: #231815;
  color: #fff;
}

.eat_guide_reserve_btn_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  .eat_guide_reserve_btn_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.eat_guide_reserve_btn_icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(36 / var(--view-size) * var(--vw));
  height: calc(36 / var(--view-size) * var(--vw));
  border-radius: calc(4 / var(--view-size) * var(--vw));
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .eat_guide_reserve_btn_icon {
    width: calc(32 / var(--view-size) * var(--vw));
    height: calc(32 / var(--view-size) * var(--vw));
  }
}
.eat_guide_reserve_btn_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.eat_guide_reserve_btn_icon:not(.eat_guide_reserve_btn_icon--external)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.eat_guide_reserve_btn_icon--external {
  background-color: #231815;
  color: #fff;
  font-size: calc(14 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .eat_guide_reserve_btn_icon--external {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

/* ---------- Enjoy（様々な楽しみ方を見る） ---------- */
.onsen_sauna_enjoy {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_head {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_en {
  margin: 0 0 calc(8 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(54 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.08em;
  color: #B0CFD5;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_en {
    font-size: calc(24 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_ttl {
  justify-content: center;
  gap: calc(12 / var(--view-size) * var(--vw));
  margin: 0;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_ttl {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_ttl_icon {
  display: block;
  flex-shrink: 0;
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_ttl_icon {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_ttl_text {
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #231815;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_ttl_text {
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_list {
  gap: calc(15 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_list {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_item {
  width: calc((100% - 15 / var(--view-size) * var(--vw) * 2) / 3);
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_item {
    width: calc((100% - 8 / var(--view-size) * var(--vw)) / 2);
  }
}

.onsen_sauna_enjoy_card {
  position: relative;
  display: block;
  height: calc(340 / var(--view-size) * var(--vw));
  overflow: hidden;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
}
.onsen_sauna_enjoy_card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.28) 35%, rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.onsen_sauna_enjoy_card:hover {
  opacity: 1;
}
.onsen_sauna_enjoy_card:hover .onsen_sauna_enjoy_card_bg img {
  transform: scale(1.05);
}
.onsen_sauna_enjoy_card:hover .onsen_sauna_enjoy_card_arrow img {
  opacity: 0;
}
.onsen_sauna_enjoy_card:hover .onsen_sauna_enjoy_card_arrow::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card {
    height: calc(200 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_card_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.onsen_sauna_enjoy_card_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.onsen_sauna_enjoy_card_body {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(20 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_body {
    padding: calc(12 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_card_top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: calc(12 / var(--view-size) * var(--vw));
  width: 100%;
  min-height: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_top {
    min-height: 0;
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_card_day {
  flex-shrink: 0;
  margin-right: auto;
  gap: calc(8 / var(--view-size) * var(--vw));
  padding: calc(8 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 2px solid #8DAFB6;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_day {
    gap: calc(4 / var(--view-size) * var(--vw));
    padding: calc(4 / var(--view-size) * var(--vw)) calc(6 / var(--view-size) * var(--vw));
    border-width: 1px;
    border-radius: calc(3 / var(--view-size) * var(--vw));
  }
}

.onsen_sauna_enjoy_card_day_icon {
  display: block;
  flex-shrink: 0;
  width: calc(28 / var(--view-size) * var(--vw));
  height: calc(28 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_day_icon {
    width: calc(18 / var(--view-size) * var(--vw));
    height: calc(18 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_enjoy_card_day_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.onsen_sauna_enjoy_card_day_text {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_day_text {
    font-size: calc(10 / var(--view-size) * var(--vw));
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}

.onsen_sauna_enjoy_card_ttl {
  display: block;
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: right;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_ttl {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.35;
    letter-spacing: 0.02em;
  }
}

.onsen_sauna_enjoy_card_arrow {
  position: relative;
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  background-color: #b0cfd5;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  overflow: hidden;
}
.onsen_sauna_enjoy_card_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.onsen_sauna_enjoy_card_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .onsen_sauna_enjoy_card_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
}

.stay {
  position: relative;
  padding: calc(240 / var(--view-size) * var(--vw)) 0 calc(100 / var(--view-size) * var(--vw));
  background-color: #fff;
  overflow-x: clip;
}
@media (max-width: 768px) {
  .stay {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}
.stay .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.stay_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(1280 / var(--view-size) * var(--vw));
  height: 100%;
  background-color: #eaf1f4;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 768px) {
  .stay_bg {
    width: 100%;
  }
}

.stay_body {
  position: relative;
  z-index: 1;
  width: calc(1360 / var(--view-size) * var(--vw));
  max-width: calc(100% - 80 / var(--view-size) * var(--vw));
  margin-left: max(0px, (100vw - 1360 / var(--view-size) * var(--vw)) / 2);
  margin-right: auto;
  padding-top: calc(80 / var(--view-size) * var(--vw));
  padding-bottom: calc(80 / var(--view-size) * var(--vw));
  overflow: visible;
}
@media (max-width: 768px) {
  .stay_body {
    width: calc(345 / var(--view-size) * var(--vw));
    max-width: calc(100% - 30 / var(--view-size) * var(--vw));
    margin-left: auto;
    margin-right: auto;
    padding: calc(48 / var(--view-size) * var(--vw)) 0;
    overflow: visible;
    padding-bottom: 0;
    padding-top: 0;
  }
}

.stay_intro {
  margin-bottom: calc(120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_intro {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_intro_content {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .stay_intro_content {
    max-width: 100%;
  }
}

.stay_desc {
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  color: #231815;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_desc {
    font-size: calc(18 / var(--view-size) * var(--vw));
    font-weight: 500;
    line-height: 1.65;
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.stay_desc_sub {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_desc_sub {
    font-size: calc(12 / var(--view-size) * var(--vw));
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
  }
}

.stay_catch {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
  color: #231815;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_catch {
    font-size: calc(14 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.stay_catch_em {
  color: #799AA1;
}

.stay_intro_visual {
  position: absolute;
  top: calc(-100 / var(--view-size) * var(--vw));
  right: 0;
  width: calc(864 / var(--view-size) * var(--vw));
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 768px) {
  .stay_intro_visual {
    position: relative;
    top: auto;
    right: auto;
    width: calc(345 / var(--view-size) * var(--vw));
    max-width: calc(100% - 30 / var(--view-size) * var(--vw));
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
    padding-bottom: calc(88 / var(--view-size) * var(--vw));
  }
}

.stay_intro_visual_main img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .stay_intro_visual_main {
    overflow: hidden;
    border-radius: calc(6 / var(--view-size) * var(--vw));
    aspect-ratio: 345/230;
  }
  .stay_intro_visual_main img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
}

.stay_intro_visual_sub {
  position: absolute;
  right: calc(80 / var(--view-size) * var(--vw));
  bottom: calc(-328 / var(--view-size) * var(--vw));
  width: calc(390 / var(--view-size) * var(--vw));
  box-shadow: 0 calc(8 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw)) rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
  .stay_intro_visual_sub {
    right: calc(12 / var(--view-size) * var(--vw));
    bottom: 0;
    width: calc(180 / var(--view-size) * var(--vw));
    border-radius: calc(4 / var(--view-size) * var(--vw));
    overflow: hidden;
  }
}
.stay_intro_visual_sub img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media (max-width: 768px) {
  .stay_intro_visual_sub img {
    display: block;
    aspect-ratio: 180/120;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
  }
}

.stay_room_list {
  position: relative;
  z-index: 1;
  gap: calc(40 / var(--view-size) * var(--vw));
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_room_list {
    gap: calc(32 / var(--view-size) * var(--vw));
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.stay_room_item {
  width: calc((100% - 40 / var(--view-size) * var(--vw)) / 2);
}
@media (max-width: 768px) {
  .stay_room_item {
    width: 100%;
  }
}

a.stay_room_card,
.stay_room_card {
  display: block;
  color: inherit;
  text-decoration: none;
}
a.stay_room_card:hover,
.stay_room_card:hover {
  opacity: 1;
}

.stay_room_item--inactive .stay_room_card {
  cursor: default;
  pointer-events: none;
}

.stay_card_ttl {
  font-size: calc(23 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
  border-bottom: 1px solid #231815;
  display: inline-block;
  padding-bottom: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_card_ttl {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}
.stay_card_ttl .text_small {
  font-size: calc(18 / var(--view-size) * var(--vw));
  margin-left: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_card_ttl .text_small {
    font-size: calc(12 / var(--view-size) * var(--vw));
    margin-left: calc(8 / var(--view-size) * var(--vw));
  }
}

.stay_card_info {
  gap: calc(16 / var(--view-size) * var(--vw));
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_card_info {
    font-size: calc(11 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_room_visual {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
}
.stay_room_visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.stay_room_visual > img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  transition: transform 0.4s ease;
}
.stay_room_visual:hover, .stay_room_card:hover .stay_room_visual {
  opacity: 1;
}
.stay_room_visual:hover::after, .stay_room_card:hover .stay_room_visual::after {
  opacity: 1;
}
.stay_room_visual:hover > img, .stay_room_card:hover .stay_room_visual > img {
  transform: scale(1.05);
}
.stay_room_visual:hover .stay_room_arrow img, .stay_room_card:hover .stay_room_visual .stay_room_arrow img {
  opacity: 0;
}
.stay_room_visual:hover .stay_room_arrow::after, .stay_room_card:hover .stay_room_visual .stay_room_arrow::after {
  opacity: 1;
}

.stay_room_arrow {
  position: absolute;
  top: calc(16 / var(--view-size) * var(--vw));
  left: calc(16 / var(--view-size) * var(--vw));
  z-index: 2;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
.stay_room_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.4s ease;
}
.stay_room_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .stay_room_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
    top: calc(12 / var(--view-size) * var(--vw));
    left: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_connect {
  gap: calc(40 / var(--view-size) * var(--vw));
  padding: calc(16 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
  background-color: #8F8F8F;
  color: #fff;
  border-radius: calc(6 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_connect {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(8 / var(--view-size) * var(--vw));
    padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.stay_connect_visual {
  flex-shrink: 0;
  width: calc(400 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_connect_visual {
    order: 3;
    width: 100%;
    max-width: calc(250 / var(--view-size) * var(--vw));
    margin: 0 auto;
  }
}
.stay_connect_visual img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.stay_connect_content {
  min-width: 0;
}
@media (max-width: 768px) {
  .stay_connect_content {
    display: contents;
  }
}

.stay_connect_ttl {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_connect_ttl {
    order: 1;
    font-size: calc(16 / var(--view-size) * var(--vw));
    line-height: 1.5;
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
  }
}

.stay_connect_capacity {
  display: inline-block;
  margin-top: calc(4 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  opacity: 0.8;
  margin-left: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_connect_capacity {
    display: block;
    margin-top: calc(4 / var(--view-size) * var(--vw));
    margin-left: 0;
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.stay_connect_desc {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .stay_connect_desc {
    order: 2;
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.65;
    margin-bottom: calc(4 / var(--view-size) * var(--vw));
  }
}

.stay_special {
  margin-bottom: calc(160 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_special {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

a.stay_special_visual,
.stay_special_visual {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: calc(510 / var(--view-size) * var(--vw));
  border-radius: calc(6 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  a.stay_special_visual,
  .stay_special_visual {
    width: 100%;
    height: auto;
    aspect-ratio: 925/574;
  }
}
a.stay_special_visual::after,
.stay_special_visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
a.stay_special_visual > img,
.stay_special_visual > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
  transition: transform 0.4s ease;
}
a.stay_special_visual:hover,
.stay_special_visual:hover {
  opacity: 1;
}
a.stay_special_visual:hover::after,
.stay_special_visual:hover::after {
  opacity: 1;
}
a.stay_special_visual:hover > img,
.stay_special_visual:hover > img {
  transform: scale(1.05);
}
a.stay_special_visual:hover .stay_special_arrow img,
.stay_special_visual:hover .stay_special_arrow img {
  opacity: 0;
}
a.stay_special_visual:hover .stay_special_arrow::after,
.stay_special_visual:hover .stay_special_arrow::after {
  opacity: 1;
}

.stay_special--inactive .stay_special_visual {
  cursor: default;
  pointer-events: none;
}

.stay_special_arrow {
  position: absolute;
  top: calc(16 / var(--view-size) * var(--vw));
  left: calc(16 / var(--view-size) * var(--vw));
  z-index: 2;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
.stay_special_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.4s ease;
}
.stay_special_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .stay_special_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
    top: calc(12 / var(--view-size) * var(--vw));
    left: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_rv {
  position: relative;
  z-index: 1;
}

.stay_rv_inner {
  position: relative;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  padding: calc(80 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  padding-left: 0;
  padding-right: calc(420 / var(--view-size) * var(--vw));
  overflow: visible;
}
@media (max-width: 768px) {
  .stay_rv_inner {
    display: grid;
    grid-template-columns: 1fr;
    padding: calc(32 / var(--view-size) * var(--vw)) 0;
    padding-bottom: 0;
  }
}

.stay_rv_content {
  position: relative;
  z-index: 1;
  max-width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_rv_content {
    display: contents;
    max-width: 100%;
  }
}
.stay_rv_content .sec_link {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: calc(80 / var(--view-size) * var(--vw));
  margin-left: auto;
}
@media (max-width: 768px) {
  .stay_rv_content .sec_link {
    margin-top: calc(4 / var(--view-size) * var(--vw));
    margin-left: 0;
    order: 6;
  }
}

.stay_rv_ttl,
.stay_rv_label,
.stay_rv_catch,
.stay_rv_desc {
  grid-column: auto;
}

.stay_rv_ttl {
  font-family: "Outfit", sans-serif;
  font-size: calc(90 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1;
  color: #B0CFD5;
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_rv_ttl {
    order: 1;
    font-size: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_rv_label {
  font-size: calc(30 / var(--view-size) * var(--vw));
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_rv_label {
    order: 2;
    font-size: calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.stay_rv_catch {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #231815;
  margin-bottom: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_rv_catch {
    order: 4;
    font-size: calc(16 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.stay_rv_catch_em {
  color: #799AA1;
}

.stay_rv_desc {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}
.stay_rv_desc:last-of-type {
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_rv_desc {
    order: 5;
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
  .stay_rv_desc:last-of-type {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.stay_rv_visual {
  position: absolute;
  top: 50%;
  right: calc(40 / var(--view-size) * var(--vw));
  transform: translateY(-50%);
  width: calc(800 / var(--view-size) * var(--vw));
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 768px) {
  .stay_rv_visual {
    order: 3;
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    pointer-events: auto;
  }
}
.stay_rv_visual img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* 下層ページ共通 */
.is-subpage {
  background-color: #F2F0E2;
}

.inner_1280 {
  width: calc(1280 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_1280 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_928 {
  width: calc(928 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_928 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_1000 {
  width: calc(1000 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_1000 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_768 {
  width: calc(768 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_768 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_930 {
  width: calc(930 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_930 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_1120 {
  width: calc(1120 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_1120 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.inner_736 {
  width: calc(736 / var(--view-size) * var(--vw));
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner_736 {
    width: calc(345 / var(--view-size) * var(--vw));
  }
}

.common_mv {
  padding-top: calc(160 / var(--view-size) * var(--vw));
  padding-bottom: calc(48 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .common_mv {
    padding-top: calc(88 / var(--view-size) * var(--vw));
    padding-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}
.common_mv .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .common_mv .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}
.common_mv .sec_lead {
  margin-bottom: 0;
}

.common_mv_head {
  position: relative;
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .common_mv_head {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.common_mv_head_left {
  min-width: 0;
}

.common_mv .mv_scroll {
  position: relative;
  bottom: auto;
  right: auto;
  flex-shrink: 0;
}

.common_mv_line {
  height: 1px;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  background-color: rgba(35, 24, 21, 0.15);
}
@media (max-width: 768px) {
  .common_mv_line {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.common_mv_bread_list {
  gap: calc(8 / var(--view-size) * var(--vw));
  list-style: none;
  flex-wrap: wrap;
}

.common_mv_bread_item {
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .common_mv_bread_item {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}
.common_mv_bread_item:not(:last-child)::after {
  content: "｜";
  margin-left: calc(8 / var(--view-size) * var(--vw));
  color: rgba(35, 24, 21, 0.4);
}
.common_mv_bread_item a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: calc(2 / var(--view-size) * var(--vw));
}

@media (max-width: 768px) {
  .common_mv_bread_list--ellipsis {
    flex-wrap: nowrap;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .common_mv_bread_list--ellipsis .common_mv_bread_item:not(.common_mv_bread_item--current) {
    flex-shrink: 0;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .common_mv_bread_list--ellipsis .common_mv_bread_item--current {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.stay_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .stay_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}
.stay_page .stay_desc {
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
  font-size: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page .stay_desc {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}
.stay_page .stay_desc_sub {
  margin-bottom: 0;
}
.stay_page .stay_connect {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page .stay_connect {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_page_intro {
  margin-bottom: calc(120 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_intro {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_page_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.stay_page_item {
  margin-bottom: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_item {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}
.stay_page_item:last-child {
  margin-bottom: 0;
}

.stay_page_card {
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card {
    flex-direction: column;
    gap: calc(24 / var(--view-size) * var(--vw));
    align-items: flex-start;
  }
}

.stay_page_card_body {
  flex: 1;
  min-width: 0;
  max-width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card_body {
    max-width: 100%;
  }
}
.stay_page_card_body .sec_link {
  margin-top: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card_body .sec_link {
    margin-top: calc(20 / var(--view-size) * var(--vw));
  }
}

a.stay_page_card_body {
  display: block;
  color: inherit;
  text-decoration: none;
}
a.stay_page_card_body:hover {
  opacity: 1;
}
a.stay_page_card_body:hover .sec_link_text {
  border-bottom: 1px solid #231815;
}
a.stay_page_card_body:hover .sec_link_icon:not(.sec_link_icon--dark) img {
  opacity: 0;
}
a.stay_page_card_body:hover .sec_link_icon:not(.sec_link_icon--dark)::after {
  opacity: 1;
}

.stay_page_card_en {
  font-family: "Outfit", sans-serif;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #B0CFD5;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card_en {
    font-size: calc(14 / var(--view-size) * var(--vw));
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
  }
}

.stay_page_card_ttl {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
  border-bottom: 1px solid #231815;
}
@media (max-width: 768px) {
  .stay_page_card_ttl {
    font-size: calc(18 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}
.stay_page_card_ttl .text_small {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 500;
  margin-left: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card_ttl .text_small {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-left: calc(4 / var(--view-size) * var(--vw));
  }
}

.stay_page_card_info {
  gap: calc(16 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_page_card_info {
    gap: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.stay_page_card_visual {
  position: relative;
  flex-shrink: 0;
  width: calc(640 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_page_card_visual {
    width: 100%;
  }
}
.stay_page_card_visual .stay_page_card_slide.slick-initialized {
  position: relative;
}
.stay_page_card_visual .slick-dots {
  position: absolute;
  bottom: calc(16 / var(--view-size) * var(--vw));
  right: calc(16 / var(--view-size) * var(--vw));
  z-index: 2;
  display: flex !important;
  justify-content: flex-end;
  gap: calc(8 / var(--view-size) * var(--vw));
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .stay_page_card_visual .slick-dots {
    bottom: calc(12 / var(--view-size) * var(--vw));
    right: calc(12 / var(--view-size) * var(--vw));
  }
}
.stay_page_card_visual .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.stay_page_card_visual .slick-dots li button {
  width: calc(8 / var(--view-size) * var(--vw));
  height: calc(8 / var(--view-size) * var(--vw));
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7);
  font-size: 0;
  line-height: 0;
  transition: background-color 0.3s ease;
}
.stay_page_card_visual .slick-dots li button::before {
  display: none;
}
.stay_page_card_visual .slick-dots li.slick-active button {
  background-color: #B0CFD5;
}

.stay_page_card_slide {
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  margin-bottom: 0;
}
.stay_page_card_slide.slick-initialized .slick-list {
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
}

.stay_page_card_slide_item {
  overflow: hidden;
}
.stay_page_card_slide_item img {
  display: block;
  width: 100%;
  aspect-ratio: 925/574;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

/* 客室詳細ページ */
.stay_detail {
  padding-top: calc(160 / var(--view-size) * var(--vw));
  padding-bottom: calc(80 / var(--view-size) * var(--vw));
  overflow-x: clip;
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .stay_detail {
    padding-top: calc(88 / var(--view-size) * var(--vw));
    padding-bottom: calc(48 / var(--view-size) * var(--vw));
    overflow-x: visible;
  }
}
.stay_detail .common_mv_bread {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail .common_mv_bread {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.stay_detail_hero {
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_hero {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
    align-items: flex-start;
  }
}

.stay_detail_head {
  flex: 1;
  min-width: 0;
  padding-bottom: calc(8 / var(--view-size) * var(--vw));
  padding-top: calc(70 / var(--view-size) * var(--vw));
  z-index: 100;
}
@media (max-width: 768px) {
  .stay_detail_head {
    padding-bottom: 0;
    padding-top: calc(40 / var(--view-size) * var(--vw));
  }
}

.stay_detail_en {
  font-family: "Outfit", sans-serif;
  font-size: calc(102 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #B0CFD5;
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_en {
    font-size: calc(56 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_ttl {
  font-size: calc(48 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_ttl {
    font-size: calc(20 / var(--view-size) * var(--vw));
    margin-bottom: calc(4 / var(--view-size) * var(--vw));
  }
}

.stay_detail_spec {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_spec {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.stay_detail_gallery {
  flex-shrink: 0;
  width: calc(832 / var(--view-size) * var(--vw));
  max-width: 832px;
  margin-right: calc((100vw - 100%) / -2);
}
@media (max-width: 768px) {
  .stay_detail_gallery {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }
}

.stay_detail_visual {
  position: relative;
}

.stay_detail_slide {
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw)) 0 0 calc(6 / var(--view-size) * var(--vw));
}
.stay_detail_slide.slick-initialized .slick-list {
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw)) 0 0 calc(6 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_slide {
    border-radius: calc(6 / var(--view-size) * var(--vw));
  }
  .stay_detail_slide.slick-initialized .slick-list {
    border-radius: calc(6 / var(--view-size) * var(--vw));
  }
}

.stay_detail_slide_item {
  overflow: hidden;
}
.stay_detail_slide_item img {
  display: block;
  width: 100%;
  aspect-ratio: 925/574;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.stay_detail_nav {
  position: absolute;
  left: calc(16 / var(--view-size) * var(--vw));
  bottom: calc(16 / var(--view-size) * var(--vw));
  z-index: 2;
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_nav {
    left: calc(12 / var(--view-size) * var(--vw));
    bottom: calc(12 / var(--view-size) * var(--vw));
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_nav_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(24 / var(--view-size) * var(--vw));
  height: calc(24 / var(--view-size) * var(--vw));
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .stay_detail_nav_btn {
    width: calc(20 / var(--view-size) * var(--vw));
    height: calc(20 / var(--view-size) * var(--vw));
  }
}
.stay_detail_nav_btn:hover {
  opacity: 0.7;
}

.stay_detail_nav_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1;
}
@media (max-width: 768px) {
  .stay_detail_nav_icon {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_thumb_list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: calc(8 / var(--view-size) * var(--vw));
  margin-top: calc(12 / var(--view-size) * var(--vw));
  list-style: none;
}
@media (max-width: 768px) {
  .stay_detail_thumb_list {
    gap: calc(6 / var(--view-size) * var(--vw));
    margin-top: calc(8 / var(--view-size) * var(--vw));
  }
}

.stay_detail_thumb_item {
  min-width: 0;
}

.stay_detail_thumb_btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid transparent;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  overflow: hidden;
  background: transparent;
  cursor: pointer;
  opacity: 0.35;
  transition: opacity 0.3s ease, border-color 0.3s ease;
}
.stay_detail_thumb_btn img {
  display: block;
  width: 100%;
  aspect-ratio: 925/574;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
}
.stay_detail_thumb_btn:hover {
  opacity: 0.7;
}

.stay_detail_thumb_item.is-active .stay_detail_thumb_btn {
  opacity: 1;
  border-color: #231815;
}

.stay_detail_about {
  padding: calc(80 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .stay_detail_about {
    padding: calc(48 / var(--view-size) * var(--vw)) 0;
  }
}

.stay_detail_about_inner {
  gap: calc(96 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_about_inner {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
    align-items: flex-start;
  }
}

.stay_detail_floor {
  flex-shrink: 0;
  width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_floor {
    width: 100%;
    padding: calc(24 / var(--view-size) * var(--vw));
  }
}
.stay_detail_floor img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.stay_detail_about_body {
  flex: 1;
  min-width: 0;
}

.stay_detail_desc {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_desc {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_spec_list {
  margin: 0;
}

.stay_detail_spec_row {
  gap: calc(64 / var(--view-size) * var(--vw));
  padding: calc(20 / var(--view-size) * var(--vw)) 0;
  border-bottom: 1px solid rgba(35, 24, 21, 0.15);
}
@media (max-width: 768px) {
  .stay_detail_spec_row {
    gap: calc(16 / var(--view-size) * var(--vw));
    padding: calc(16 / var(--view-size) * var(--vw)) 0;
  }
}

.stay_detail_spec_label {
  flex-shrink: 0;
  width: calc(80 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_spec_label {
    width: calc(56 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_spec_value {
  margin: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  text-align: right;
}
@media (max-width: 768px) {
  .stay_detail_spec_value {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_sub_ttl {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  justify-content: center;
}
@media (max-width: 768px) {
  .stay_detail_sub_ttl {
    gap: calc(8 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.stay_detail_facility {
  padding: calc(80 / var(--view-size) * var(--vw)) 0;
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .stay_detail_facility {
    padding-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_detail_facility_box {
  padding: calc(80 / var(--view-size) * var(--vw)) calc(96 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  box-shadow: 0 calc(4 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) rgba(0, 0, 0, 0.06);
}
@media (max-width: 768px) {
  .stay_detail_facility_box {
    padding: calc(8 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}

.stay_detail_facility_list {
  margin: 0;
}

.stay_detail_facility_row {
  display: flex;
}
@media (max-width: 768px) {
  .stay_detail_facility_row {
    flex-direction: column;
    gap: calc(8 / var(--view-size) * var(--vw));
    padding: calc(20 / var(--view-size) * var(--vw)) 0;
    border-bottom: 1px solid rgba(35, 24, 21, 0.12);
  }
  .stay_detail_facility_row:last-child {
    border-bottom: none;
  }
}
.stay_detail_facility_row:not(:first-child) {
  margin-top: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_facility_row:not(:first-child) {
    margin-top: 0;
  }
}

.stay_detail_facility_label {
  flex-shrink: 0;
  width: calc(160 / var(--view-size) * var(--vw));
  padding-bottom: calc(24 / var(--view-size) * var(--vw));
  border-bottom: 1px solid #B0CFD5;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_facility_label {
    width: 100%;
    padding-bottom: 0;
    border-bottom: none;
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_facility_value {
  margin: 0;
  flex: 1;
  min-width: 0;
  padding-bottom: calc(24 / var(--view-size) * var(--vw));
  border-bottom: 1px solid #231815;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_facility_value {
    padding-bottom: 0;
    border-bottom: none;
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.stay_detail_bottom {
  padding-bottom: calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .stay_detail_bottom {
    padding-bottom: calc(64 / var(--view-size) * var(--vw));
  }
}
.stay_detail_bottom .stay_connect {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_bottom .stay_connect {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_detail_line {
  height: 1px;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
  background-color: rgba(35, 24, 21, 0.15);
}
@media (max-width: 768px) {
  .stay_detail_line {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.stay_detail_rooms_list {
  gap: calc(24 / var(--view-size) * var(--vw));
  list-style: none;
}
@media (max-width: 768px) {
  .stay_detail_rooms_list {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.stay_detail_rooms_item {
  width: calc((100% - 48 / var(--view-size) * var(--vw)) / 3);
}
@media (max-width: 768px) {
  .stay_detail_rooms_item {
    width: 100%;
  }
}

.stay_detail_rooms_visual {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
}
.stay_detail_rooms_visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.stay_detail_rooms_visual > img {
  display: block;
  width: 100%;
  aspect-ratio: 925/574;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  vertical-align: bottom;
  transition: transform 0.4s ease;
}
.stay_detail_rooms_visual:hover {
  opacity: 1;
}
.stay_detail_rooms_visual:hover::after {
  opacity: 1;
}
.stay_detail_rooms_visual:hover > img {
  transform: scale(1.05);
}
.stay_detail_rooms_visual:hover .stay_detail_rooms_arrow img {
  opacity: 0;
}
.stay_detail_rooms_visual:hover .stay_detail_rooms_arrow::after {
  opacity: 1;
}

.stay_detail_rooms_arrow {
  position: absolute;
  right: calc(16 / var(--view-size) * var(--vw));
  bottom: calc(16 / var(--view-size) * var(--vw));
  z-index: 2;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_rooms_arrow {
    right: calc(12 / var(--view-size) * var(--vw));
    bottom: calc(12 / var(--view-size) * var(--vw));
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
}
.stay_detail_rooms_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.4s ease;
}
.stay_detail_rooms_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.stay_detail_rooms_label {
  margin-top: calc(12 / var(--view-size) * var(--vw));
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .stay_detail_rooms_label {
    margin-top: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.stay_detail_rooms_label .border_bottom {
  border-bottom: 1px solid #231815;
  padding-bottom: calc(10 / var(--view-size) * var(--vw));
}
.stay_detail_rooms_label .text_small {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  margin-left: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .stay_detail_rooms_label .text_small {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.facilities {
  padding: calc(180 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .facilities {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
    padding-bottom: 0;
  }
}
.facilities .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .facilities .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}
.facilities .sec_ttl_icon {
  background-color: #B0CFD5;
}

.facilities_head {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
.facilities_head .sec_lead {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .facilities_head {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
  .facilities_head .sec_lead {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.facilities_intro {
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .facilities_intro {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(20 / var(--view-size) * var(--vw));
  }
}

.facilities_intro_text {
  flex: 1;
  min-width: 0;
}

.facilities_intro_en {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.3;
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .facilities_intro_en {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}

.facilities_intro_desc {
  margin: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .facilities_intro_desc {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

/* 施設一覧ページ */
.facilities_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .facilities_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.facilities_page_lead {
  margin: 0 0 calc(40 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .facilities_page_lead {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.facilities_page_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .facilities_page_list {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.facilities_page_item {
  width: calc((100% - 16 / var(--view-size) * var(--vw)) / 2);
}
@media (max-width: 768px) {
  .facilities_page_item {
    width: calc((100% - 8 / var(--view-size) * var(--vw)) / 2);
  }
}

.facilities_page_card {
  position: relative;
  display: block;
  height: calc(340 / var(--view-size) * var(--vw));
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  color: #fff;
}
.facilities_page_card:hover {
  opacity: 1;
}
.facilities_page_card:hover .facilities_page_card_bg img {
  transform: scale(1.05);
}
.facilities_page_card:hover .facilities_page_card_arrow img {
  opacity: 0;
}
.facilities_page_card:hover .facilities_page_card_arrow::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .facilities_page_card {
    height: calc(120 / var(--view-size) * var(--vw));
    border-radius: calc(4 / var(--view-size) * var(--vw));
  }
}

.facilities_page_card_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.facilities_page_card_bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  transition: transform 0.4s ease;
}

.facilities_page_card_body {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: calc(20 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .facilities_page_card_body {
    padding: calc(10 / var(--view-size) * var(--vw));
  }
}

.facilities_page_card_top {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: calc(12 / var(--view-size) * var(--vw));
  width: 100%;
  min-height: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .facilities_page_card_top {
    min-height: 0;
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.facilities_page_card_day {
  flex-shrink: 0;
  margin-right: auto;
  gap: calc(8 / var(--view-size) * var(--vw));
  padding: calc(8 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 2px solid #8DAFB6;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .facilities_page_card_day {
    gap: calc(4 / var(--view-size) * var(--vw));
    padding: calc(4 / var(--view-size) * var(--vw)) calc(6 / var(--view-size) * var(--vw));
    border-width: 1px;
    border-radius: calc(3 / var(--view-size) * var(--vw));
  }
}

.facilities_page_card_day_icon {
  display: block;
  flex-shrink: 0;
  width: calc(28 / var(--view-size) * var(--vw));
  height: calc(28 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .facilities_page_card_day_icon {
    width: calc(18 / var(--view-size) * var(--vw));
    height: calc(18 / var(--view-size) * var(--vw));
  }
}
.facilities_page_card_day_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.facilities_page_card_day_text {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #8DAFB6;
}
@media (max-width: 768px) {
  .facilities_page_card_day_text {
    font-size: calc(10 / var(--view-size) * var(--vw));
    line-height: 1.25;
    letter-spacing: 0.02em;
  }
}

.facilities_page_card_ttl {
  display: block;
  flex: 1;
  min-width: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: right;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .facilities_page_card_ttl {
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.35;
    letter-spacing: 0.02em;
  }
}

.facilities_page_card_arrow {
  position: relative;
  align-self: flex-end;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
.facilities_page_card_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.facilities_page_card_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .facilities_page_card_arrow {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
}

/* HOW TO SPEND / FEATURES（lounge / rvpark 共通） */
.outdoor_lounge_spend {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background: rgba(176, 207, 213, 0.2);
}
@media (max-width: 768px) {
  .outdoor_lounge_spend {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_head {
  margin-bottom: calc(56 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_head {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_en {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(54 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_en {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_lead {
  margin: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_lead {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(56 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_list {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_item {
  display: flex;
  align-items: center;
  gap: calc(28 / var(--view-size) * var(--vw));
  width: calc((100% - 48 / var(--view-size) * var(--vw)) / 2);
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_item {
    width: 100%;
    gap: calc(16 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_visual {
  flex-shrink: 0;
  width: calc(142 / var(--view-size) * var(--vw));
  overflow: hidden;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_visual {
    width: calc(110 / var(--view-size) * var(--vw));
  }
}
.outdoor_lounge_spend_visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.outdoor_lounge_spend_body {
  flex: 1;
  min-width: 0;
}

.outdoor_lounge_spend_label {
  margin: 0 0 calc(8 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: #C6C095;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_label {
    margin-bottom: calc(4 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_ttl {
  margin: 0 0 calc(36 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_ttl {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_spend_text {
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_text {
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
  .outdoor_lounge_spend_text br {
    display: none;
  }
}

.outdoor_lounge_spend_text_caption {
  margin: calc(4 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  opacity: 0.6;
}
@media (max-width: 768px) {
  .outdoor_lounge_spend_text_caption {
    margin-top: calc(4 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

/* Outdoor Lounge 下層 */
/* ---------- MORE TO COME ---------- */
.outdoor_lounge_more {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .outdoor_lounge_more {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_top {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_more_top {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_en {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(64 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #C6C095;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_en {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(32 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_body {
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_more_body {
    flex-direction: column;
    gap: calc(24 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_ttl {
  flex-shrink: 0;
  margin: 0;
  max-width: calc(480 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #799AA1;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_ttl {
    max-width: none;
    width: 100%;
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_text {
  flex: 1;
  min-width: 0;
  max-width: calc(480 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_more_text {
    max-width: none;
    width: 100%;
  }
}
.outdoor_lounge_more_text p {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
  .outdoor_lounge_more_text p br {
    display: none;
  }
}
.outdoor_lounge_more_text p:last-child {
  margin-bottom: 0;
}

.outdoor_lounge_more_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_list {
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_item {
  width: calc((100% - 40 / var(--view-size) * var(--vw) * 2) / 3);
}
@media (max-width: 768px) {
  .outdoor_lounge_more_item {
    width: 100%;
  }
}

.outdoor_lounge_more_item_inner {
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_more_item_inner {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_icon {
  flex-shrink: 0;
  width: calc(56 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_more_icon {
    width: calc(44 / var(--view-size) * var(--vw));
  }
}
.outdoor_lounge_more_icon img {
  display: block;
  width: 100%;
  height: auto;
}

.outdoor_lounge_more_item_body {
  flex: 1;
  min-width: 0;
}

.outdoor_lounge_more_label {
  margin: 0 0 calc(6 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: #799AA1;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_label {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_item_ttl {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_item_ttl {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_more_item_text {
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: calc(18 / var(--view-size) * var(--vw));
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_more_item_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

/* ---------- Guide（ご利用案内） ---------- */
.outdoor_lounge_guide .onsen_sauna_guide_en {
  color: #C8C7BF;
}
.outdoor_lounge_guide .onsen_sauna_guide_en_deco {
  background-color: #C8C7BF;
}
.outdoor_lounge_guide .onsen_sauna_guide_table {
  margin-bottom: 0;
}
.outdoor_lounge_guide .onsen_sauna_guide_row dd p {
  margin-bottom: 0;
}
.outdoor_lounge_guide .onsen_sauna_guide_notes li {
  color: #231815;
}

/* ---------- HESTA WELLNESS GARDEN ---------- */
.outdoor_lounge_garden {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_head {
  margin-bottom: calc(56 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_head {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
    text-align: left;
  }
}

.outdoor_lounge_garden_en {
  margin: 0 0 calc(16 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(54 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: #B0CFD5;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_en {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_ttl {
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_ttl {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_text p {
  margin: 0 0 calc(16 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_text p {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
  .outdoor_lounge_garden_text p br {
    display: none;
  }
}
.outdoor_lounge_garden_text p:last-child {
  margin-bottom: 0;
}

.outdoor_lounge_garden_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(16 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_list {
    flex-direction: column;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_item {
  width: calc((100% - 16 / var(--view-size) * var(--vw) * 2) / 3);
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_item {
    width: 100%;
  }
}

.outdoor_lounge_garden_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  color: #231815;
  background-color: #F2F0E2;
  transition: 0.3s;
}
.outdoor_lounge_garden_card:hover {
  opacity: 1;
}
.outdoor_lounge_garden_card:hover .outdoor_lounge_garden_card_visual img {
  transform: scale(1.05);
}
.outdoor_lounge_garden_card:hover .outdoor_lounge_garden_card_body {
  background: rgba(176, 207, 213, 0.2);
}
.outdoor_lounge_garden_card--current {
  background-color: #8DAFB6;
  color: #fff;
  cursor: default;
}
.outdoor_lounge_garden_card--current:hover .outdoor_lounge_garden_card_visual img {
  transform: none;
}
.outdoor_lounge_garden_card--current:hover .outdoor_lounge_garden_card_body {
  background: transparent;
}
.outdoor_lounge_garden_card--current .outdoor_lounge_garden_card_text {
  color: #fff;
}

.outdoor_lounge_garden_card_visual {
  overflow: hidden;
}
.outdoor_lounge_garden_card_visual img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.outdoor_lounge_garden_card_body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: calc(24 / var(--view-size) * var(--vw));
  transition: background-color 0.3s ease;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_body {
    padding: calc(16 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_card_head {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_head {
    gap: calc(10 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_card_mark {
  flex-shrink: 0;
  width: calc(14 / var(--view-size) * var(--vw));
  height: calc(14 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_mark {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
    margin-top: calc(4 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_card_titles {
  flex: 1;
  min-width: 0;
}

.outdoor_lounge_garden_card_ja {
  margin: 0 0 calc(4 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_ja {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_card_en_ttl {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_en_ttl {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.outdoor_lounge_garden_card_arrow {
  flex-shrink: 0;
  display: block;
  width: calc(36 / var(--view-size) * var(--vw));
  height: calc(36 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_arrow {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
}
.outdoor_lounge_garden_card_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.outdoor_lounge_garden_card_text {
  margin: 0;
  margin-top: auto;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .outdoor_lounge_garden_card_text {
    font-size: calc(12 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
  .outdoor_lounge_garden_card_text br {
    display: none;
  }
}

/* フルブリード フィーチャー帯（shop / lounge 共通） */
.feature_band {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  height: calc(663 / var(--view-size) * var(--vw));
  padding: 0;
  color: #fff;
}
@media (max-width: 768px) {
  .feature_band {
    height: auto;
    padding: calc(80 / var(--view-size) * var(--vw)) 0;
  }
}

.feature_band_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.feature_band_bg img {
  position: absolute;
  top: -18%;
  left: 0;
  width: 100%;
  height: 142%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.feature_band_inner {
  position: relative;
  z-index: 2;
  flex-wrap: nowrap;
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .feature_band_inner {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: calc(28 / var(--view-size) * var(--vw));
  }
}

.feature_band_en {
  flex-shrink: 0;
  align-self: center;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(60 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: #fff;
}
@media (max-width: 768px) {
  .feature_band_en {
    align-self: flex-start;
    font-size: calc(48 / var(--view-size) * var(--vw));
  }
}

.feature_band_content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: calc(520 / var(--view-size) * var(--vw));
  padding: calc(48 / var(--view-size) * var(--vw)) 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .feature_band_content {
    max-width: none;
    width: 100%;
    padding: 0;
  }
}

.feature_band_ttl {
  margin: 0 0 calc(48 / var(--view-size) * var(--vw));
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #fff;
}
@media (max-width: 768px) {
  .feature_band_ttl {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(22 / var(--view-size) * var(--vw));
  }
}

.feature_band_text {
  padding-left: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .feature_band_text {
    padding-left: 0;
  }
}
.feature_band_text p {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .feature_band_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.feature_band_text p:last-child {
  margin-bottom: 0;
}

.shop {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 0;
  background-color: #fff;
}
@media (max-width: 768px) {
  .shop {
    padding: calc(64 / var(--view-size) * var(--vw)) 0 0;
  }
}
.shop .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.shop_main {
  gap: calc(40 / var(--view-size) * var(--vw));
  align-items: flex-start;
  margin-bottom: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_main {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.shop_content {
  flex: 1;
  min-width: 0;
}

.shop_content .sec_head {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
.shop_content .sec_head .sec_lead {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .shop_content .sec_head {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.shop_label_wrap {
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_label_wrap {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.shop_catch {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_catch {
    font-size: calc(14 / var(--view-size) * var(--vw));
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.shop_desc {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_desc {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.shop_link_wrap {
  justify-content: flex-end;
}
.shop_link_wrap .sec_link_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: #B0CFD5;
}

.shop_visual {
  flex-shrink: 0;
  width: calc(676 / var(--view-size) * var(--vw));
  border-radius: calc(6 / var(--view-size) * var(--vw));
  overflow: hidden;
}
@media (max-width: 768px) {
  .shop_visual {
    width: 100%;
  }
}
.shop_visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.shop_visual_wide {
  margin-top: calc(240 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_visual_wide {
    margin-top: calc(90 / var(--view-size) * var(--vw));
  }
}

/* shop.html 下層 */
/* shop MV：日帰りバッジとタグを横並び（タグは2列） */
.onsen_sauna_mv--eat.onsen_sauna_mv--shop .onsen_sauna_mv_meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat.onsen_sauna_mv--shop .onsen_sauna_mv_meta {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}
.onsen_sauna_mv--eat.onsen_sauna_mv--shop .onsen_sauna_mv_tags {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  gap: calc(6 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .onsen_sauna_mv--eat.onsen_sauna_mv--shop .onsen_sauna_mv_tags {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.shop_goods {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .shop_goods {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.shop_goods_head {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .shop_goods_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.shop_goods_en {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(64 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .shop_goods_en {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.shop_goods_lead {
  margin: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .shop_goods_lead {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.shop_goods_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(24 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .shop_goods_list {
    flex-direction: column;
    gap: calc(20 / var(--view-size) * var(--vw));
  }
}

.shop_goods_item {
  width: calc((100% - 24 / var(--view-size) * var(--vw)) / 2);
}
@media (max-width: 768px) {
  .shop_goods_item {
    width: 100%;
  }
}

.shop_goods_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: calc(8 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}

.shop_goods_visual {
  overflow: hidden;
}
.shop_goods_visual img {
  display: block;
  width: 100%;
  aspect-ratio: 418/316;
  -o-object-fit: cover;
     object-fit: cover;
}

.shop_goods_body {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: center;
  padding: calc(40 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw));
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .shop_goods_body {
    padding: calc(28 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  }
}

.shop_goods_ttl {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .shop_goods_ttl {
    margin-bottom: calc(14 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.shop_goods_text {
  margin: 0;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
  text-align: left;
}
@media (max-width: 768px) {
  .shop_goods_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}

.shop_goods_store_link {
  gap: calc(16 / var(--view-size) * var(--vw));
  margin-top: calc(28 / var(--view-size) * var(--vw));
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.shop_goods_store_link:hover {
  opacity: 0.75;
}
@media (max-width: 768px) {
  .shop_goods_store_link {
    gap: calc(12 / var(--view-size) * var(--vw));
    margin-top: calc(20 / var(--view-size) * var(--vw));
  }
}

.shop_goods_store_logo {
  display: block;
  width: calc(211 / var(--view-size) * var(--vw));
  max-width: 211px;
  height: auto;
}
@media (max-width: 768px) {
  .shop_goods_store_logo {
    width: calc(160 / var(--view-size) * var(--vw));
  }
}

.shop_goods_store_icon {
  flex-shrink: 0;
  display: block;
  width: calc(30 / var(--view-size) * var(--vw));
  height: calc(30 / var(--view-size) * var(--vw));
}
.shop_goods_store_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .shop_goods_store_icon {
    width: calc(26 / var(--view-size) * var(--vw));
    height: calc(26 / var(--view-size) * var(--vw));
  }
}

/* rvpark.html */
.rvpark_mv_reserve_btn {
  gap: calc(16 / var(--view-size) * var(--vw));
  width: 100%;
  max-width: calc(400 / var(--view-size) * var(--vw));
  min-height: calc(64 / var(--view-size) * var(--vw));
  margin-top: calc(24 / var(--view-size) * var(--vw));
  padding: calc(12 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid #231815;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.rvpark_mv_reserve_btn:hover {
  background-color: #231815;
  color: #fff;
}
.rvpark_mv_reserve_btn:hover .rvpark_mv_reserve_btn_icon {
  background-color: #fff;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_mv_reserve_btn {
    max-width: none;
    min-height: calc(52 / var(--view-size) * var(--vw));
    margin-top: calc(0 / var(--view-size) * var(--vw));
    padding: calc(10 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  }
}

.rvpark_mv_reserve_btn_text {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .rvpark_mv_reserve_btn_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.rvpark_mv_reserve_btn_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(40 / var(--view-size) * var(--vw));
  height: calc(40 / var(--view-size) * var(--vw));
  background-color: #231815;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  font-size: calc(14 / var(--view-size) * var(--vw));
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .rvpark_mv_reserve_btn_icon {
    width: calc(32 / var(--view-size) * var(--vw));
    height: calc(32 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

/* SP: introテキスト下に表示 / PC: MV内に表示 */
.rvpark_mv_reserve_btn--intro {
  display: none;
}
@media (max-width: 768px) {
  .rvpark_mv_reserve_btn--intro {
    display: flex;
    width: 100%;
    max-width: none;
    margin-top: calc(24 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience {
  padding: calc(100 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #fff;
}
@media (max-width: 768px) {
  .rvpark_experience {
    padding: calc(56 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_top {
  margin-bottom: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_experience_top {
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_en {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(64 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #C6C095;
}
@media (max-width: 768px) {
  .rvpark_experience_en {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_body {
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_experience_body {
    flex-direction: column;
    gap: calc(24 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_ttl {
  flex-shrink: 0;
  margin: 0;
  max-width: calc(480 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #799AA1;
}
@media (max-width: 768px) {
  .rvpark_experience_ttl {
    max-width: none;
    width: 100%;
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_text {
  flex: 1;
  min-width: 0;
  max-width: calc(520 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_experience_text {
    max-width: none;
    width: 100%;
  }
}
.rvpark_experience_text p {
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_experience_text p {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.9;
  }
}
.rvpark_experience_text p:last-child {
  margin-bottom: 0;
}

.rvpark_experience_list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(24 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .rvpark_experience_list {
    flex-direction: column;
    gap: calc(20 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_item {
  width: calc((100% - 24 / var(--view-size) * var(--vw) * 2) / 3);
}
@media (max-width: 768px) {
  .rvpark_experience_item {
    width: 100%;
  }
}

.rvpark_experience_card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: calc(8 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
  color: #231815;
  text-decoration: none;
  transition: 0.3s;
}

a.rvpark_experience_card:hover {
  opacity: 1;
  background: rgba(176, 207, 213, 0.2);
}
a.rvpark_experience_card:hover .rvpark_experience_visual img {
  transform: scale(1.05);
}

.rvpark_experience_visual {
  overflow: hidden;
}
.rvpark_experience_visual img {
  display: block;
  width: 100%;
  aspect-ratio: 362/240;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.rvpark_experience_card_body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: calc(28 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .rvpark_experience_card_body {
    padding: calc(20 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_card_head {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_experience_card_head {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_card_ttl {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_experience_card_ttl {
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_card_arrow {
  flex-shrink: 0;
  display: block;
  width: calc(30 / var(--view-size) * var(--vw));
  height: calc(30 / var(--view-size) * var(--vw));
}
.rvpark_experience_card_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .rvpark_experience_card_arrow {
    width: calc(26 / var(--view-size) * var(--vw));
    height: calc(26 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_card_text {
  margin: 0;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_experience_card_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.8;
  }
}

.rvpark_experience_card_note {
  margin: calc(16 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.6);
}
@media (max-width: 768px) {
  .rvpark_experience_card_note {
    margin-top: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_more {
  display: inline-flex;
  align-items: center;
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-top: auto;
  justify-content: center;
  padding-top: calc(24 / var(--view-size) * var(--vw));
  text-decoration: none;
  pointer-events: none;
}
@media (max-width: 768px) {
  .rvpark_experience_more {
    gap: calc(10 / var(--view-size) * var(--vw));
    margin-left: calc(20 / var(--view-size) * var(--vw));
    padding-top: calc(20 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_more_text {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
  border-bottom: 1px solid #231815;
}
@media (max-width: 768px) {
  .rvpark_experience_more_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.rvpark_experience_more_icon {
  flex-shrink: 0;
  display: block;
  width: calc(36 / var(--view-size) * var(--vw));
  height: calc(36 / var(--view-size) * var(--vw));
}
.rvpark_experience_more_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .rvpark_experience_more_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
}

/* ---------- Guide（ご利用案内） ---------- */
.rvpark_guide {
  padding-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_guide {
    padding-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}
.rvpark_guide .onsen_sauna_guide_table {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_guide .onsen_sauna_guide_table {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}
.rvpark_guide .onsen_sauna_guide_row dt {
  width: calc(160 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_guide .onsen_sauna_guide_row dt {
    width: calc(100 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_layout {
  justify-content: center;
  gap: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_guide_layout {
    flex-direction: column;
    gap: calc(28 / var(--view-size) * var(--vw));
  }
}
.rvpark_guide_layout {
  /* 予約CTA復元時は両端寄せに戻す */
}
.rvpark_guide_layout:has(.rvpark_guide_reserve) {
  justify-content: space-between;
}

.rvpark_guide_main {
  /* 予約CTA非表示時：元カラム幅のまま中央寄せ（1120 - 400 - 40） */
  flex: 0 1 calc(680 / var(--view-size) * var(--vw));
  width: 100%;
  max-width: calc(680 / var(--view-size) * var(--vw));
  min-width: 0;
}
@media (max-width: 768px) {
  .rvpark_guide_main {
    flex: none;
    max-width: 100%;
  }
}
.rvpark_guide_layout:has(.rvpark_guide_reserve) .rvpark_guide_main {
  flex: 1;
  max-width: none;
}

.rvpark_guide_facilities_ttl {
  gap: calc(10 / var(--view-size) * var(--vw));
  margin: 0 0 calc(20 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_guide_facilities_ttl {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_facilities_mark {
  flex-shrink: 0;
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  background-color: #8DAFB6;
}
@media (max-width: 768px) {
  .rvpark_guide_facilities_mark {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_facilities_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 calc(24 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .rvpark_guide_facilities_list {
    gap: 0 calc(12 / var(--view-size) * var(--vw));
  }
}
.rvpark_guide_facilities_list li {
  display: flex;
  align-items: center;
  gap: calc(10 / var(--view-size) * var(--vw));
  padding: calc(14 / var(--view-size) * var(--vw)) 0;
  border-bottom: 1px solid rgba(35, 24, 21, 0.12);
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_guide_facilities_list li {
    gap: calc(8 / var(--view-size) * var(--vw));
    padding: calc(12 / var(--view-size) * var(--vw)) 0;
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
  .rvpark_guide_facilities_list li::before {
    width: calc(12 / var(--view-size) * var(--vw));
    height: calc(12 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_facilities_note {
  margin: calc(12 / var(--view-size) * var(--vw)) 0 0;
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.65);
}
@media (max-width: 768px) {
  .rvpark_guide_facilities_note {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  width: calc(400 / var(--view-size) * var(--vw));
  max-width: 100%;
  padding: calc(48 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  border-radius: calc(8 / var(--view-size) * var(--vw));
  background: linear-gradient(90deg, #8DAFB6 0%, #B0CFD5 100%);
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve {
    width: 100%;
    padding: calc(36 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_en {
  position: absolute;
  top: calc(28 / var(--view-size) * var(--vw));
  left: calc(32 / var(--view-size) * var(--vw));
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: calc(40 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #709A98;
  pointer-events: none;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_en {
    left: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_ttl {
  position: relative;
  z-index: 1;
  margin: 0 0 calc(16 / var(--view-size) * var(--vw));
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  color: #fff;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_ttl {
    margin-top: calc(0 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_text {
  position: relative;
  z-index: 1;
  margin: 0 0 calc(28 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_text {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_btn {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: calc(56 / var(--view-size) * var(--vw));
  padding: calc(14 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.rvpark_guide_reserve_btn:hover {
  background-color: #231815;
  color: #fff;
}
.rvpark_guide_reserve_btn:hover .rvpark_guide_reserve_btn_icon {
  background-color: #fff;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_btn {
    min-height: calc(48 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_btn_text {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_btn_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.rvpark_guide_reserve_btn_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(36 / var(--view-size) * var(--vw));
  height: calc(36 / var(--view-size) * var(--vw));
  background-color: #231815;
  color: #fff;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.rvpark_guide_reserve_btn_icon i {
  font-size: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .rvpark_guide_reserve_btn_icon {
    width: calc(30 / var(--view-size) * var(--vw));
    height: calc(30 / var(--view-size) * var(--vw));
  }
  .rvpark_guide_reserve_btn_icon i {
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

/* ---------- RULES & FAQ ---------- */
.rvpark_rules {
  padding: 0 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .rvpark_rules {
    padding-bottom: calc(64 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_head {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .rvpark_rules_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_en {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(64 / var(--view-size) * var(--vw));
  font-weight: 100;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_rules_en {
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(28 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_lead {
  margin: 0;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_rules_lead {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .rvpark_rules_list {
    grid-template-columns: 1fr;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_item {
  padding: calc(28 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .rvpark_rules_item {
    padding: calc(20 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_ttl {
  gap: calc(10 / var(--view-size) * var(--vw));
  margin: 0 0 calc(14 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_rules_ttl {
    margin-bottom: calc(10 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_mark {
  flex-shrink: 0;
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
}
@media (max-width: 768px) {
  .rvpark_rules_mark {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
  }
}

.rvpark_rules_text {
  margin: 0;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .rvpark_rules_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.8;
  }
}

.access {
  padding: calc(100 / var(--view-size) * var(--vw)) 0;
  background-color: #fff;
}
@media (max-width: 768px) {
  .access {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}
.access .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}

.access_inner {
  gap: calc(140 / var(--view-size) * var(--vw));
  align-items: flex-end;
}
@media (max-width: 768px) {
  .access_inner {
    flex-direction: column;
    gap: calc(32 / var(--view-size) * var(--vw));
  }
}

.access_content {
  flex: 1;
  min-width: 0;
}

.access_content .sec_head {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
.access_content .sec_head .sec_lead {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .access_content .sec_head {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.access_catch {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_catch {
    font-size: calc(16 / var(--view-size) * var(--vw));
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_desc {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_desc {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}

.access_btn_list {
  display: flex;
  flex-direction: column;
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_btn_list {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_btn_list--inactive .access_btn {
  cursor: default;
  pointer-events: none;
}

.access_btn {
  width: 100%;
  padding: calc(20 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
  border: 1px solid transparent;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  color: #231815;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .access_btn {
    padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}
.access_btn:hover {
  opacity: 1;
  background-color: #fff;
  border-color: #231815;
  color: #231815;
}

.access_btn--outline {
  background-color: #fff;
  border-color: rgba(35, 24, 21, 0.3);
}
.access_btn--outline:hover {
  background-color: #231815;
  border-color: #231815;
  color: #fff;
}

.access_btn_main {
  flex: 1;
  min-width: 0;
  gap: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_btn_main {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_btn_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(32 / var(--view-size) * var(--vw));
  height: calc(32 / var(--view-size) * var(--vw));
  color: #231815;
}
.access_btn_icon i {
  font-size: calc(20 / var(--view-size) * var(--vw));
  line-height: 1;
}
@media (max-width: 768px) {
  .access_btn_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
  .access_btn_icon i {
    font-size: calc(16 / var(--view-size) * var(--vw));
    color: #231815;
  }
}

.access_btn_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .access_btn_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.access_btn--outline .access_btn_text {
  flex: 1;
  min-width: 0;
}

.access_btn_arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
.access_btn_arrow img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.access_btn_arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .access_btn_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
}

.access_btn:hover .access_btn_icon,
.access_btn:hover .access_btn_icon i {
  color: inherit;
}
.access_btn:hover .access_btn_arrow {
  background-color: transparent;
}
.access_btn:hover .access_btn_arrow img {
  opacity: 0;
}
.access_btn:hover .access_btn_arrow::after {
  opacity: 1;
}

.access_btn--outline:hover .access_btn_arrow::after {
  background-image: url("../images/common/icon_arrow_white.svg");
}

.access_map {
  flex-shrink: 0;
  width: calc(676 / var(--view-size) * var(--vw));
  height: calc(510 / var(--view-size) * var(--vw));
  border-radius: calc(6 / var(--view-size) * var(--vw));
  overflow: hidden;
}
@media (max-width: 768px) {
  .access_map {
    width: 100%;
    aspect-ratio: 345/240;
    height: calc(360 / var(--view-size) * var(--vw));
  }
}
.access_map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.access_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .access_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(40 / var(--view-size) * var(--vw));
    overflow-x: clip;
  }
}
.access_page .access_catch {
  margin-top: 0;
}
.access_page .access_inner {
  gap: calc(40 / var(--view-size) * var(--vw));
  align-items: flex-start;
}
@media (max-width: 768px) {
  .access_page .access_inner {
    gap: calc(24 / var(--view-size) * var(--vw));
    min-width: 0;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .access_page .access_content {
    min-width: 0;
    max-width: 100%;
  }
}
.access_page .access_desc {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_page .access_desc {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}
.access_page .access_map {
  width: calc(560 / var(--view-size) * var(--vw));
  height: calc(422 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_page .access_map {
    width: 100%;
    height: calc(240 / var(--view-size) * var(--vw));
  }
}
@media (max-width: 768px) {
  .access_page .inner_1120 {
    max-width: 100%;
    overflow-x: clip;
  }
}
.access_page .sec_link:hover {
  opacity: 1;
}
.access_page .sec_link .sec_link_icon--dark {
  background-color: #B0CFD5;
  color: #231815;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.access_page .sec_link:hover .sec_link_icon--dark {
  background-color: #231815;
  color: #fff;
}

.access_address {
  margin: 0 0 calc(32 / var(--view-size) * var(--vw));
  padding: calc(24 / var(--view-size) * var(--vw)) 0;
  border-top: 1px solid rgba(35, 24, 21, 0.15);
  border-bottom: 1px solid rgba(35, 24, 21, 0.15);
  gap: calc(24 / var(--view-size) * var(--vw));
  align-items: center;
}
@media (max-width: 768px) {
  .access_address {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
    padding: calc(20 / var(--view-size) * var(--vw)) 0;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.access_address_label {
  flex-shrink: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  width: calc(128 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_address_label {
    font-size: calc(13 / var(--view-size) * var(--vw));
    width: auto;
  }
}

.access_address_body {
  margin: 0;
}

.access_address_zip,
.access_address_text {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .access_address_zip,
  .access_address_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

/* アクセス下層：ルート案内 */
.access_route {
  padding: calc(100 / var(--view-size) * var(--vw)) 0;
  background-color: #fff;
}
@media (max-width: 768px) {
  .access_route {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
    overflow-x: clip;
  }
}
.access_route .access_route_nav_btn:hover {
  opacity: 1;
}
@media (max-width: 768px) {
  .access_route .inner_1120 {
    max-width: 100%;
    overflow-x: clip;
  }
}

.access_route_nav {
  list-style: none;
  margin: 0 0 calc(64 / var(--view-size) * var(--vw));
  padding: 0;
  gap: calc(16 / var(--view-size) * var(--vw));
  justify-content: center;
}
@media (max-width: 768px) {
  .access_route_nav {
    flex-direction: column;
    align-items: center;
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_route_nav_item {
  flex: 0 0 auto;
  width: calc(448 / var(--view-size) * var(--vw));
  max-width: 448px;
}
@media (max-width: 768px) {
  .access_route_nav_item {
    width: 100%;
    max-width: none;
  }
}

.access_route_nav_btn {
  width: 100%;
  padding: calc(20 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
  border: 1px solid transparent;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  color: #231815;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .access_route_nav_btn {
    padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}
.access_route_nav_btn:hover {
  background-color: #fff;
  border-color: #231815;
}

.access_route_nav_main {
  flex: 1;
  min-width: 0;
  gap: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_nav_main {
    gap: calc(10 / var(--view-size) * var(--vw));
  }
}

.access_route_nav_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(32 / var(--view-size) * var(--vw));
  height: calc(32 / var(--view-size) * var(--vw));
  color: #231815;
}
.access_route_nav_icon i {
  font-size: calc(18 / var(--view-size) * var(--vw));
  line-height: 1;
  color: #231815;
}
@media (max-width: 768px) {
  .access_route_nav_icon {
    width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
  }
  .access_route_nav_icon i {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.access_route_nav_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .access_route_nav_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
    min-width: 0;
  }
}

.access_route_nav_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
}
.access_route_nav_arrow i {
  font-size: calc(18 / var(--view-size) * var(--vw));
  line-height: 1;
  color: #231815;
}
@media (max-width: 768px) {
  .access_route_nav_arrow {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
  .access_route_nav_arrow i {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.access_route_block + .access_route_block {
  margin-top: calc(80 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_block + .access_route_block {
    margin-top: calc(48 / var(--view-size) * var(--vw));
  }
}

.access_route_head {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_head {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_route_head_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #231815;
}
.access_route_head_icon i {
  font-size: calc(28 / var(--view-size) * var(--vw));
  line-height: 1;
}
@media (max-width: 768px) {
  .access_route_head_icon i {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.access_route_ttl {
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .access_route_ttl {
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.access_route_head_line {
  height: 1px;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
  background-color: #231815;
}
@media (max-width: 768px) {
  .access_route_head_line {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.access_route_scroll_hint {
  margin: 0 0 calc(12 / var(--view-size) * var(--vw));
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.45);
}

.access_route_board {
  align-items: stretch;
  gap: 0;
}
@media (max-width: 768px) {
  .access_route_board {
    flex-wrap: nowrap;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
}

.access_route_body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_body {
    flex: 0 0 auto;
    gap: calc(20 / var(--view-size) * var(--vw));
    width: -moz-max-content;
    width: max-content;
    min-width: 0;
    max-width: none;
    overflow: visible;
  }
}

.access_route_item {
  min-width: 0;
}
@media (max-width: 768px) {
  .access_route_item {
    max-width: none;
    overflow: visible;
  }
}

@media (max-width: 768px) {
  .access_route_flow {
    width: -moz-max-content;
    width: max-content;
  }
}

.access_route_track {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: center;
}
@media (max-width: 768px) {
  .access_route_track {
    flex-wrap: nowrap;
    width: -moz-max-content;
    width: max-content;
    align-items: flex-end;
    padding-bottom: calc(8 / var(--view-size) * var(--vw));
  }
}

.access_route_node {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: calc(36 / var(--view-size) * var(--vw));
  height: calc(140 / var(--view-size) * var(--vw));
  max-height: 140px;
  padding: calc(10 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw));
  background-color: #D4D4D4;
  color: #231815;
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
.access_route_node_latin {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  display: inline-block;
  letter-spacing: 0.04em;
}
.access_route_node {
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .access_route_node {
    min-width: calc(28 / var(--view-size) * var(--vw));
    height: calc(100 / var(--view-size) * var(--vw));
    max-height: none;
    padding: calc(8 / var(--view-size) * var(--vw)) calc(6 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}
.access_route_node--start {
  height: calc(200 / var(--view-size) * var(--vw));
  max-height: 200px;
  background-color: #918F7E;
  color: #fff;
  padding-left: calc(24 / var(--view-size) * var(--vw));
  padding-right: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_node--start {
    height: calc(144 / var(--view-size) * var(--vw));
    max-height: none;
    padding-left: calc(14 / var(--view-size) * var(--vw));
    padding-right: calc(14 / var(--view-size) * var(--vw));
  }
}

.access_route_segment {
  display: flex;
  align-items: stretch;
  flex: 1 1 0;
  min-width: calc(56 / var(--view-size) * var(--vw));
  min-height: calc(140 / var(--view-size) * var(--vw));
  max-height: 140px;
}
@media (max-width: 768px) {
  .access_route_segment {
    min-width: calc(112 / var(--view-size) * var(--vw));
    min-height: calc(100 / var(--view-size) * var(--vw));
    max-height: none;
    flex: 0 0 auto;
  }
}

.access_route_path {
  flex: 1;
  min-width: 0;
  position: relative;
  align-self: stretch;
}
@media (max-width: 768px) {
  .access_route_path {
    padding: 0 calc(6 / var(--view-size) * var(--vw));
  }
}

.access_route_label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: calc(50% + -5 / var(--view-size) * var(--vw));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  color: #231815;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .access_route_label {
    font-size: calc(10 / var(--view-size) * var(--vw));
    line-height: 1.4;
    white-space: normal;
    bottom: calc(50% + 2 / var(--view-size) * var(--vw));
  }
}

.access_route_line {
  position: absolute;
  top: 60%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(35, 24, 21, 0.25);
}
@media (max-width: 768px) {
  .access_route_line {
    top: 58%;
  }
}

.access_route_segment .access_route_node {
  flex-shrink: 0;
  align-self: flex-end;
}

.access_route_total {
  margin-top: calc(12 / var(--view-size) * var(--vw));
  padding: calc(12 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  border: 1px solid rgba(35, 24, 21, 0.2);
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  color: #918F7E;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  margin-right: calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .access_route_total {
    width: 95%;
    margin-right: 0;
    box-sizing: border-box;
    margin-top: calc(8 / var(--view-size) * var(--vw));
    padding: calc(10 / var(--view-size) * var(--vw)) calc(12 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.access_route_dest {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(237 / var(--view-size) * var(--vw));
  max-width: 237px;
  padding: calc(24 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
.access_route_dest img {
  display: block;
  width: calc(177 / var(--view-size) * var(--vw));
  height: auto;
}
@media (max-width: 768px) {
  .access_route_dest {
    width: calc(80 / var(--view-size) * var(--vw));
    max-width: none;
    flex-shrink: 0;
    align-self: stretch;
    padding: calc(12 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw));
    box-sizing: border-box;
  }
  .access_route_dest img {
    width: calc(60 / var(--view-size) * var(--vw));
    max-width: 100%;
  }
}

.access_route_note,
.access_route_notes {
  margin-top: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.7);
}
@media (max-width: 768px) {
  .access_route_note,
  .access_route_notes {
    margin-top: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.access_route_notes {
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}
.access_route_notes li + li {
  margin-top: calc(4 / var(--view-size) * var(--vw));
}

.contact_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .contact_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
    overflow-x: clip;
  }
}
@media (max-width: 768px) {
  .contact_page .inner_768 {
    max-width: 100%;
  }
}

.contact_intro {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_intro {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.contact_lead {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_lead {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.8;
  }
}

.contact_required_note {
  margin-top: calc(16 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_required_note {
    margin-top: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.contact_required_mark {
  color: #CE0000;
}

.contact_fields {
  margin: 0;
}

.contact_field {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
.contact_field:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .contact_field {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.contact_label {
  gap: calc(8 / var(--view-size) * var(--vw));
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}

.contact_field > .contact_label,
.contact_confirm_field > .contact_label {
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}

.contact_label_text {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_label_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: calc(40 / var(--view-size) * var(--vw));
  height: calc(22 / var(--view-size) * var(--vw));
  padding: 0 calc(8 / var(--view-size) * var(--vw));
  background-color: #CE0000;
  border-radius: calc(2 / var(--view-size) * var(--vw));
  font-size: calc(11 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .contact_required {
    min-width: calc(36 / var(--view-size) * var(--vw));
    height: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(10 / var(--view-size) * var(--vw));
  }
}

.contact_control {
  margin: 0;
}

.contact_input,
.contact_select,
.contact_textarea {
  width: 100%;
  padding: calc(14 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid rgba(35, 24, 21, 0.12);
  border-radius: calc(4 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
  transition: border-color 0.3s ease;
}
.contact_input::-moz-placeholder, .contact_select::-moz-placeholder, .contact_textarea::-moz-placeholder {
  color: rgba(35, 24, 21, 0.35);
}
.contact_input::placeholder,
.contact_select::placeholder,
.contact_textarea::placeholder {
  color: rgba(35, 24, 21, 0.35);
}
.contact_input:focus,
.contact_select:focus,
.contact_textarea:focus {
  outline: none;
  border-color: rgba(35, 24, 21, 0.35);
}
@media (max-width: 768px) {
  .contact_input,
  .contact_select,
  .contact_textarea {
    padding: calc(12 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_select_wrap {
  position: relative;
}
.contact_select_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(16 / var(--view-size) * var(--vw));
  width: calc(8 / var(--view-size) * var(--vw));
  height: calc(8 / var(--view-size) * var(--vw));
  border-right: 1px solid #231815;
  border-bottom: 1px solid #231815;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
@media (max-width: 768px) {
  .contact_select_wrap::after {
    right: calc(16 / var(--view-size) * var(--vw));
    width: calc(7 / var(--view-size) * var(--vw));
    height: calc(7 / var(--view-size) * var(--vw));
  }
}

.contact_select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: calc(40 / var(--view-size) * var(--vw));
  cursor: pointer;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .contact_select {
    padding-top: calc(13 / var(--view-size) * var(--vw));
    padding-bottom: calc(13 / var(--view-size) * var(--vw));
    padding-right: calc(52 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
}

.contact_textarea {
  min-height: calc(200 / var(--view-size) * var(--vw));
  resize: vertical;
}
@media (max-width: 768px) {
  .contact_textarea {
    min-height: calc(160 / var(--view-size) * var(--vw));
  }
}

.contact_name_group {
  gap: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_name_group {
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}
.contact_name_group .contact_input {
  flex: 1;
  min-width: 0;
}

.contact_address {
  display: flex;
  flex-direction: column;
  gap: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_address {
    gap: calc(10 / var(--view-size) * var(--vw));
  }
}

.contact_address_zip {
  gap: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_address_zip {
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.contact_address_mark {
  flex-shrink: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_address_mark {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_input--zip {
  flex: 0 0 calc(160 / var(--view-size) * var(--vw));
  width: auto;
  max-width: calc(160 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_input--zip {
    flex: 0 0 calc(96 / var(--view-size) * var(--vw));
    width: calc(96 / var(--view-size) * var(--vw));
    max-width: none;
    min-width: 0;
  }
}

.contact_address_btn {
  flex-shrink: 0;
  min-height: calc(48 / var(--view-size) * var(--vw));
  padding: calc(10 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  background: linear-gradient(0deg, #D4D4D4 0%, #EFEFEF 100%);
  border: 1px solid #DEDEDE;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #231815;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.contact_address_btn:hover {
  opacity: 0.85;
}
@media (max-width: 768px) {
  .contact_address_btn {
    width: auto;
    flex-shrink: 0;
    min-height: calc(44 / var(--view-size) * var(--vw));
    padding: calc(10 / var(--view-size) * var(--vw)) calc(10 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
    white-space: nowrap;
  }
}

.contact_address_row {
  gap: calc(12 / var(--view-size) * var(--vw));
}
.contact_address_row .contact_select_wrap,
.contact_address_row .contact_input {
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  .contact_address_row {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}

.contact_privacy_lead {
  margin-bottom: calc(12 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_privacy_lead {
    margin-bottom: calc(10 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.contact_privacy_link {
  color: #918F7E;
  text-decoration: underline;
  text-underline-offset: calc(2 / var(--view-size) * var(--vw));
}
.contact_privacy_link:hover {
  opacity: 0.7;
}

.contact_privacy_box {
  display: flex;
  align-items: center;
  width: calc(135 / var(--view-size) * var(--vw));
  max-width: 135px;
  height: auto;
  padding: calc(16 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid rgba(35, 24, 21, 0.12);
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_privacy_box {
    padding: calc(14 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
    box-sizing: border-box;
  }
}

.contact_checkbox {
  gap: calc(12 / var(--view-size) * var(--vw));
  cursor: pointer;
}

.contact_checkbox_input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.contact_checkbox_input:checked + .contact_checkbox_box {
  background-color: #231815;
  border-color: #231815;
}
.contact_checkbox_input:checked + .contact_checkbox_box::after {
  opacity: 1;
}
.contact_checkbox_input:focus-visible + .contact_checkbox_box {
  outline: 2px solid rgba(35, 24, 21, 0.35);
  outline-offset: 2px;
}

.contact_checkbox_box {
  position: relative;
  flex-shrink: 0;
  width: calc(20 / var(--view-size) * var(--vw));
  height: calc(20 / var(--view-size) * var(--vw));
  border: 1px solid rgba(35, 24, 21, 0.25);
  border-radius: calc(2 / var(--view-size) * var(--vw));
  background-color: #EDEDED;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.contact_checkbox_box::after {
  content: "";
  position: absolute;
  top: calc(1 / var(--view-size) * var(--vw));
  left: calc(6 / var(--view-size) * var(--vw));
  width: calc(5 / var(--view-size) * var(--vw));
  height: calc(9 / var(--view-size) * var(--vw));
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .contact_checkbox_box {
    width: calc(18 / var(--view-size) * var(--vw));
    height: calc(18 / var(--view-size) * var(--vw));
  }
}

.contact_checkbox_text {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_checkbox_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_submit {
  margin-top: calc(48 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .contact_submit {
    margin-top: calc(32 / var(--view-size) * var(--vw));
  }
}

.contact_submit_btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(385 / var(--view-size) * var(--vw));
  max-width: 385px;
  min-height: calc(56 / var(--view-size) * var(--vw));
  padding: calc(16 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw));
  background-color: #918F7E;
  border: 1px solid #918F7E;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.contact_submit_btn:hover {
  background-color: #fff;
  color: #231815;
}
.contact_submit_btn:hover .contact_submit_btn_icon img {
  opacity: 0;
}
.contact_submit_btn:hover .contact_submit_btn_icon::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .contact_submit_btn {
    width: 100%;
    max-width: none;
    min-height: calc(52 / var(--view-size) * var(--vw));
    padding: calc(14 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  }
  .contact_submit_btn:hover {
    opacity: 1;
  }
}

.contact_submit_btn_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .contact_submit_btn_text {
    font-size: calc(16 / var(--view-size) * var(--vw));
    letter-spacing: 0.06em;
  }
}

.contact_submit_btn_icon {
  position: absolute;
  top: 50%;
  right: calc(18 / var(--view-size) * var(--vw));
  width: calc(17 / var(--view-size) * var(--vw));
  height: calc(17 / var(--view-size) * var(--vw));
  max-width: 17px;
  max-height: 17px;
  transform: translateY(-50%);
}
.contact_submit_btn_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.contact_submit_btn_icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_submit_black.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .contact_submit_btn_icon {
    right: calc(20 / var(--view-size) * var(--vw));
    width: calc(15 / var(--view-size) * var(--vw));
    height: calc(15 / var(--view-size) * var(--vw));
    max-width: 15px;
    max-height: 15px;
  }
}

.contact_confirm_box {
  padding: calc(48 / var(--view-size) * var(--vw)) calc(56 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_confirm_box {
    padding: calc(32 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_fields {
  margin: 0;
}

.contact_confirm_field {
  display: flex;
  flex-direction: column;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
.contact_confirm_field dd {
  margin: 0;
}
.contact_confirm_field:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .contact_confirm_field {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_value {
  margin: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_confirm_value {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_address {
  margin: 0;
}
.contact_confirm_address .contact_confirm_value {
  margin-top: 0;
}
.contact_confirm_address .contact_confirm_value + .contact_confirm_value {
  margin-top: calc(4 / var(--view-size) * var(--vw));
}

.contact_confirm_value--message {
  white-space: pre-wrap;
}

.contact_confirm_actions {
  margin-top: calc(48 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .contact_confirm_actions {
    margin-top: calc(32 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_back {
  display: inline-block;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #918F7E;
  text-decoration: underline;
  text-underline-offset: calc(2 / var(--view-size) * var(--vw));
  transition: opacity 0.3s ease;
}
.contact_confirm_back:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .contact_confirm_back {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_form {
  margin: 0;
}

.contact_confirm_submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(385 / var(--view-size) * var(--vw));
  max-width: 385px;
  min-height: calc(56 / var(--view-size) * var(--vw));
  padding: calc(16 / var(--view-size) * var(--vw)) calc(40 / var(--view-size) * var(--vw));
  background-color: #CE0000;
  border: 1px solid #CE0000;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.contact_confirm_submit:hover {
  opacity: 0.85;
}
@media (max-width: 768px) {
  .contact_confirm_submit {
    width: 100%;
    max-width: none;
    min-height: calc(52 / var(--view-size) * var(--vw));
    padding: calc(14 / var(--view-size) * var(--vw)) calc(48 / var(--view-size) * var(--vw)) calc(14 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  }
}

.contact_confirm_submit_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .contact_confirm_submit_text {
    font-size: calc(16 / var(--view-size) * var(--vw));
    letter-spacing: 0.06em;
  }
}

.contact_confirm_submit_icon {
  position: absolute;
  top: 50%;
  right: calc(18 / var(--view-size) * var(--vw));
  width: calc(17 / var(--view-size) * var(--vw));
  height: calc(17 / var(--view-size) * var(--vw));
  max-width: 17px;
  max-height: 17px;
  transform: translateY(-50%);
}
.contact_confirm_submit_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 768px) {
  .contact_confirm_submit_icon {
    right: calc(20 / var(--view-size) * var(--vw));
    width: calc(15 / var(--view-size) * var(--vw));
    height: calc(15 / var(--view-size) * var(--vw));
    max-width: 15px;
    max-height: 15px;
  }
}

.contact_thanks {
  text-align: center;
}
@media (max-width: 768px) {
  .contact_thanks {
    overflow-x: clip;
  }
}
@media (max-width: 768px) {
  .contact_thanks .inner_768 {
    box-sizing: border-box;
  }
}

.contact_thanks_head {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_thanks_head {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_ttl {
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_thanks_ttl {
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
    font-size: calc(18 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.contact_thanks_lead {
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
.contact_thanks_lead + .contact_thanks_lead {
  margin-top: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_thanks_lead {
    font-size: calc(14 / var(--view-size) * var(--vw));
    line-height: 1.8;
  }
  .contact_thanks_lead + .contact_thanks_lead {
    margin-top: calc(12 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_contact {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .contact_thanks_contact {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_dest {
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_thanks_dest {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.7;
  }
}

.contact_thanks_cards {
  gap: calc(16 / var(--view-size) * var(--vw));
  justify-content: center;
  align-items: stretch;
}
@media (max-width: 768px) {
  .contact_thanks_cards {
    flex-direction: column;
    gap: calc(12 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  max-width: calc(376 / var(--view-size) * var(--vw));
  padding: calc(24 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  background-color: #fff;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  text-align: center;
}
@media (max-width: 768px) {
  .contact_thanks_card {
    max-width: none;
    width: 100%;
    padding: calc(20 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
    box-sizing: border-box;
  }
}

.contact_thanks_card_label {
  margin-bottom: calc(10 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .contact_thanks_card_label {
    margin-bottom: calc(12 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_card_icon {
  flex-shrink: 0;
  width: calc(20 / var(--view-size) * var(--vw));
  font-size: calc(22 / var(--view-size) * var(--vw));
  line-height: 1;
  color: #918F7E;
  text-align: center;
}
@media (max-width: 768px) {
  .contact_thanks_card_icon {
    width: calc(18 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_card_link,
.contact_thanks_card_tel {
  gap: calc(8 / var(--view-size) * var(--vw));
  color: #918F7E;
  text-decoration: none;
  justify-content: center;
  transition: opacity 0.3s ease;
}
.contact_thanks_card_link:hover,
.contact_thanks_card_tel:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .contact_thanks_card_link,
  .contact_thanks_card_tel {
    gap: calc(6 / var(--view-size) * var(--vw));
    width: 100%;
    min-width: 0;
  }
}

.contact_thanks_card_value {
  font-family: "Outfit", sans-serif;
  font-size: calc(22 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: calc(2 / var(--view-size) * var(--vw));
  word-break: break-all;
}
@media (max-width: 768px) {
  .contact_thanks_card_value {
    font-size: calc(13 / var(--view-size) * var(--vw));
    line-height: 1.5;
  }
}

.contact_thanks_card_tel_num {
  font-family: "Outfit", sans-serif;
  font-size: calc(28 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .contact_thanks_card_tel_num {
    font-size: calc(18 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_card_note {
  margin-top: calc(12 / var(--view-size) * var(--vw));
  font-size: calc(13 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: rgba(35, 24, 21, 0.7);
}
@media (max-width: 768px) {
  .contact_thanks_card_note {
    margin-top: calc(10 / var(--view-size) * var(--vw));
    font-size: calc(11 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_action {
  text-align: center;
}
@media (max-width: 768px) {
  .contact_thanks_action {
    margin-top: calc(8 / var(--view-size) * var(--vw));
  }
}

.contact_thanks_btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: calc(385 / var(--view-size) * var(--vw));
  max-width: 385px;
  min-height: calc(56 / var(--view-size) * var(--vw));
  padding: calc(28 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
  border: 1px solid rgba(35, 24, 21, 0.2);
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.contact_thanks_btn:hover {
  opacity: 1;
  background-color: #fff;
}
.contact_thanks_btn:hover .contact_thanks_btn_icon img {
  opacity: 0;
}
.contact_thanks_btn:hover .contact_thanks_btn_icon::after {
  opacity: 1;
}
@media (max-width: 768px) {
  .contact_thanks_btn {
    width: 100%;
    max-width: none;
    min-height: calc(52 / var(--view-size) * var(--vw));
    padding: calc(20 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
    box-sizing: border-box;
  }
}

.contact_thanks_btn_text {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 768px) {
  .contact_thanks_btn_text {
    font-size: calc(14 / var(--view-size) * var(--vw));
    letter-spacing: 0.04em;
  }
}

.contact_thanks_btn_icon {
  position: absolute;
  top: 50%;
  right: calc(8 / var(--view-size) * var(--vw));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  max-width: 42px;
  max-height: 42px;
  transform: translateY(-50%);
}
.contact_thanks_btn_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.contact_thanks_btn_icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .contact_thanks_btn_icon {
    right: calc(6 / var(--view-size) * var(--vw));
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
    max-width: 36px;
    max-height: 36px;
  }
}

.privacy_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .privacy_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.privacy_body p {
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .privacy_body p {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.privacy_body p:last-child {
  margin-bottom: 0;
}

.privacy_intro {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_intro {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.privacy_article {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_article {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}
.privacy_article:last-of-type {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_article:last-of-type {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
  }
}

.privacy_heading {
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .privacy_heading {
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.privacy_list {
  margin: 0 0 calc(24 / var(--view-size) * var(--vw));
  padding-left: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .privacy_list {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    padding-left: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.privacy_list:last-child {
  margin-bottom: 0;
}
.privacy_list li {
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_list li {
    margin-bottom: calc(6 / var(--view-size) * var(--vw));
  }
}
.privacy_list li:last-child {
  margin-bottom: 0;
}

.privacy_list--ol {
  list-style: decimal;
}

.privacy_list--ul {
  list-style: disc;
  margin-top: calc(8 / var(--view-size) * var(--vw));
}

.privacy_contact {
  margin-top: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_contact {
    margin-top: calc(12 / var(--view-size) * var(--vw));
  }
}
.privacy_contact p {
  margin-bottom: calc(8 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .privacy_contact p {
    margin-bottom: calc(6 / var(--view-size) * var(--vw));
  }
}

.privacy_end {
  margin: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  text-align: right;
  color: #231815;
}
@media (max-width: 768px) {
  .privacy_end {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.notation_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .notation_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.notation_table {
  margin: 0;
  background-color: #fff;
  border: 1px solid rgba(35, 24, 21, 0.12);
}

.notation_row {
  display: flex;
  border-bottom: 1px solid rgba(35, 24, 21, 0.12);
}
.notation_row:last-child {
  border-bottom: none;
}
@media (max-width: 768px) {
  .notation_row {
    flex-direction: column;
  }
}

.notation_label,
.notation_value {
  margin: 0;
  padding: calc(28 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  font-size: calc(16 / var(--view-size) * var(--vw));
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .notation_label,
  .notation_value {
    padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.notation_label {
  flex-shrink: 0;
  width: calc(280 / var(--view-size) * var(--vw));
  max-width: 280px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .notation_label {
    width: 100%;
    max-width: none;
    padding-bottom: calc(8 / var(--view-size) * var(--vw));
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.notation_value {
  flex: 1;
  min-width: 0;
  font-weight: 400;
}
@media (max-width: 768px) {
  .notation_value {
    padding-top: 0;
  }
}

.notation_link {
  color: #918F7E;
  text-decoration: underline;
}
.notation_link:hover {
  opacity: 0.7;
}

.news_faq {
  padding: calc(160 / var(--view-size) * var(--vw)) 0;
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .news_faq {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}
.news_faq .sec_ttl {
  font-size: calc(90 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_faq .sec_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
  }
}
.news_faq .sec_ttl_icon {
  background-color: #918F7E;
}
.news_faq .sec_link_icon--dark img {
  filter: none;
  transition: 0.3s;
}

.news_faq_inner {
  align-items: stretch;
}
@media (max-width: 768px) {
  .news_faq_inner {
    flex-direction: column;
    gap: calc(48 / var(--view-size) * var(--vw));
  }
}

.news_col,
.faq_col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.news_col {
  padding-right: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_col {
    padding-right: 0;
  }
}
.news_col .sec_link_icon--dark {
  position: relative;
  background-color: transparent;
}
.news_col .sec_link_icon--dark img {
  transition: opacity 0.3s ease;
}
.news_col .sec_link_icon--dark::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_black_03.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.news_col .sec_link:hover .sec_link_icon--dark img {
  opacity: 0;
}
.news_col .sec_link:hover .sec_link_icon--dark::after {
  opacity: 1;
}

.faq_col {
  padding-left: calc(48 / var(--view-size) * var(--vw));
  border-left: 1px solid rgba(35, 24, 21, 0.12);
}
@media (max-width: 768px) {
  .faq_col {
    padding-left: 0;
    border-left: none;
    padding-top: calc(48 / var(--view-size) * var(--vw));
    border-top: 1px solid rgba(35, 24, 21, 0.12);
  }
}

.news_col .sec_head,
.faq_col .sec_head {
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
.news_col .sec_head .sec_lead,
.faq_col .sec_head .sec_lead {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .news_col .sec_head,
  .faq_col .sec_head {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.news_list {
  flex: 1;
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_list {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.news_item {
  border-bottom: 1px solid rgba(35, 24, 21, 0.12);
}

.news_item_link {
  gap: calc(24 / var(--view-size) * var(--vw));
  padding: calc(36 / var(--view-size) * var(--vw)) 0;
  color: #918F7E;
  transition: opacity 0.3s;
}
.news_item_link:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .news_item_link {
    gap: calc(12 / var(--view-size) * var(--vw));
    padding: calc(16 / var(--view-size) * var(--vw)) 0;
  }
}

.news_date {
  flex-shrink: 0;
  width: calc(100 / var(--view-size) * var(--vw));
  font-size: calc(17 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #918F7E;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 768px) {
  .news_date {
    width: calc(80 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.news_title {
  flex: 1;
  min-width: 0;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: calc(4 / var(--view-size) * var(--vw));
  color: #918F7E;
}
@media (max-width: 768px) {
  .news_title {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.news_arrow {
  flex-shrink: 0;
  font-size: calc(16 / var(--view-size) * var(--vw));
  line-height: 1;
  color: rgba(35, 24, 21, 0.35);
}
@media (max-width: 768px) {
  .news_arrow {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.news_link_wrap,
.faq_link_wrap {
  justify-content: flex-end;
  margin-top: auto;
}

.faq_list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(40 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_list {
    margin-bottom: calc(28 / var(--view-size) * var(--vw));
  }
}

.faq_item {
  align-self: flex-start;
  width: 100%;
  background-color: #fff;
  border-radius: calc(6 / var(--view-size) * var(--vw));
  overflow: hidden;
}

.faq_question {
  width: 100%;
  border: none;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  padding: calc(20 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  gap: calc(16 / var(--view-size) * var(--vw));
  color: #231815;
}
@media (max-width: 768px) {
  .faq_question {
    padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  }
}

.faq_question_text {
  flex: 1;
  min-width: 0;
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .faq_question_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.faq_question_label {
  font-family: "Outfit", sans-serif;
  font-size: calc(17 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-right: calc(10 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_question_label {
    font-size: calc(14 / var(--view-size) * var(--vw));
    margin-right: calc(8 / var(--view-size) * var(--vw));
  }
}

.faq_toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(10 / var(--view-size) * var(--vw));
  height: calc(20 / var(--view-size) * var(--vw));
}
.faq_toggle img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.4s ease;
}

.faq_item.is-active .faq_toggle img {
  transform: rotate(180deg);
}

.faq_answer {
  display: none;
  overflow: hidden;
}

.faq_answer_inner {
  padding: 0 calc(24 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_answer_inner {
    padding: 0 calc(20 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
  }
}
.faq_answer_inner p {
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.8;
  opacity: 0.6;
  padding-left: calc(30 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_answer_inner p {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

/* お知らせ一覧ページ */
.news_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .news_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}
.news_page .news_list {
  margin-bottom: calc(80 / var(--view-size) * var(--vw));
  list-style: none;
}
@media (max-width: 768px) {
  .news_page .news_list {
    margin-bottom: calc(48 / var(--view-size) * var(--vw));
  }
}
.news_page .news_item:first-child {
  border-top: 1px solid rgba(35, 24, 21, 0.12);
}
.news_page .news_title {
  font-size: calc(16 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_page .news_title {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.news_pagination_list {
  gap: calc(8 / var(--view-size) * var(--vw));
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .news_pagination_list {
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.news_pagination_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(50 / var(--view-size) * var(--vw));
  height: calc(50 / var(--view-size) * var(--vw));
  padding: 0 calc(10 / var(--view-size) * var(--vw));
  border: 1px solid rgba(35, 24, 21, 0.2);
  border-radius: calc(4 / var(--view-size) * var(--vw));
  background-color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #231815;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .news_pagination_link {
    min-width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}
.news_pagination_link:hover {
  background-color: #918F7E;
  border-color: #918F7E;
  color: #fff;
  opacity: 1;
}
.news_pagination_link.is-current {
  background-color: #918F7E;
  border-color: #918F7E;
  color: #fff;
  pointer-events: none;
}
.news_pagination_link--next, .news_pagination_link--last {
  background-color: transparent;
  border: 1px solid rgba(35, 24, 21, 0.2);
  color: #918F7E;
}
.news_pagination_link--next:hover, .news_pagination_link--last:hover {
  background-color: #918F7E;
  border-color: #918F7E;
  color: #fff;
  opacity: 1;
}

.news_pagination_ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: calc(40 / var(--view-size) * var(--vw));
  height: calc(40 / var(--view-size) * var(--vw));
  font-family: "Outfit", sans-serif;
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1;
  color: #918F7E;
}
@media (max-width: 768px) {
  .news_pagination_ellipsis {
    min-width: calc(28 / var(--view-size) * var(--vw));
    height: calc(28 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

/* お知らせ詳細ページ */
.news_detail {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .news_detail {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}

.news_detail_article {
  padding: calc(80 / var(--view-size) * var(--vw)) calc(96 / var(--view-size) * var(--vw));
  background-color: #fff;
  border: 1px solid rgba(35, 24, 21, 0.12);
}
@media (max-width: 768px) {
  .news_detail_article {
    padding: calc(32 / var(--view-size) * var(--vw)) calc(24 / var(--view-size) * var(--vw));
  }
}

.news_detail_meta {
  gap: calc(24 / var(--view-size) * var(--vw));
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #918F7E;
}
@media (max-width: 768px) {
  .news_detail_meta {
    flex-wrap: wrap;
    gap: calc(12 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.news_detail_updated {
  margin: 0;
  font-family: "Outfit", sans-serif;
}

.news_detail_published {
  gap: calc(8 / var(--view-size) * var(--vw));
  margin: 0;
}

.news_detail_published_label {
  display: inline-block;
  padding: calc(2 / var(--view-size) * var(--vw)) calc(8 / var(--view-size) * var(--vw));
  background-color: #918F7E;
  font-size: calc(12 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #fff;
}
@media (max-width: 768px) {
  .news_detail_published_label {
    font-size: calc(10 / var(--view-size) * var(--vw));
  }
}

.news_detail_published_date {
  font-family: "Outfit", sans-serif;
}

.news_detail_ttl {
  margin-bottom: calc(48 / var(--view-size) * var(--vw));
  font-size: calc(32 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .news_detail_ttl {
    margin-bottom: calc(32 / var(--view-size) * var(--vw));
    font-size: calc(20 / var(--view-size) * var(--vw));
  }
}

.news_detail_body p {
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .news_detail_body p {
    margin-bottom: calc(20 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.news_detail_body p:last-child {
  margin-bottom: 0;
}

.news_detail_heading--h2 {
  margin: calc(48 / var(--view-size) * var(--vw)) 0 calc(32 / var(--view-size) * var(--vw));
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .news_detail_heading--h2 {
    margin: calc(32 / var(--view-size) * var(--vw)) 0 calc(24 / var(--view-size) * var(--vw));
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.news_detail_visual {
  margin: calc(48 / var(--view-size) * var(--vw)) 0;
}
@media (max-width: 768px) {
  .news_detail_visual {
    margin: calc(32 / var(--view-size) * var(--vw)) 0;
  }
}
.news_detail_visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.news_detail_heading--h3 {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin: calc(48 / var(--view-size) * var(--vw)) 0 calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_detail_heading--h3 {
    gap: calc(8 / var(--view-size) * var(--vw));
    margin: calc(32 / var(--view-size) * var(--vw)) 0 calc(24 / var(--view-size) * var(--vw));
  }
}
.news_detail_heading--h3 .sec_ttl_icon {
  width: calc(12 / var(--view-size) * var(--vw));
  height: calc(12 / var(--view-size) * var(--vw));
  background-color: #918F7E;
}
@media (max-width: 768px) {
  .news_detail_heading--h3 .sec_ttl_icon {
    width: calc(10 / var(--view-size) * var(--vw));
    height: calc(10 / var(--view-size) * var(--vw));
  }
}

.news_detail_heading_text {
  flex: 1;
  min-width: 0;
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .news_detail_heading_text {
    font-size: calc(15 / var(--view-size) * var(--vw));
  }
}

.news_detail_back {
  margin-top: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_detail_back {
    margin-top: calc(40 / var(--view-size) * var(--vw));
  }
}

.news_detail_back_link {
  gap: calc(12 / var(--view-size) * var(--vw));
  color: #918F7E;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .news_detail_back_link {
    gap: calc(8 / var(--view-size) * var(--vw));
  }
}
.news_detail_back_link:hover {
  opacity: 0.7;
}
.news_detail_back_link:hover .news_detail_back_text {
  border-bottom-color: #918F7E;
}

.news_detail_back_icon {
  display: block;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .news_detail_back_icon {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
}
.news_detail_back_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.news_detail_back_text {
  font-size: calc(15 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(145, 143, 126, 0.4);
  padding-bottom: calc(4 / var(--view-size) * var(--vw));
  transition: border-color 0.3s ease;
}
@media (max-width: 768px) {
  .news_detail_back_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

/* FAQ一覧ページ */
.faq_page {
  padding: calc(80 / var(--view-size) * var(--vw)) 0 calc(120 / var(--view-size) * var(--vw));
  background-color: #F2F0E2;
}
@media (max-width: 768px) {
  .faq_page {
    padding: calc(48 / var(--view-size) * var(--vw)) 0 calc(64 / var(--view-size) * var(--vw));
  }
}
.faq_page .faq_list {
  margin-bottom: 0;
}

.faq_page_layout {
  gap: calc(48 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_page_layout {
    flex-direction: column;
    gap: calc(40 / var(--view-size) * var(--vw));
  }
}

.faq_page_nav {
  flex-shrink: 0;
  width: calc(280 / var(--view-size) * var(--vw));
  position: sticky;
  top: calc(150 / var(--view-size) * var(--vw));
  align-self: flex-start;
}
@media (max-width: 768px) {
  .faq_page_nav {
    width: 100%;
    position: static;
  }
}

.faq_page_nav_list {
  display: flex;
  flex-direction: column;
  gap: calc(8 / var(--view-size) * var(--vw));
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 768px) {
  .faq_page_nav_list {
    gap: calc(6 / var(--view-size) * var(--vw));
  }
}

.faq_page_nav_link {
  width: 100%;
  padding: calc(16 / var(--view-size) * var(--vw)) calc(20 / var(--view-size) * var(--vw));
  background-color: #918F7E;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #fff;
  font-size: calc(16 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: opacity 0.3s ease;
}
@media (max-width: 768px) {
  .faq_page_nav_link {
    padding: calc(14 / var(--view-size) * var(--vw)) calc(16 / var(--view-size) * var(--vw));
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}
.faq_page_nav_link:hover {
  opacity: 0.85;
}

.faq_page_nav_arrow {
  flex-shrink: 0;
  margin-left: calc(12 / var(--view-size) * var(--vw));
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1;
}

.faq_page_main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_page_main {
    gap: calc(48 / var(--view-size) * var(--vw));
  }
}

.faq_page_block {
  scroll-margin-top: calc(100 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_page_block {
    scroll-margin-top: calc(80 / var(--view-size) * var(--vw));
  }
}

.faq_page_ttl {
  gap: calc(12 / var(--view-size) * var(--vw));
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .faq_page_ttl {
    gap: calc(8 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.faq_page_ttl_bar {
  flex-shrink: 0;
  width: calc(4 / var(--view-size) * var(--vw));
  height: calc(30 / var(--view-size) * var(--vw));
  background-color: #918F7E;
}
@media (max-width: 768px) {
  .faq_page_ttl_bar {
    width: 2px;
    height: calc(14 / var(--view-size) * var(--vw));
  }
}

.faq_page_ttl_text {
  font-size: calc(26 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #231815;
}
@media (max-width: 768px) {
  .faq_page_ttl_text {
    font-size: calc(16 / var(--view-size) * var(--vw));
  }
}

.faq_answer_inner a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: calc(3 / var(--view-size) * var(--vw));
}

.reservation {
  position: relative;
  padding: calc(120 / var(--view-size) * var(--vw)) 0;
  color: #fff;
  overflow: hidden;
}
@media (max-width: 768px) {
  .reservation {
    padding: calc(64 / var(--view-size) * var(--vw)) 0;
  }
}
.reservation .inner {
  position: relative;
  z-index: 1;
}

.reservation_bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 100%;
}
.reservation_bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.reservation_head {
  text-align: center;
  margin-bottom: calc(64 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .reservation_head {
    margin-bottom: calc(40 / var(--view-size) * var(--vw));
  }
}

.reservation_ttl {
  font-family: "Outfit", sans-serif;
  font-size: calc(72 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-bottom: calc(24 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .reservation_ttl {
    font-size: calc(40 / var(--view-size) * var(--vw));
    margin-bottom: calc(16 / var(--view-size) * var(--vw));
  }
}

.reservation_lead {
  font-size: calc(20 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .reservation_lead {
    font-size: calc(14 / var(--view-size) * var(--vw));
  }
}

.reservation_list {
  justify-content: center;
  gap: calc(80 / var(--view-size) * var(--vw));
  align-items: stretch;
}
@media (max-width: 768px) {
  .reservation_list {
    flex-direction: column;
    gap: calc(48 / var(--view-size) * var(--vw));
  }
}

.reservation_item {
  flex: 0 1 calc(360 / var(--view-size) * var(--vw));
  width: 100%;
  max-width: calc(360 / var(--view-size) * var(--vw));
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (max-width: 768px) {
  .reservation_item {
    flex: none;
    max-width: 100%;
  }
}

.reservation_item_ttl {
  font-family: "Outfit", sans-serif;
  font-size: calc(24 / var(--view-size) * var(--vw));
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: calc(12 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .reservation_item_ttl {
    font-size: calc(22 / var(--view-size) * var(--vw));
    margin-bottom: calc(8 / var(--view-size) * var(--vw));
  }
}

.reservation_item_label {
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-bottom: calc(32 / var(--view-size) * var(--vw));
}
@media (max-width: 768px) {
  .reservation_item_label {
    font-size: calc(13 / var(--view-size) * var(--vw));
    margin-bottom: calc(24 / var(--view-size) * var(--vw));
  }
}

.reservation_btn {
  width: 100%;
  max-width: calc(360 / var(--view-size) * var(--vw));
  min-height: calc(56 / var(--view-size) * var(--vw));
  margin-top: auto;
  padding: calc(16 / var(--view-size) * var(--vw));
  background-color: rgba(255, 255, 255, 0.8);
  border: calc(1 / var(--view-size) * var(--vw)) solid rgba(255, 255, 255, 0.8);
  border: 1px solid transparent;
  border-radius: calc(4 / var(--view-size) * var(--vw));
  color: #231815;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
@media (max-width: 768px) {
  .reservation_btn {
    max-width: 100%;
    min-height: calc(52 / var(--view-size) * var(--vw));
  }
}
.reservation_btn:hover {
  opacity: 1;
  background-color: #231815;
  border-color: rgba(255, 255, 255, 0.8);
  color: #fff;
}

.reservation_btn_text {
  flex: 1;
  min-width: 0;
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: left;
}
@media (max-width: 768px) {
  .reservation_btn_text {
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.reservation_btn_icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: calc(42 / var(--view-size) * var(--vw));
  height: calc(42 / var(--view-size) * var(--vw));
  background-color: #B0CFD5;
  border-radius: calc(4 / var(--view-size) * var(--vw));
}
.reservation_btn_icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.3s ease;
}
.reservation_btn_icon i {
  font-size: calc(14 / var(--view-size) * var(--vw));
  line-height: 1;
}
.reservation_btn_icon:not(.reservation_btn_icon--external)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/common/icon_arrow_white.svg") center/contain no-repeat;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  .reservation_btn_icon {
    width: calc(36 / var(--view-size) * var(--vw));
    height: calc(36 / var(--view-size) * var(--vw));
  }
  .reservation_btn_icon i {
    font-size: calc(12 / var(--view-size) * var(--vw));
  }
}

.reservation_btn_icon--external {
  background-color: #231815;
  color: #fff;
}

.reservation_btn:hover .reservation_btn_icon:not(.reservation_btn_icon--external) {
  background-color: transparent;
}
.reservation_btn:hover .reservation_btn_icon:not(.reservation_btn_icon--external) img {
  opacity: 0;
}
.reservation_btn:hover .reservation_btn_icon:not(.reservation_btn_icon--external)::after {
  opacity: 1;
}
.reservation_btn:hover .reservation_btn_icon--external {
  background-color: #fff;
  color: #231815;
}

.reservation_btn--login {
  justify-content: center;
  max-width: calc(320 / var(--view-size) * var(--vw));
  padding: calc(20 / var(--view-size) * var(--vw)) calc(32 / var(--view-size) * var(--vw));
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: calc(100 / var(--view-size) * var(--vw));
  font-size: calc(18 / var(--view-size) * var(--vw));
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #fff;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.reservation_btn--login:hover {
  opacity: 1;
  background-color: #fff;
  border-color: #fff;
  color: #231815;
}
@media (max-width: 768px) {
  .reservation_btn--login {
    max-width: 100%;
    font-size: calc(13 / var(--view-size) * var(--vw));
  }
}

.fadein {
  opacity: 0;
  transform: translateY(3%);
}
.fadein.active {
  animation: 0.8s forwards fadein;
}

.fadein2 {
  opacity: 0;
  transform: translateY(3%);
}
.fadein2.active {
  animation: 0.8s forwards 0.1s fadein;
}

.leftin {
  transform: translateX(-100%);
  overflow: hidden;
}
.leftin.active {
  animation: 0.5s forwards leftin;
}

.rightin {
  transform: translateX(100%);
  overflow: hidden;
}
.rightin.active {
  animation: 0.5s forwards rightin;
}

@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(3%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes leftin {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes rightin {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
.sec_ttl_reveal {
  position: relative;
  display: inline-block;
}

.sec_ttl_reveal_base {
  color: rgba(35, 24, 21, 0.15);
}

.sec_ttl_reveal_fill {
  position: absolute;
  top: 0;
  left: 0;
  color: #231815;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

.js_ttl_reveal.is-revealed .sec_ttl_reveal_fill {
  animation: ttlReveal 1.5s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@keyframes ttlReveal {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 120% 0, 105% 100%, 0 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sec_ttl_reveal_base {
    display: none;
  }
  .sec_ttl_reveal_fill {
    position: static;
    clip-path: none;
    animation: none;
  }
}
.loading {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background-color: #fff;
  overflow: hidden;
  pointer-events: all;
  transition: opacity var(--loading-fade-duration) ease;
  --logo-anim-duration: 0.67s;
  --loading-fade-duration: 0.33s;
}
.loading.is-reveal {
  opacity: 0;
  pointer-events: none;
}

.loading_logo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.loading_logo_clip {
  position: relative;
  display: block;
  line-height: 0;
}

.loading_logo_img {
  display: block;
  width: calc(247 / var(--view-size) * var(--vw));
  max-width: 248px;
  height: auto;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  will-change: clip-path;
}
@media (max-width: 768px) {
  .loading_logo_img {
    width: calc(168 / var(--view-size) * var(--vw));
    max-width: none;
  }
}
.loading.is-logo:not(.is-logo-out) .loading_logo_img {
  animation: loadingLogoReveal var(--logo-anim-duration) cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.loading.is-logo-out .loading_logo_img {
  animation: loadingLogoHide var(--logo-anim-duration) cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.loading.is-logo-hidden .loading_logo {
  visibility: hidden;
  pointer-events: none;
}

@keyframes loadingLogoReveal {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  88% {
    clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes loadingLogoHide {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  12% {
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
  }
  88% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 82% 100%);
  }
  100% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
.loading_grid {
  display: none;
}

body.is-loading {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .loading_logo_img {
    animation: none !important;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
  }
  .loading.is-logo-out .loading_logo_img {
    animation: none !important;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%) !important;
  }
  .loading.is-reveal {
    transition: none !important;
  }
}/*# sourceMappingURL=style.css.map */