@charset "UTF-8";

/* ---------------------------------------------
  共通
--------------------------------------------- */
.wrapper .section_title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(80 / 1920 * 100vw, 80px);
  line-height: 1;
  font-weight: 100;
  text-decoration-color: #fff;
  text-decoration-line: underline;
  text-decoration-thickness: min(4 / 1920 * 100vw, 4px);
  text-underline-offset: min(17 / 1920 * 100vw, 17px);
  text-decoration-skip-ink: none;
}
.wrapper .reservation_button {
  width: min(901 / 1920 * 100vw, 901px);
  margin: 0 auto;
  text-align: center;
}
.wrapper .reservation_button a {
  font-size: min(50 / 1920 * 100vw, 50px);
  line-height: 1;
  font-weight: 400;
  color: #fff;
  background-color: #3266aa;
  width: 100%;
  display: block;
  position: relative;
  border-radius: min(74 / 1920 * 100vw, 74px);
  padding: min(48.5 / 1920 * 100vw, 48.5px) 0;
}
.wrapper .reservation_button a::after {
  content: "";
  background: url(/assets/img/common/button_arrow.png) center/cover no-repeat;
  width: min(286 / 1920 * 100vw, 286px);
  height: min(21 / 1920 * 100vw, 21px);
  position: absolute;
  top: 45%;
  right: min(50 / 1920 * 100vw, 50px);
  translate: 0% -50%;
}
@media (max-width: 750px) {
  .wrapper .section_title {
    font-size: min(45 / 750 * 100vw, 45px);
    text-decoration-thickness: min(3 / 750 * 100vw, 3px);
    text-underline-offset: min(10 / 750 * 100vw, 10px);
  }
  .wrapper .reservation_button {
    width: min(512 / 750 * 100vw, 512px);
  }
  .wrapper .reservation_button a {
    font-size: min(30 / 750 * 100vw, 30px);
    border-radius: min(74 / 750 * 100vw, 74px);
    padding: min(28 / 750 * 100vw, 28px) 0;
  }
  .wrapper .reservation_button a::after {
    background-size: contain;
    width: min(163 / 750 * 100vw, 163px);
    height: min(13 / 750 * 100vw, 13px);
    right: min(25 / 750 * 100vw, 25px);
  }
}
/* ---------------------------------------------
  アニメーション
--------------------------------------------- */
/* スクロールアニメーション共通 */
.wrapper .io {
  transition: all 1.5s ease;
}
/* fade-in
-------------------- */
.wrapper .io-fadeIn {
  opacity: 0;
  transition-delay: 0.2s;
}
.wrapper .io-fadeIn.is-active {
  opacity: 1;
}
/* ---------------------------------------------
  追従ボタン
--------------------------------------------- */
.wrapper .float {
  position: fixed;
  top: min(150 / 1920 * 100vw, 150px);
  right: 0;
  width: fit-content;
  z-index: 5;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.4s, opacity 0.4s;
}
.wrapper .float.is-show {
  visibility: visible;
  opacity: 1;
}
.wrapper .float_reservation a {
  display: block;
  font-size: min(24 / 1920 * 100vw, 24px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.3em;
  color: #fff;
  background-color: #3d74bd;
  writing-mode: vertical-rl;
  border-radius: min(20 / 1920 * 100vw, 20px) 0 0 min(20 / 1920 * 100vw, 20px);
  padding: min(30 / 1920 * 100vw, 30px) min(23 / 1920 * 100vw, 23px);
}
@media (max-width: 750px) {
  .wrapper .float {
    top: min(150 / 750 * 100vw, 150px);
  }
  .wrapper .float_reservation a {
    font-size: min(25 / 750 * 100vw, 25px);
    letter-spacing: 0.1em;
    border-radius: min(32 / 750 * 100vw, 32px) 0 0 min(32 / 750 * 100vw, 32px);
    padding: min(25 / 750 * 100vw, 25px) min(46 / 750 * 100vw, 46px) min(25 / 750 * 100vw, 25px) min(23 / 750 * 100vw, 23px);
  }
}
/* ---------------------------------------------
  fv
--------------------------------------------- */
.wrapper .fv {
  position: relative;
}
.wrapper .fv_main {
  position: absolute;
  width: 100%;
  height: 100%;
}
.wrapper .fv_slideWrap {
  width: min(1572 / 1920 * 100vw, 1572px);
  margin-inline: auto;
}
.wrapper .fv_slider li {
  background-size: cover;
  background-position: center center;
}
.wrapper .fv_slider li:nth-of-type(1) {
  background-image: url(/assets/img/top/fv_slide_01_pc.jpg);
}
.wrapper .fv_slider li:nth-of-type(2) {
  background-image: url(/assets/img/top/fv_slide_02_pc.jpg);
}
.wrapper .fv_slider li:nth-of-type(3) {
  background-image: url(/assets/img/top/fv_slide_03_pc.jpg);
}
.wrapper .fv_slider li:nth-of-type(4) {
  background-image: url(/assets/img/top/fv_slide_04_pc.jpg);
}
.wrapper .fv_slider li:nth-of-type(5) {
  background-image: url(/assets/img/top/fv_slide_05_pc.jpg);
}
.wrapper .fv_slider li:nth-of-type(6) {
  background-image: url(/assets/img/top/fv_slide_06_pc.jpg);
}
.wrapper .fv_slideInner {
  height: min(914 / 1920 * 100vw, 914px);
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.fv_animation {
  animation: zoomUp 10s linear 0s normal both;
}
.wrapper .fv_text {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-end;
  padding-bottom: min(135 / 1920 * 100vw, 135px);
  margin-left: -6%;
}
.wrapper .fv_text h2 {
  font-size: min(35 / 1920 * 100vw, 35px);
  line-height: 1;
  font-weight: 400;
  background-color: #265694;
  width: fit-content;
  z-index: 2;
  padding: min(10 / 1920 * 100vw, 10px) min(12 / 1920 * 100vw, 12px) min(10 / 1920 * 100vw, 10px) 0;
  margin-top: min(35 / 1920 * 100vw, 35px);
}
.wrapper .fv_text h2:nth-of-type(1) {
  padding-right: min(35 / 1920 * 100vw, 35px);
}
.wrapper .fv_text p {
  font-size: min(15 / 1920 * 100vw, 15px);
  line-height: 1;
  font-weight: 400;
  display: block;
  width: fit-content;
  margin: 0 auto 0 0;
  width: fit-content;
  z-index: 2;
  background-color: #265694;
  padding: min(10 / 1920 * 100vw, 10px) min(12 / 1920 * 100vw, 12px) min(10 / 1920 * 100vw, 10px) 0;
}
@media (max-width: 750px) {
  .wrapper .fv_slideWrap {
    width: 100%;
  }
  .wrapper .fv_slider li:nth-of-type(1) {
    background-image: url(/assets/img/top/fv_slide_01_sp.jpg);
  }
  .wrapper .fv_slider li:nth-of-type(2) {
    background-image: url(/assets/img/top/fv_slide_02_sp.jpg);
  }
  .wrapper .fv_slider li:nth-of-type(3) {
    background-image: url(/assets/img/top/fv_slide_03_sp.jpg);
  }
  .wrapper .fv_slider li:nth-of-type(4) {
    background-image: url(/assets/img/top/fv_slide_04_sp.jpg);
  }
  .wrapper .fv_slider li:nth-of-type(5) {
    background-image: url(/assets/img/top/fv_slide_05_sp.jpg);
  }
  .wrapper .fv_slider li:nth-of-type(6) {
    background-image: url(/assets/img/top/fv_slide_06_sp.jpg);
  }
  .wrapper .fv_slideInner {
    height: calc(100svh - min(96 / 750 * 100vw, 96px));
  }
  .wrapper .fv_text {
    padding-bottom: min(175 / 750 * 100vw, 175px);
    margin-left: 0;
  }
  .wrapper .fv_text h2 {
    font-size: min(25 / 750 * 100vw, 25px);
    padding: min(5 / 750 * 100vw, 5px);
    margin-top: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .fv_text h2:nth-of-type(1) {
    padding-right: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .fv_text p {
    font-size: min(15 / 750 * 100vw, 15px);
    padding: min(5 / 750 * 100vw, 5px) min(3 / 750 * 100vw, 3px) min(5 / 750 * 100vw, 5px) min(5 / 750 * 100vw, 5px);
  }
}
/* ---------------------------------------------
  about
--------------------------------------------- */
.wrapper .about {
  padding: min(115 / 1920 * 100vw, 115px) 0 min(130 / 1920 * 100vw, 130px);
}
.wrapper .about_inner {
  position: relative;
  max-width: min(1710 / 1920 * 100vw, 1710px);
  margin: 0 0 0 auto;
  padding-left: min(40 / 1920 * 100vw, 40px);
}
.wrapper .about_title {
  background-color: #000;
  position: absolute;
  top: 7%;
  left: -13.5%;
  padding: min(30 / 1920 * 100vw, 30px) min(90 / 1920 * 100vw, 90px) min(50 / 1920 * 100vw, 50px) 0;
  width: 46%;
  text-align: right;
}
.wrapper .about_content {
  background-color: #fff;
  padding: min(137 / 1920 * 100vw, 137px) 0 0 min(38 / 1920 * 100vw, 38px);
}
.wrapper .about_body {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(35 / 1920 * 100vw, 35px);
}
.wrapper .about_description {
  font-size: min(24 / 1920 * 100vw, 24px);
  line-height: 1.7;
  font-weight: 400;
  color: #000;
}
.wrapper .about_image {
  width: min(807 / 1920 * 100vw, 807px);
  margin: -2% 0;
}
@media (min-width: 1921px) {
  .wrapper .about_inner {
    margin: 0 auto;
  }
}
@media (max-width: 750px) {
  .wrapper .about {
    padding: min(92 / 750 * 100vw, 92px) 0 min(376 / 750 * 100vw, 376px);
  }
  .wrapper .about_inner {
    max-width: none;
    margin: 0 auto;
    padding: 0 min(30 / 750 * 100vw, 30px);
  }
  .wrapper .about_title {
    font-size: min(50 / 750 * 100vw, 50px);
    top: 5%;
    left: 0;
    padding: min(12 / 750 * 100vw, 12px) min(60 / 750 * 100vw, 60px) min(28 / 750 * 100vw, 28px) 0;
    width: min(290 / 750 * 100vw, 290px);
  }
  .wrapper .about_content {
    padding: min(135 / 750 * 100vw, 135px) 0 0 min(60 / 750 * 100vw, 60px);
  }
  .wrapper .about_body {
    flex-direction: column;
    gap: min(45 / 750 * 100vw, 45px);
  }
  .wrapper .about_description {
    font-size: min(21 / 750 * 100vw, 21px);
    letter-spacing: -0.02em;
  }
  .wrapper .about_image {
    width: min(450 / 750 * 100vw, 450px);
    margin: 0 -38% -49% 0;
  }
}
/* ---------------------------------------------
  concept
--------------------------------------------- */
.wrapper .concept {
  padding: min(90 / 1920 * 100vw, 90px) 0 min(258 / 1920 * 100vw, 258px);
  position: relative;
  background-color: #1b1919;
}
.wrapper .concept_inner {
  position: relative;
}
.wrapper .concept_title {
  text-align: center;
}
.wrapper .concept_content {
  margin-top: min(105 / 1920 * 100vw, 105px);
  display: flex;
  flex-direction: column;
  gap: min(200 / 1920 * 100vw, 200px);
}
.wrapper .concept_block {
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapper .concept_block:nth-child(even) {
  justify-content: space-evenly;
}
.wrapper .concept_block:nth-child(even) .concept_body {
  width: 40%;
}
.wrapper .concept_image {
  width: min(667 / 1920 * 100vw, 667px);
}
.wrapper .concept_body {
  width: 37%;
}
.wrapper .concept_heading {
  font-size: min(34 / 1920 * 100vw, 34px);
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
  position: relative;
}
.wrapper .concept_heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 62%;
  height: min(2 / 1920 * 100vw, 2px);
  background-color: #fff;
}
.wrapper .concept_description {
  font-size: min(26 / 1920 * 100vw, 26px);
  line-height: 1.75;
  font-weight: 400;
  margin-top: min(25 / 1920 * 100vw, 25px);
}
.wrapper .concept_slideWrap {
  width: min(1033 / 1920 * 100vw, 1033px);
  margin: min(170 / 1920 * 100vw, 170px) auto 0;
}
.wrapper .concept_slider .slick-arrow {
  background-size: contain;
  background-repeat: no-repeat;
  width: min(75 / 1920 * 100vw, 75px);
  height: min(146 / 1920 * 100vw, 146px);
  cursor: pointer;
  position: absolute;
  top: 55%;
  translate: 0 -50%;
}
.wrapper .concept_slider .slick-arrow::before {
  font-size: 0;
}
.wrapper .concept_slider .slick-next {
  background-image: url(/assets/img/top/concept_slide_next.png);
  right: -25%;
}
.wrapper .concept_slider .slick-prev {
  background-image: url(/assets/img/top/concept_slide_prev.png);
  left: -25%;
}
@media (max-width: 750px) {
  .wrapper .concept {
    padding: min(77 / 750 * 100vw, 77px) 0 min(130 / 750 * 100vw, 130px);
  }
  .wrapper .concept_inner {
    padding: 0 min(80 / 750 * 100vw, 80px);
  }
  .wrapper .concept_title {
    font-size: min(44 / 750 * 100vw, 44px);
    text-decoration-thickness: min(3 / 750 * 100vw, 3px);
    text-underline-offset: min(10 / 750 * 100vw, 10px);
  }
  .wrapper .concept_content {
    margin-top: min(180 / 750 * 100vw, 180px);
    gap: min(160 / 750 * 100vw, 160px);
  }
  .wrapper .concept_block {
    flex-direction: column-reverse;
    gap: min(35 / 750 * 100vw, 35px);
  }
  .wrapper .concept_block:nth-child(even) {
    justify-content: center;
    flex-direction: column;
  }
  .wrapper .concept_block:nth-child(even) .concept_body {
    width: 100%;
  }
  .wrapper .concept_image {
    width: min(561 / 750 * 100vw, 561px);
  }
  .wrapper .concept_body {
    width: 100%;
  }
  .wrapper .concept_heading {
    font-size: min(32 / 750 * 100vw, 32px);
  }
  .wrapper .concept_heading::after {
    width: 75.5%;
    height: min(2 / 750 * 100vw, 2px);
  }
  .wrapper .concept_description {
    font-size: min(21 / 750 * 100vw, 21px);
    margin-top: min(32 / 750 * 100vw, 32px);
  }
  .wrapper .concept_slideWrap {
    width: min(557 / 750 * 100vw, 557px);
    margin: min(170 / 750 * 100vw, 170px) auto 0;
  }
  .wrapper .concept_slider .slick-arrow {
    width: min(36 / 750 * 100vw, 36px);
    height: min(66 / 750 * 100vw, 66px);
    top: 58%;
  }
  .wrapper .concept_slider .slick-next {
    right: -12%;
  }
  .wrapper .concept_slider .slick-prev {
    left: -12%;
  }
}
/* ---------------------------------------------
  room
--------------------------------------------- */
.wrapper .room {
  padding: min(110 / 1920 * 100vw, 110px) 0 min(229 / 1920 * 100vw, 229px);
}
.wrapper .room_inner {
  max-width: min(1208 / 1920 * 100vw, 1208px);
  margin-inline: auto;
}
.wrapper .room_title {
  position: relative;
  width: fit-content;
  margin: 0 auto 0 0;
}
.wrapper .room_title::after {
  content: "";
  background-color: #fff;
  width: min(1315 / 1920 * 100vw, 1315px);
  height: min(4 / 1920 * 100vw, 4px);
  position: absolute;
  top: 60%;
  right: -15%;
  translate: 100% 100%;
}
.wrapper .room_contents {
  display: flex;
  flex-direction: column;
  gap: min(285 / 1920 * 100vw, 285px);
  margin-top: min(110 / 1920 * 100vw, 110px);
}
.wrapper .roomAccordion {
  position: relative;
  z-index: 1;
  background-color: #fff;
  padding: min(74 / 1920 * 100vw, 74px) min(59 / 1920 * 100vw, 59px) min(63 / 1920 * 100vw, 63px) min(59 / 1920 * 100vw, 59px);
}
.wrapper .roomAccordion_button {
  position: relative;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .roomAccordion_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: min(42 / 1920 * 100vw, 42px);
}
.wrapper .roomAccordion_status {
  width: min(42 / 1920 * 100vw, 42px);
  height: min(42 / 1920 * 100vw, 42px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrapper .roomAccordion_status::before,
.wrapper .roomAccordion_status::after {
  content: "";
  position: absolute;
  width: min(42 / 1920 * 100vw, 42px);
  height: min(4 / 1920 * 100vw, 4px);
  background-color: #265694;
}
.wrapper .roomAccordion_status::before {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}
.wrapper .roomAccordion_button.is-open .roomAccordion_status::before {
  transform: rotate(0deg);
}
.wrapper .roomAccordion_heading {
  font-size: min(45 / 1920 * 100vw, 45px);
  line-height: 1;
  font-weight: 400;
  color: #000;
}
.wrapper .roomAccordion_heading--small {
  font-size: min(42 / 1920 * 100vw, 42px);
  letter-spacing: -0.05em;
}
.wrapper .roomAccordion_explain {
  font-size: min(30 / 1920 * 100vw, 30px);
  line-height: 1.75;
  font-weight: 400;
  color: #000;
  margin-top: min(50 / 1920 * 100vw, 50px);
  padding-left: min(110 / 1920 * 100vw, 110px);
}
.wrapper .room_image {
  width: min(628 / 1920 * 100vw, 628px);
}
.wrapper .room_image--small {
  width: min(582 / 1920 * 100vw, 582px);
}
.wrapper .roomAccordion_body {
  display: none;
}
.wrapper .room_iconList {
  display: grid;
  grid-template: repeat(2, 1fr) / repeat(3, 1fr);
  grid-template-columns: 0.8fr 0.7fr 1fr;
  grid-row-gap: min(35 / 1920 * 100vw, 35px);
  background-color: #f2f2f2;
  padding: min(34 / 1920 * 100vw, 34px) 0 min(34 / 1920 * 100vw, 34px) min(34 / 1920 * 100vw, 34px);
  margin-top: min(40 / 1920 * 100vw, 40px);
}
.wrapper .room_icon {
  width: min(122 / 1920 * 100vw, 122px);
  flex-shrink: 0;
}
.wrapper .room_iconList li {
  display: flex;
  align-items: center;
  gap: min(22 / 1920 * 100vw, 22px);
}
.wrapper .room_iconList p {
  font-size: min(33 / 1920 * 100vw, 33px);
  line-height: 1;
  font-weight: 400;
  color: #000;
}
.wrapper .room_iconList p.--off {
  color: #9c9b9b;
}
.wrapper .room_galleryList {
  display: grid;
  grid-template: repeat(2, 1fr) / repeat(5, 1fr);
  gap: min(25 / 1920 * 100vw, 25px);
  margin-top: min(48 / 1920 * 100vw, 48px);
}
.wrapper .room_galleryList li {
  cursor: pointer;
  transition: opacity 0.3s;
  width: min(198 / 1920 * 100vw, 198px);
}
.wrapper .room_galleryList li:hover {
  opacity: 0.6;
}
.roomModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.6s, opacity 0.6s;
}
.roomModal[aria-hidden="false"] {
  visibility: visible;
  opacity: 1;
}
.roomModal_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  cursor: pointer;
}
.roomModal_content {
  position: relative;
  width: 100%;
  max-width: 500px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}
.roomModal_close {
  position: absolute;
  top: -60px;
  right: 0;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 0;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
}
.roomModal_close::before,
.roomModal_close::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 60px;
  background-color: #fff;
  transform-origin: center;
}
.roomModal_close::before {
  transform: rotate(45deg);
}
.roomModal_close::after {
  transform: rotate(-45deg);
}
.roomModal_close:hover {
  opacity: 0.7;
}
.roomModal_main {
  width: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.roomModal_main img {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
.roomModal_thumbnails {
  display: grid;
  grid-template: repeat(2, 1fr) / repeat(5, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
}
.roomModal_thumbnail {
  width: 80px;
  height: 80px;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s;
}
.roomModal_thumbnail:hover {
  opacity: 1;
}
.roomModal_thumbnail.is-active {
  opacity: 1;
  border-color: #fff;
}
.roomModal_thumbnail img {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
.wrapper .room_reservationButton {
  margin: min(54 / 1920 * 100vw, 54px) auto 0;
}
@media (max-width: 750px) {
  .wrapper .room {
    padding: min(75 / 750 * 100vw, 75px) 0 min(85 / 750 * 100vw, 85px);
  }
  .wrapper .room_inner {
    max-width: none;
    padding: 0 min(30 / 750 * 100vw, 30px);
  }
  .wrapper .room_title {
    padding-left: min(35 / 750 * 100vw, 35px);
  }
  .wrapper .room_title::after {
    width: min(530 / 750 * 100vw, 530px);
    height: min(4 / 750 * 100vw, 4px);
    top: 60%;
    right: -23%;
  }
  .wrapper .room_contents {
    gap: min(49 / 750 * 100vw, 49px);
    margin-top: min(65 / 750 * 100vw, 65px);
  }
  .wrapper .roomAccordion {
    padding: min(34 / 750 * 100vw, 34px) min(35 / 750 * 100vw, 35px) min(63 / 750 * 100vw, 63px) min(35 / 750 * 100vw, 35px);
  }
  .wrapper .roomAccordion_wrap {
    gap: min(5 / 750 * 100vw, 5px);
  }
  .wrapper .roomAccordion_status {
    width: min(23 / 750 * 100vw, 23px);
    height: min(23 / 750 * 100vw, 23px);
  }
  .wrapper .roomAccordion_status::before,
  .wrapper .roomAccordion_status::after {
    width: min(23 / 750 * 100vw, 23px);
    height: min(2 / 750 * 100vw, 2px);
  }
  .wrapper .roomAccordion_heading {
    font-size: min(25 / 750 * 100vw, 25px);
  }
  .wrapper .roomAccordion_heading--small {
    font-size: min(22 / 750 * 100vw, 22px);
    white-space: nowrap;
  }
  .wrapper .roomAccordion_explain {
    font-size: min(20 / 750 * 100vw, 20px);
    line-height: 1.5;
    margin-top: min(21 / 750 * 100vw, 21px);
    padding-left: min(43 / 750 * 100vw, 43px);
  }
  .wrapper .room_image {
    width: min(357 / 750 * 100vw, 357px);
  }
  .wrapper .room_image--small {
    width: min(357 / 750 * 100vw, 357px);
  }
  .wrapper .room_iconList {
    grid-template-columns: 0.9fr 0.8fr 1fr;
    grid-row-gap: min(25 / 750 * 100vw, 25px);
    padding: min(20 / 750 * 100vw, 20px) 0 min(15 / 750 * 100vw, 15px) min(20 / 750 * 100vw, 20px);
    margin-top: min(40 / 750 * 100vw, 40px);
  }
  .wrapper .room_icon {
    width: min(69 / 750 * 100vw, 69px);
  }
  .wrapper .room_iconList li {
    gap: min(13 / 750 * 100vw, 13px);
  }
  .wrapper .room_iconList p {
    font-size: min(16 / 750 * 100vw, 16px);
  }
  .wrapper .room_galleryList {
    gap: min(13 / 750 * 100vw, 13px);
    margin-top: min(54 / 750 * 100vw, 54px);
  }
  .wrapper .room_galleryList li {
    width: min(112 / 750 * 100vw, 112px);
  }
  .roomModal_content {
    max-width: none;
    gap: min(50 / 750 * 100vw, 50px);
  }
  .roomModal_close {
    top: max(-70 / 750 * 100vw, -70px);
    right: min(50 / 750 * 100vw, 50px);
    width: min(50 / 750 * 100vw, 50px);
    height: min(50 / 750 * 100vw, 50px);
  }
  .roomModal_close::before,
  .roomModal_close::after {
    width: min(3 / 750 * 100vw, 3px);
    height: min(60 / 750 * 100vw, 60px);
  }
  .roomModal_main {
    width: min(500 / 750 * 100vw, 500px);
  }
  .roomModal_thumbnails {
    gap: min(15 / 750 * 100vw, 15px);
  }
  .roomModal_thumbnail {
    width: min(100 / 750 * 100vw, 100px);
    height: min(100 / 750 * 100vw, 100px);
  }
  .wrapper .room_reservationButton {
    margin: min(60 / 750 * 100vw, 60px) auto 0;
  }
}
/* ---------------------------------------------
  facilities
--------------------------------------------- */
.wrapper .facilities {
  background-color: #f2f2f2;
  padding: min(213 / 1920 * 100vw, 213px) 0 min(81 / 1920 * 100vw, 81px);
}
.wrapper .facilities_title {
  color: #265694;
  text-decoration-color: #265694;
  position: relative;
  margin-left: 19%;
}
.wrapper .facilities_title::before {
  content: "";
  background-color: #265694;
  width: min(295 / 1920 * 100vw, 295px);
  height: min(4 / 1920 * 100vw, 4px);
  position: absolute;
  top: 50%;
  left: -4.5%;
  translate: -100% 100%;
}
.wrapper .facilities_main {
  display: flex;
  flex-direction: column;
  gap: min(210 / 1920 * 100vw, 210px);
  margin-top: min(160 / 1920 * 100vw, 160px);
}
.wrapper .facilities_block {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.wrapper .facilities_image {
  width: min(872 / 1920 * 100vw, 872px);
}
.wrapper .facilities_text {
  width: 45%;
  margin-top: min(35 / 1920 * 100vw, 35px);
}
.wrapper .facilities_text h3 {
  font-size: min(50 / 1920 * 100vw, 50px);
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 400;
  background-color: #265694;
  padding: min(40 / 1920 * 100vw, 40px) 0 min(40 / 1920 * 100vw, 40px) min(100 / 1920 * 100vw, 100px);
}
.wrapper .facilities_mainList {
  display: flex;
  flex-direction: column;
  gap: min(24 / 1920 * 100vw, 24px);
  padding-left: min(100 / 1920 * 100vw, 100px);
  margin-top: min(23 / 1920 * 100vw, 23px);
}
.wrapper .facilities_mainList li {
  font-size: min(33 / 1920 * 100vw, 33px);
  line-height: 1;
  letter-spacing: -0.1em;
  font-weight: 400;
  color: #265694;
}
.wrapper .facilities_mainList li span {
  font-size: inherit;
  line-height: 1;
  color: inherit;
}
.wrapper .facilities_sub .facilities_text {
  width: 100%;
  margin-top: min(92 / 1920 * 100vw, 92px);
}
.wrapper .facilities_sub .facilities_text h3 {
  background-color: transparent;
  padding: 0;
  text-align: center;
  color: #265694;
}
.wrapper .facilities_subList {
  display: grid;
  grid-template: repeat(4, 1fr) / 2fr 1fr;
  background-color: #fff;
  padding: min(74 / 1920 * 100vw, 74px) min(80 / 1920 * 100vw, 80px) min(85 / 1920 * 100vw, 85px);
  max-width: min(870 / 1920 * 100vw, 870px);
  margin: min(45 / 1920 * 100vw, 45px) auto 0;
  grid-row-gap: min(20 / 1920 * 100vw, 20px);
}
.wrapper .facilities_subList li {
  font-size: min(28 / 1920 * 100vw, 28px);
  line-height: 1;
  font-weight: 400;
  color: #265694;
}
.wrapper .facilities_subList li span {
  font-size: inherit;
  line-height: 1;
  font-weight: 400;
  color: inherit;
  display: block;
}
@media (max-width: 750px) {
  .wrapper .facilities {
    padding: min(90 / 750 * 100vw, 90px) 0 min(77 / 750 * 100vw, 77px);
  }
  .wrapper .facilities_title {
    margin-left: 9%;
  }
  .wrapper .facilities_title::before {
    width: min(295 / 750 * 100vw, 295px);
    height: min(4 / 750 * 100vw, 4px);
    position: absolute;
    top: 50%;
    left: -4.5%;
    translate: -100% 100%;
  }
  .wrapper .facilities_main {
    gap: min(132 / 750 * 100vw, 132px);
    margin-top: min(80 / 750 * 100vw, 80px);
  }
  .wrapper .facilities_block {
    flex-direction: column;
    position: relative;
    width: min(481 / 750 * 100vw, 481px);
    margin-inline: auto;
  }
  .wrapper .facilities_image {
    width: 100%;
  }
  .wrapper .facilities_text {
    width: 100%;
    margin-top: min(50 / 750 * 100vw, 50px);
  }
  .wrapper .facilities_text h3 {
    font-size: min(25 / 750 * 100vw, 25px);
    padding: min(20 / 750 * 100vw, 20px) 0;
    text-align: center;
    position: absolute;
    width: 69%;
  }
  .wrapper .facilities_block:first-of-type h3 {
    top: 50%;
  }
  .wrapper .facilities_block:last-of-type h3 {
    top: 42.5%;
  }
  .wrapper .facilities_mainList {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    grid-row-gap: min(15 / 750 * 100vw, 15px);
    grid-column-gap: 0;
    padding-left: 0;
    margin: 0 0 0 min(37 / 750 * 100vw, 37px);
  }
  .wrapper .facilities_mainList li {
    font-size: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .facilities_mainList li span {
    display: block;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li {
    width: 34%;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li {
    width: 44.5%;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(1) {
    order: 1;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(2) {
    order: 3;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(3) {
    order: 5;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(4) {
    order: 2;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(5) {
    order: 4;
  }
  .wrapper .facilities_block:first-of-type .facilities_mainList li:nth-of-type(6) {
    order: 6;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(1) {
    order: 1;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(2) {
    order: 3;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(3) {
    order: 5;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(4) {
    order: 7;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(5) {
    order: 2;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(6) {
    order: 4;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(7) {
    order: 6;
  }
  .wrapper .facilities_block:last-of-type .facilities_mainList li:nth-of-type(8) {
    order: 8;
  }
  .wrapper .facilities_sub .facilities_text {
    margin-top: min(83 / 750 * 100vw, 83px);
  }
  .wrapper .facilities_sub .facilities_text h3 {
    font-size: min(30 / 750 * 100vw, 30px);
    position: static;
    width: 100%;
  }
  .wrapper .facilities_subList {
    padding: min(74 / 750 * 100vw, 74px) min(80 / 750 * 100vw, 80px) min(60 / 750 * 100vw, 60px);
    max-width: none;
    width: min(540 / 750 * 100vw, 540px);
    margin: min(28 / 750 * 100vw, 28px) auto 0;
    grid-row-gap: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .facilities_subList li {
    font-size: min(20 / 750 * 100vw, 20px);
  }
}
/* ---------------------------------------------
  access
--------------------------------------------- */
.wrapper .access {
  padding: min(175 / 1920 * 100vw, 175px) 0 min(170 / 1920 * 100vw, 170px);
}
.wrapper .access_title {
  position: relative;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
}
.wrapper .access_title::before {
  content: "";
  background-color: #fff;
  width: min(840 / 1920 * 100vw, 840px);
  height: min(4 / 1920 * 100vw, 4px);
  position: absolute;
  top: 50%;
  left: -5%;
  translate: -100% 100%;
}
.wrapper .access_title::after {
  content: "";
  background-color: #fff;
  width: min(840 / 1920 * 100vw, 840px);
  height: min(4 / 1920 * 100vw, 4px);
  position: absolute;
  top: 50%;
  right: -5%;
  translate: 100% 100%;
}
.wrapper .access_contents {
  display: flex;
  justify-content: center;
  gap: min(200 / 1920 * 100vw, 200px);
  margin-top: min(105 / 1920 * 100vw, 105px);
}
.wrapper .access_block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wrapper .access_image {
  width: min(360 / 1920 * 100vw, 360px);
}
.wrapper .access_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(35 / 1920 * 100vw, 35px);
  margin-top: min(30 / 1920 * 100vw, 30px);
}
.wrapper .access_head {
  font-size: min(38 / 1920 * 100vw, 38px);
  letter-spacing: -0.05em;
  line-height: 1;
  font-weight: 400;
}
.wrapper .access_foot {
  font-size: min(65 / 1920 * 100vw, 65px);
  line-height: 1;
  font-weight: 500;
  text-align: center;
}
.wrapper .access_foot span {
  font-size: min(38 / 1920 * 100vw, 38px);
  line-height: 1;
  font-weight: 400;
  display: block;
  margin-bottom: min(5 / 1920 * 100vw, 5px);
}
@media (max-width: 750px) {
  .wrapper .access {
    padding: min(50 / 750 * 100vw, 50px) 0 min(90 / 750 * 100vw, 90px);
  }
  .wrapper .access_title::before {
    width: min(285 / 750 * 100vw, 285px);
    height: min(4 / 750 * 100vw, 4px);
    left: -15%;
  }
  .wrapper .access_title::after {
    width: min(285 / 750 * 100vw, 285px);
    height: min(4 / 750 * 100vw, 4px);
    right: -15%;
  }
  .wrapper .access_contents {
    gap: min(83 / 750 * 100vw, 83px);
    margin-top: min(75 / 750 * 100vw, 75px);
  }
  .wrapper .access_image {
    width: min(228 / 750 * 100vw, 228px);
  }
  .wrapper .access_text {
    gap: min(30 / 750 * 100vw, 30px);
    margin-top: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .access_head {
    font-size: min(22 / 750 * 100vw, 22px);
  }
  .wrapper .access_foot {
    font-size: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .access_foot span {
    font-size: min(20 / 750 * 100vw, 20px);
    margin-bottom: min(5 / 750 * 100vw, 5px);
  }
}
/* ---------------------------------------------
  shop
--------------------------------------------- */
.wrapper .shop {
  padding: min(166 / 1920 * 100vw, 166px) 0 min(117 / 1920 * 100vw, 117px);
  background-color: #141414;
}
.wrapper .shop_inner {
  padding: 0 min(83 / 1920 * 100vw, 83px);
}
.wrapper .shop_content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: min(65 / 1920 * 100vw, 65px);
}
.wrapper .shop_image {
  width: min(706 / 1920 * 100vw, 706px);
  margin-top: min(140 / 1920 * 100vw, 140px);
}
.wrapper .shop_detail {
  width: min(790 / 1920 * 100vw, 790px);
}
.wrapper .shop_info {
  display: flex;
  flex-direction: column;
  gap: min(20 / 1920 * 100vw, 20px);
}
.wrapper .shop_infoGroup {
  display: flex;
}
.wrapper .shop_infoGroup:last-of-type {
  margin-top: min(30 / 1920 * 100vw, 30px);
}
.wrapper .shop_infoLeft {
  width: 24%;
}
.wrapper .shop_infoRight {
  width: calc(100% - 24%);
}
.wrapper .shop_infoLabel {
  font-size: min(26 / 1920 * 100vw, 26px);
  line-height: 1.75;
  font-weight: 400;
  color: #fff;
}
.wrapper .shop_infoValue {
  font-size: min(26 / 1920 * 100vw, 26px);
  line-height: 1.75;
  font-weight: 400;
  color: #fff;
}
.wrapper .shop_infoValue a {
  color: inherit;
  text-decoration: underline;
}
.wrapper .shop_infoMap {
  width: min(555 / 1920 * 100vw, 555px);
  height: min(280 / 1920 * 100vw, 280px);
  margin-top: min(20 / 1920 * 100vw, 20px);
}
.wrapper .shop_infoMap iframe {
  width: 100%;
  height: 100%;
}
.wrapper .shop_reservationButton {
  margin: min(90 / 1920 * 100vw, 90px) auto 0;
}
@media (max-width: 750px) {
  .wrapper .shop {
    padding: min(70 / 750 * 100vw, 70px) 0 min(35 / 750 * 100vw, 35px);
  }
  .wrapper .shop_inner {
    padding: 0;
  }
  .wrapper .shop_logo {
    width: min(140 / 750 * 100vw, 140px);
    margin-left: min(92 / 750 * 100vw, 92px);
  }
  .wrapper .shop_content {
    gap: min(65 / 750 * 100vw, 65px);
    margin-top: min(65 / 750 * 100vw, 65px);
    padding: 0 min(62 / 750 * 100vw, 62px) 0 min(92 / 750 * 100vw, 92px);
  }
  .wrapper .shop_detail {
    width: 100%;
  }
  .wrapper .shop_info {
    display: flex;
    flex-direction: column;
    gap: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .shop_infoGroup {
    display: flex;
  }
  .wrapper .shop_infoGroup:last-of-type {
    margin-top: min(30 / 750 * 100vw, 30px);
  }
  .wrapper .shop_infoLeft {
    width: 27%;
  }
  .wrapper .shop_infoRight {
    width: calc(100% - 27%);
  }
  .wrapper .shop_infoLabel {
    font-size: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .shop_infoValue {
    font-size: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .shop_infoValue a {
    color: inherit;
    text-decoration: underline;
  }
  .wrapper .shop_infoMap {
    width: min(426 / 750 * 100vw, 426px);
    height: min(216 / 750 * 100vw, 216px);
    margin-top: min(20 / 750 * 100vw, 20px);
  }
  .wrapper .shop_reservationButton {
    margin: min(90 / 750 * 100vw, 90px) auto 0;
  }
}