@charset "UTF-8";
/* top layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* padding margin */
/* 縦書き */
/* 内径 */
/* 文字 */
/* intr
---------------------------------------------------------------------------*/
.pg-intr {
  background-image: url(../img/room/intr-bg.jpg); }

/* map
---------------------------------------------------------------------------*/
.room-map {
  margin-bottom: 90px; }
  @media screen and (max-width: 1500px) {
    .room-map {
      margin-bottom: 6vw; } }
  @media screen and (max-width: 480px) {
    .room-map {
      margin-bottom: 12vw; } }

/* anchor
---------------------------------------------------------------------------*/
.tp-rooms-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 1445px;
  margin: 0 auto 70px; }
  @media screen and (max-width: 1500px) {
    .tp-rooms-list {
      width: 100vw;
      margin-bottom: 4.6666666667vw; } }
  @media screen and (max-width: 480px) {
    .tp-rooms-list {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      padding: 0 5.3333333333vw;
      margin-bottom: 18.6666666667vw; } }
  .tp-rooms-list li {
    width: 18.34%;
    margin-right: 2%; }
    @media screen and (max-width: 480px) {
      .tp-rooms-list li {
        width: 48%;
        margin-right: 0; } }
    .tp-rooms-list li:nth-of-type(5n), .tp-rooms-list li:last-of-type {
      margin-right: 0; }
    .tp-rooms-list li:nth-of-type(n + 6) {
      margin-top: 30px; }
      @media screen and (max-width: 1500px) {
        .tp-rooms-list li:nth-of-type(n + 6) {
          margin-top: 2vw; } }
      @media screen and (max-width: 480px) {
        .tp-rooms-list li:nth-of-type(n + 6) {
          margin-top: 8vw; } }
    @media screen and (max-width: 480px) {
      .tp-rooms-list li:nth-of-type(n + 3) {
        margin-top: 8vw; } }
    .tp-rooms-list li a {
      display: block;
      position: relative; }
  @media screen and (min-width: 481px) {
    .tp-rooms-list-img img {
      width: 100%;
      height: 120px;
      object-fit: cover;
      object-position: center;
      font-family: "object-fit: cover; object-position: center;"; } }
  @media screen and (min-width: 481px) and (max-width: 1500px) {
    .tp-rooms-list-img img {
      height: 8vw; } }

  .tp-rooms-list-tx {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 32px;
    z-index: 1;
    background-color: rgba(85, 22, 45, 0.9);
    line-height: 32px; }
    @media screen and (max-width: 1500px) {
      .tp-rooms-list-tx {
        height: 2.1333333333vw;
        line-height: 2.1333333333vw; } }
    @media screen and (max-width: 480px) {
      .tp-rooms-list-tx {
        height: 8.5333333333vw;
        line-height: 8.5333333333vw; } }
  .tp-rooms-list-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }

/* detail
---------------------------------------------------------------------------*/
.detail {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #ffffff;
  padding-top: 40px;
  padding-bottom: 84px; }
  @media screen and (max-width: 1500px) {
    .detail {
      padding-top: 2.6666666667vw;
      padding-bottom: 5.6vw; } }
  @media screen and (max-width: 480px) {
    .detail {
      padding-top: 5.3333333333vw;
      padding-bottom: 11.2vw; } }
  .detail-wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1500px) {
      .detail-wrap {
        width: 66.6666666667vw; } }
    @media screen and (max-width: 480px) {
      .detail-wrap {
        width: 89.3333333333vw;
        /* 余白40 */ } }
  .detail-tx {
    text-align: center;
    margin-bottom: 64px; }
    @media screen and (max-width: 1500px) {
      .detail-tx {
        margin-bottom: 4.2666666667vw; } }
    @media screen and (max-width: 480px) {
      .detail-tx {
        margin-bottom: 8.5333333333vw; } }
    .detail-tx-name {
      font-size: 95px; }
      @media screen and (max-width: 1500px) {
        .detail-tx-name {
          font-size: 6.3333333333vw; } }
      @media screen and (max-width: 480px) {
        .detail-tx-name {
          font-size: 22.1666666667vw; } }
      @media screen and (max-width: 480px) {
        .detail-tx-name {
          font-size: 15vw; } }
    .detail-tx-desc {
      margin-top: 30px; }
      @media screen and (max-width: 1500px) {
        .detail-tx-desc {
          margin-top: 2vw; } }
      @media screen and (max-width: 480px) {
        .detail-tx-desc {
          margin-top: 4vw;
          text-align: left; }
          .detail-tx-desc br {
            display: none; } }
      .detail-tx-desc p + p {
        margin-top: 2.6em; }
  .detail-sl-wrap {
    background-color: #55162D;
    padding: 18px;
    margin-bottom: 40px; }
    @media screen and (max-width: 1500px) {
      .detail-sl-wrap {
        padding: 1.2vw;
        margin-bottom: 2.6666666667vw; } }
    @media screen and (max-width: 480px) {
      .detail-sl-wrap {
        padding: 2.4vw;
        margin-bottom: 5.3333333333vw; } }
    .detail-sl-wrap > div {
      position: relative;
      overflow: hidden; }
    .detail-sl-wrap .swiper-slide img {
      width: 100%;
      height: 646px;
      object-fit: cover;
      object-position: center;
      font-family: "object-fit: cover; object-position: center;"; }
      @media screen and (max-width: 1500px) {
        .detail-sl-wrap .swiper-slide img {
          height: 43.0666666667vw; } }
      @media screen and (max-width: 480px) {
        .detail-sl-wrap .swiper-slide img {
          height: 60vw; } }
  .detail-sl-pagination {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    bottom: 20px;
    z-index: 10; }
    @media screen and (max-width: 1500px) {
      .detail-sl-pagination {
        bottom: 1.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .detail-sl-pagination {
        bottom: 5.3333333333vw; } }
    .detail-sl-pagination .swiper-pagination-bullet {
      width: 10px;
      height: 10px;
      margin: 0px 3px;
      background-color: #9F9F9F;
      opacity: 1; }
      @media screen and (max-width: 1500px) {
        .detail-sl-pagination .swiper-pagination-bullet {
          width: 0.6666666667vw;
          height: 0.6666666667vw;
          margin: 0 0.2vw; } }
      @media screen and (max-width: 480px) {
        .detail-sl-pagination .swiper-pagination-bullet {
          width: 2.6666666667vw;
          height: 2.6666666667vw;
          margin: 0 0.8vw; } }
    .detail-sl-pagination .swiper-pagination-bullet-active {
      background-color: #ffffff; }
  .detail-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 56px; }
    @media screen and (max-width: 1500px) {
      .detail-data {
        margin-bottom: 3.7333333333vw; } }
    @media screen and (max-width: 480px) {
      .detail-data {
        display: block;
        margin-bottom: 8.5333333333vw; } }
    .detail-data-facilities {
      position: relative;
      width: 50%;
      background-color: #1F1715;
      padding: 30px; }
      @media screen and (max-width: 1500px) {
        .detail-data-facilities {
          padding: 2vw; } }
      @media screen and (max-width: 480px) {
        .detail-data-facilities {
          width: 100%;
          padding: 5.3333333333vw;
          margin-bottom: 8.5333333333vw; } }
      .detail-data-facilities::after {
        position: absolute;
        content: "";
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border: 1px solid #ffffff;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%); }
        @media screen and (max-width: 1500px) {
          .detail-data-facilities::after {
            width: calc(100% - 1.3vw);
            height: calc(100% - 1.3vw); } }
        @media screen and (max-width: 480px) {
          .detail-data-facilities::after {
            width: calc(100% - 2.6vw);
            height: calc(100% - 2.6vw); } }
      .detail-data-facilities dl + dl {
        margin-top: 14px; }
        @media screen and (max-width: 1500px) {
          .detail-data-facilities dl + dl {
            margin-top: 0.9333333333vw; } }
        @media screen and (max-width: 480px) {
          .detail-data-facilities dl + dl {
            margin-top: 1.8666666667vw; } }
    .detail-data-map {
      width: 474px;
      background-color: #55162D;
      padding: 9px; }
      @media screen and (max-width: 1500px) {
        .detail-data-map {
          width: 31.6vw;
          padding: 0.6vw; } }
      @media screen and (max-width: 480px) {
        .detail-data-map {
          width: 100%;
          padding: 2.4vw; } }
  .detail-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .detail-btn .btn-def {
      width: 408px;
      height: 74px; }
      @media screen and (max-width: 1500px) {
        .detail-btn .btn-def {
          width: 27.2vw;
          height: 4.9333333333vw; } }
      @media screen and (max-width: 480px) {
        .detail-btn .btn-def {
          width: 80vw;
          height: 12.8vw; } }

.detail01 {
  background-image: url(../img/room/detail01-bg.jpg); }

.detail02 {
  background-image: url(../img/room/detail02-bg.jpg); }

.detail03 {
  background-image: url(../img/room/detail03-bg.jpg); }

.detail04 {
  background-image: url(../img/room/detail04-bg.jpg); }

.detail05 {
  background-image: url(../img/room/detail05-bg.jpg); }

.detail06 {
  background-image: url(../img/room/detail06-bg.jpg); }

.detail07 {
  background-image: url(../img/room/detail07-bg.jpg); }

.detail08 {
  background-image: url(../img/room/detail08-bg.jpg); }

.detail09 {
  background-image: url(../img/room/detail09-bg.jpg); }

.detail10 {
  background-image: url(../img/room/detail10-bg.jpg); }

.detail11 {
  background-image: url(../img/room/detail11-bg.jpg); }

.detail12 {
  background-image: url(../img/room/detail12-bg.jpg); }

.detail13 {
  background-image: url(../img/room/detail13-bg.jpg); }

/* data
---------------------------------------------------------------------------*/
.room-data {
  padding: 64px 0 100px;
  background-image: url(../img/room/intr-bg.jpg); }
  @media screen and (max-width: 1500px) {
    .room-data {
      padding: 4.2666666667vw 0 6.6666666667vw; } }
  @media screen and (max-width: 480px) {
    .room-data {
      padding: 8.5333333333vw 0 13.3333333333vw; } }
  .room-data-wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1500px) {
      .room-data-wrap {
        width: 66.6666666667vw; } }
    @media screen and (max-width: 480px) {
      .room-data-wrap {
        width: 89.3333333333vw;
        /* 余白40 */ } }
  .room-data-ttl {
    margin-bottom: 70px; }
    @media screen and (max-width: 1500px) {
      .room-data-ttl {
        margin-bottom: 4.6666666667vw; } }
    @media screen and (max-width: 480px) {
      .room-data-ttl {
        margin-bottom: 8.5333333333vw; } }

/* fancybox
---------------------------------------------------------------------------*/
.fancybox-title-over #fancybox-title {
  background: transparent !important;
  color: #333333;
  opacity: 0; }

/* ft-anchor
---------------------------------------------------------------------------*/
.ft-anchor {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 8px 0 4px;
  background-color: rgba(255, 255, 255, 0.3);
  z-index: 1000; }
  @media screen and (max-width: 1500px) {
    .ft-anchor {
      padding: 0.5333333333vw 0 0.2666666667vw; } }
  @media screen and (max-width: 480px) {
    .ft-anchor {
      bottom: 16vw;
      background-color: transparent;
      padding: 2.1333333333vw 2.1333333333vw 1.0666666667vw; }
      .ft-anchor.active {
        background-color: rgba(255, 255, 255, 0.3); }
        .ft-anchor.active .ft-anchor-list {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
  .ft-anchor-spbtn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40vw;
    height: 10vw;
    border: 1px solid #333333;
    background-color: rgba(255, 255, 255, 0.8); }
    .ft-anchor-spbtn a span {
      display: block;
      width: 100%;
      white-space: nowrap;
      text-align: center; }
  .ft-anchor ul {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 1010px; }
    @media screen and (max-width: 1500px) {
      .ft-anchor ul {
        width: 73.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .ft-anchor ul {
        width: 89.3333333333vw;
        /* 余白40 */ } }
    @media screen and (max-width: 1500px) {
      .ft-anchor ul {
        width: 67.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .ft-anchor ul {
        display: none;
        width: 100%;
        margin-top: 2.6666666667vw; } }
    .ft-anchor ul li {
      margin: 0 2px 4px; }
      @media screen and (max-width: 1500px) {
        .ft-anchor ul li {
          margin: 0 0.1333333333vw 0.2666666667vw; } }
      @media screen and (max-width: 480px) {
        .ft-anchor ul li {
          width: 33%;
          margin: 0;
          padding: 0 0.5333333333vw 1.0666666667vw; } }
      .ft-anchor ul li .btn-def {
        width: 140px;
        height: 30px;
        background-color: rgba(85, 22, 45, 0.8); }
        @media screen and (max-width: 1500px) {
          .ft-anchor ul li .btn-def {
            width: 9.3333333333vw;
            height: 2vw; } }
        @media screen and (max-width: 480px) {
          .ft-anchor ul li .btn-def {
            width: 100%;
            height: 10vw; }
            .ft-anchor ul li .btn-def::after {
              display: none; } }

/* pagetop
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  .pagetop {
    bottom: 37vw; } }
