@charset "UTF-8";
/* ===================================================================
CSS information
=================================================================== */
:root {
  --font-size-hotelName: clamp(1.8rem, calc(1.5rem + 1.35vw), 3rem);
}
.contents {
  margin: 0 auto;
}
.brand_list {
  display: none;
}
/* =======================
.mainVisual
========================== */
.mainVisual {
  position: relative;
  overflow: hidden;
}
.mainVisual_caption {
  position: absolute;
  inset: 0 0 0 0;
  z-index: 2;
  height: fit-content;
  -moz-height: fit-content;
  margin: auto;
  color: #fff;
  text-align: center;
  text-shadow: 0px 0px 7px rgba(36, 36, 34, 1);
  font-size: clamp(2.4rem, calc(2rem + 1.35vw), 4rem);
  width: 100%;
  line-height: 1.7;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  padding-inline: 10px;
}
.mainVisual_logo_W {
  min-width: 191px;
  width: 60%;
  filter: drop-shadow(0px 0px 5px rgba(36, 36, 34, 1));
  max-width: 300px;
}
.mainvisual_copy {
  line-height: 1.25;
}
.mainvisual_copy + .mainvisual_copy {
  margin-top: 0.4em;
}
.mainVisual-arrow svg {
  display: none;
}
.mainVisual_slide:not(.is-initialized) .splide__slide:not(:first-child) {
  display: none;
}
.mainVisual_slide_item {
  position: relative;
}
.mainVisual_slide_caption {
  position: absolute;
  bottom: 1.1em;
  left: 1.3em;
  z-index: 2;
  height: fit-content;
  -moz-height: fit-content;
  margin: auto;
  color: #fff;
  text-shadow: 0px 0px 7px rgba(36, 36, 34, 1);
  font-size: var(--font-size-hotelName);
  width: 100%;
}
.mainVisual_slide_hotelInfo {
  font-size: 70%;
  margin-bottom: 0.2em;
}
.mainVisual-prev {
  background-image: url("/image/common/ic_prev-arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: initial;
  width: 33px;
  height: 63px;
  transition: all 0.3s ease;
  translate: -100px;
}
.mainVisual-next {
  background-image: url("/image/common/ic_prev-arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: initial;
  transform: scaleX(-1);
  width: 33px;
  height: 63px;
  translate: 100px;
  transition: all 0.3s ease;
}
.mainVisual-arrow:focus {
  outline: none;
  box-shadow: none; /* ボックスシャドウが原因の場合も考慮 */
}
@media (any-hover: hover) {
  .mainVisual:hover .mainVisual-prev,
  .mainVisual:hover .mainVisual-next {
    translate: 0;
    transition: all 0.3s ease;
  }
  .mainVisual:hover .mainVisual-prev:hover,
  .mainVisual:hover .mainVisual-next:hover {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .mainVisual {
    aspect-ratio: 2000 / 900;
  }
  .mainVisual_caption {
    width: 90%;
  }
  .mainVisual_logo_W {
    width: 38%;
    max-width: 450px;
  }
}
/*copy_section*/
.copy_section {
  margin: 0 auto;
  padding: 60px 0;
}
.copy_section_body {
  text-align: center;
  line-height: 1.7;
}
.copy_section_body {
  display: grid;
  row-gap: 0.8em;
}
@media screen and (min-width: 768px) {
  .copy_section {
    padding: 100px 0 120px;
  }
}
/**/
.hotels_section {
  margin: 0 auto;
}
.hotel_item {
  position: relative;
}
.hotel_item_caption {
  position: absolute;
  color: #fff;
  font-size: var(--font-size-hotelName);
  bottom: 1em;
  left: 1em;
}
.hotel_item_hotelInfo {
  font-size: 60%;
  margin-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  .hotel_list {
    display: flex;
    gap: 0;
  }
}
