@charset "UTF-8";
/* ::::::::::  コンセプト&客室  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* =========================================================
rooms
========================================================= */
.rooms .secTitle02 .en:only-child {
  font-weight: 700;
  font-size: 2.3rem;
  margin-top: 0;
  margin-bottom: 55px;
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .rooms .secTitle02 .en:only-child {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .rooms .secTitle02 .en:only-child {
    margin-bottom: 20px;
    line-height: 1;
  }
}
.roomsList .listItem {
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .roomsList .listItem + .listItem {
    margin-top: 50px;
  }
}
.roomsList > .photo img {
  object-fit: cover;
  aspect-ratio: 593/409;
  width: 100%;
  height: auto;
}
.roomsList .textBlock {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.roomsList .secTitle02 {
  border-bottom: 1px solid #14230A;
  margin-bottom: 0.55lh;
  margin-top: 40px;
}
@media (max-width: 1024px) {
  .roomsList .secTitle02 {
    margin-bottom: 0.65lh;
    margin-top: 20px;
    font-size: 1.8rem;
  }
  .roomsList .secTitle02 .en {
    font-size: 1.2rem;
  }
}
.roomsList .secTitle02 + .secTitle04 {
  margin-top: 0;
}
.roomsList .secTitle04 {
  font-size: 2rem;
}
@media (max-width: 1024px) {
  .roomsList .secTitle04 {
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
}
.roomsList .secTitle04:last-child {
  margin-bottom: 0;
}
.roomsList p:not([class]) {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .roomsList p:not([class]) {
    margin-bottom: 30px;
  }
}
.roomsList p:not([class]):only-child {
  margin-block: 15px 0;
}
.roomsList .btnList {
  gap: 8px 30px;
  margin-top: auto;
}
.roomsList .btnList .btn {
  width: calc(50% - 15px);
}
@media (max-width: 1024px) {
  .roomsList .btnList .btn {
    width: 100%;
  }
}
.roomsList .btnList .btn.w100 {
  width: 100%;
}
.roomsList .btnList .btn a {
  min-width: 100%;
}
.roomsList.roomDetail > .photo img {
  aspect-ratio: 369/253;
}
.roomsList.roomDetail.feature .listItem.wide {
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  gap: 60px;
  width: 100%;
}
@media (max-width: 767px) {
  .roomsList.roomDetail.feature .listItem.wide {
    flex-direction: column !important;
    gap: 0;
  }
}
.roomsList.roomDetail.feature .listItem.wide > .photo {
  width: 47.12%;
}
@media (max-width: 767px) {
  .roomsList.roomDetail.feature .listItem.wide > .photo {
    width: 100%;
  }
}
.roomsList.roomDetail.feature .listItem.wide > .photo img {
  aspect-ratio: 589/389;
}
.roomsList.roomDetail.feature .listItem.wide .textBlock {
  width: 48.08%;
}
@media (max-width: 767px) {
  .roomsList.roomDetail.feature .listItem.wide .textBlock {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .roomsList.roomDetail.feature .listItem.wide .secTitle04 {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .roomsList.roomDetail.feature .listItem.wide .secTitle04:has(+ .accordion) {
    margin-top: 15px;
    margin-bottom: 0;
  }
}
.roomsList.roomDetail.feature .listItem.wide:first-child {
  grid-column: 1/4;
  grid-row: 1/2;
}
.roomsList.roomDetail.feature .listItem.wide:nth-child(2) {
  grid-column: 1/4;
  grid-row: 2/3;
  flex-direction: row-reverse;
}
.roomsList.roomDetail.feature .featurePhoto {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  aspect-ratio: 589/406;
  max-width: 589px;
  width: 47.12%;
}
@media (max-width: 767px) {
  .roomsList.roomDetail.feature .featurePhoto {
    width: 100%;
  }
}
.roomsList.roomDetail.feature .featurePhoto .photo:first-child {
  width: 100%;
}
.roomsList.roomDetail.feature .featurePhoto .photo:first-child img {
  object-fit: cover;
  aspect-ratio: 589/248;
  width: 100%;
  height: auto;
}
.roomsList.roomDetail.feature .featurePhoto .photo:nth-child(2) {
  width: 50%;
}
.roomsList.roomDetail.feature .featurePhoto .photo:nth-child(2) img {
  object-fit: cover;
  aspect-ratio: 294/158;
  width: 100%;
  height: auto;
}
.roomsList.roomDetail.feature .featurePhoto .photo.logo {
  width: 50%;
  border: 1px solid #CACACA;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.roomsList.roomDetail.feature .featurePhoto .photo.logo img {
  width: 68.0272108844%;
  height: auto;
}
@media (min-width: 768px) {
  .roomsList.roomDetail.feature .accordionLabel {
    display: none;
  }
}
@media (min-width: 768px) {
  .roomsList.roomDetail.feature .accordionContent {
    height: 100% !important;
  }
}
.roomsList.sightseeing > .photo img {
  aspect-ratio: 589/404;
}
.roomsList.sightseeing a {
  color: #CCB072;
  text-decoration: underline;
}
.roomsList.sightseeing a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
}
.rooms .photoSlideBox {
  gap: 60px;
  margin-bottom: 70px;
}
@media (max-width: 767px) {
  .rooms .photoSlideBox {
    margin-bottom: 30px;
  }
}
.rooms .photoSlideBox .textBlock {
  display: flex;
  flex-direction: column;
  width: 47.76%;
}
@media (max-width: 767px) {
  .rooms .photoSlideBox .textBlock {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .rooms .photoSlideBox .textBlock .table01 th {
    width: 35%;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .rooms .photoSlideBox .textBlock .table01 th {
    padding-inline: 20px 26px;
  }
}
.rooms .photoSlideBox .textBlock .btn02 {
  margin-block: 10px 20px;
}
.rooms .photoSlideBox .textBlock .btn.gold,
.rooms .photoSlideBox .textBlock .btnList {
  margin-top: auto;
  margin-bottom: 0;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .rooms .photoSlideBox .textBlock .btn.gold a,
  .rooms .photoSlideBox .textBlock .btnList a {
    min-width: 100%;
  }
}
.rooms .photoSlideBox .textBlock .btnList {
  flex-wrap: nowrap;
  margin-top: auto;
  margin-bottom: 0;
}
.rooms .photoSlideBox .textBlock .btnList .btn {
  width: 100%;
}
.rooms .photoSlideBox .textBlock .btnList .btn a {
  min-width: 100%;
  line-height: 1.6;
}
.rooms .photoSlide:not(.slick-initialized) .photoItem:not(:first-child) {
  display: none;
}
.rooms .photoSlide:not(.slick-initialized) + .slick-dotsWrap {
  display: none;
}
.rooms .photoSlideWrap {
  width: 47.44%;
}
@media (max-width: 767px) {
  .rooms .photoSlideWrap {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
  }
}
.rooms .photoSlideWrap .slick-dotsWrap {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .rooms .photoSlideWrap .slick-dotsWrap {
    bottom: 20px;
  }
}
.rooms .photoSlideWrap .slick-dotsWrap .slick-pause {
  margin-bottom: -6px;
  color: #fff;
}
.rooms .photoSlideWrap .slick-dotsWrap .slick-pause svg {
  fill: currentColor;
}
.rooms .photoSlideWrap02 {
  position: relative;
}
.rooms .photoSlide .photoItem img {
  display: block;
  aspect-ratio: 593/409;
  object-fit: cover;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .rooms .table01 th,
  .rooms .table01 td {
    display: table-cell;
    padding: 15px;
  }
  .rooms .table01 th {
    width: 25%;
    background: none;
  }
  .rooms .table01 tr:last-child th {
    border-bottom: 1px solid #CCB072;
  }
}
.rooms .bg_block .secTitle04 {
  border-bottom: 1px solid #14230A;
  padding-bottom: 0.45lh;
  margin-bottom: 0.55lh;
  font-size: 1.5rem;
}
@media (max-width: 1024px) {
  .rooms .bg_block .secTitle04 {
    padding-bottom: 0.65lh;
    margin-bottom: 0.75lh;
    font-size: 1.3rem;
  }
}
.rooms .bg_block .secTitle04:not(:first-child) {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .rooms .bg_block .secTitle04:not(:first-child) {
    margin-top: 40px;
  }
}
.rooms .amenityList dt {
  font-weight: 600;
}
.rooms .amenityList dt:not(:first-child) {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .rooms .amenityList dt:not(:first-child) {
    margin-top: 23px;
  }
}
.rooms .amenityPhoto {
  display: block;
  margin-block: 60px;
}
@media (max-width: 767px) {
  .rooms .amenityPhoto {
    margin-block: 40px;
  }
}
.rooms .amenityPhoto img {
  width: 100%;
  height: auto;
}

/* =========================================================
top
========================================================= */
@media (max-width: 767px) {
  .rooms.top .secTitle02 .en:only-child {
    line-height: 1.45;
  }
}
@media (max-width: 767px) {
  .rooms.top .roomsList {
    padding-inline: 20px;
  }
}
.rooms.top .roomsList .slick-list {
  overflow: visible;
}
.rooms.top .roomsList .slick-list,
.rooms.top .roomsList .slick-track {
  display: flex;
}
.rooms.top .roomsListWrap {
  position: relative;
}
@media (max-width: 1024px) {
  .rooms.top .roomsList .btnList .btn:only-child {
    margin-bottom: 82px;
  }
}
@media (max-width: 767px) {
  .rooms.top .roomsList .btnList .btn:only-child {
    margin-bottom: 74px;
  }
}
@media (max-width: 767px) {
  .rooms.top .listItem {
    margin: 0 10px;
  }
  .rooms.top .listItem + .listItem {
    margin-top: 0;
  }
  .rooms.top .listItem.slick-active .textBlock {
    opacity: 1;
  }
  .rooms.top .textBlock {
    opacity: 0;
    padding: 60px 0 0;
    transition: all 0.15s;
  }
}
.rooms.top .slick-arrowsWrap {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(50% - 75px);
}
@media (max-width: 1400px) {
  .rooms.top .slick-arrowsWrap {
    width: calc(50% - 4vw);
  }
}
@media (max-width: 767px) {
  .rooms.top .slick-arrowsWrap {
    bottom: auto;
    top: 58vw;
    width: 100%;
  }
}
.rooms.top .slick-arrowsWrap .slick-arrow {
  color: #14230A;
}
@media (min-width: 768px) {
  .rooms.top .slick-arrowsWrap.sp {
    display: none;
  }
}
.rooms.top .slick-counter {
  margin-inline: 10px;
  letter-spacing: 0.1em;
}

/* =========================================================
detail
========================================================= */
@media (max-width: 1024px) {
  .rooms.detail .wrapper > .secTitle02.center {
    text-align: left;
  }
}
@media (max-width: 1024px) {
  .rooms.detail .wrapper > .secTitle02:not(.center) {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .rooms.detail .leadText {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .rooms.detail .roomsList .listItem + .listItem {
    margin-top: 40px;
  }
}
.rooms.detail .roomsList h4.secTitle02 {
  font-size: 2rem;
  border-bottom: none;
  margin-bottom: 0;
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .rooms.detail .roomsList h4.secTitle02 {
    font-size: 1.5rem;
    margin-top: 15px;
  }
}
.rooms.detail .roomsList h4.secTitle02 .en {
  margin-bottom: 15px;
}
@media (max-width: 1024px) {
  .rooms.detail .roomsList h4.secTitle02 .en {
    font-size: 1.2rem;
  }
}
.rooms.detail .roomsList .secTitle04 {
  margin-top: 20px;
}
@media (max-width: 1024px) {
  .rooms.detail .roomsList .secTitle04 {
    margin-top: 15px;
  }
}
.rooms.detail .roomsList p:not([class]) {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .cboxPhoto {
    width: 550px !important;
    height: auto !important;
  }
}

/* =========================================================
amenity
========================================================= */
.amenity {
  opacity: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  position: fixed;
  left: 0;
  top: 75px;
  width: 100%;
  z-index: 3;
  transition: all 0.3s ease;
}
@media (max-width: 767px) {
  .amenity {
    top: 56px;
  }
}
.amenityOn .amenity {
  opacity: 1;
  visibility: visible;
  height: calc(100% - 75px);
}
@media (max-width: 767px) {
  .amenityOn .amenity {
    height: calc(100% - 56px);
  }
}
.amenity .base {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  background: rgba(20, 35, 10, 0.8);
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  padding: 80px 0;
}
@media (max-width: 767px) {
  .amenity .base {
    padding-top: 100px;
  }
}
.amenity .inner {
  position: relative;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
  padding: 70px !important;
}
@media (max-width: 767px) {
  .amenity .inner {
    padding: 25px !important;
  }
}
.amenity .closeBtn {
  display: block;
  position: absolute;
  top: -70px;
  right: 0;
  width: 70px;
  height: 70px;
}
@media (max-width: 767px) {
  .amenity .closeBtn {
    top: -60px;
    width: 60px;
    height: 60px;
  }
}
.amenity .closeBtn span {
  position: relative;
  display: block;
  width: 60px;
  height: 1px;
  margin: 14px auto 14px;
  transition: all 0.15s;
  text-indent: -9999px;
}
@media (max-width: 767px) {
  .amenity .closeBtn span {
    width: 40px;
  }
}
.amenity .closeBtn span::before, .amenity .closeBtn span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  background: #fff;
  width: 100%;
  height: 1px;
  transition: all 0.15s;
  transform: rotate(45deg);
}
.amenity .closeBtn span::after {
  bottom: 0;
  transform: rotate(-45deg);
}
.navOn .amenity .closeBtn span {
  background: transparent;
}
.navOn .amenity .closeBtn span:before {
  top: 0;
  transform: rotate(15deg);
}
.navOn .amenity .closeBtn span:after {
  bottom: 0;
  transform: rotate(-15deg);
}
@media (max-width: 1024px) {
  .amenity hr.separator {
    margin: 40px 0;
  }
}
.amenity .secTitle02 {
  margin-top: 0;
}
.amenityText span:not([class]) {
  display: inline-block;
}
@media (max-width: 1024px) {
  .amenityText br.pcOnly {
    display: none;
  }
}
.amenity .disc li {
  margin-left: 1.25em;
  text-indent: -1.25em;
}
.amenity .disc li::before {
  content: "※";
}
.amenityBtn.center {
  text-align: center;
}
.amenityBtn span {
  display: inline-block;
  border-bottom: 2px solid #CCB072;
  margin-bottom: 5px;
  cursor: pointer;
}
.amenityBtn .icon {
  fill: #14230A;
  width: 22px;
  height: 22px;
  margin: 0 0 5px 5px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .amenityBtn .icon {
    width: 18px;
    height: 18px;
    margin-bottom: 3px;
  }
}

@media (max-width: 767px) {
  body:has(.cookie[style="display: block;"]) .amenity .inner {
    margin-bottom: 120px;
  }
}

.rooms .leadText {
  margin-bottom: 20px;
}
.rooms .leadText + .amenityBtn {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .rooms .leadText + .amenityBtn {
    margin-bottom: 20px;
  }
}
.rooms .leadText .bold {
  font-weight: 600;
}
.rooms .table01 + .amenityBtn {
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .rooms .table01 + .amenityBtn {
    margin-bottom: 15px;
  }
}

/* ::::::::::  多言語自動翻訳用CSS  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
body.lang_en .rooms .roomsList .secTitle02 .ja {
  display: none;
}
body.lang_en .rooms .roomsList .secTitle02 .en {
  font-weight: 700;
  font-size: 2.3rem;
  margin-top: 0;
}
@media (min-width: 768px) {
  body.lang_en .rooms .roomsList .secTitle02 .en {
    margin-bottom: 30px;
    line-height: inherit;
  }
}
@media (max-width: 1024px) {
  body.lang_en .rooms .roomsList .secTitle02 .en {
    font-size: 1.8rem;
  }
}
body.lang_en .rooms.detail .roomsList .secTitle02 .en {
  font-size: 2rem;
}
@media (min-width: 768px) {
  body.lang_en .rooms.detail .roomsList .secTitle02 .en {
    margin-bottom: 15px;
    line-height: inherit;
  }
}
@media (max-width: 1024px) {
  body.lang_en .rooms.detail .roomsList .secTitle02 .en {
    font-size: 1.5rem;
  }
}/*# sourceMappingURL=rooms.css.map */