@charset "UTF-8";
/*============================================================
	Price Info
============================================================*/
/*  当サイトからのご予約が最安値
-------------------------------------------------*/
#appeal {
  padding: 3.125rem 0;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  #appeal {
    padding: 1.7857142857rem 0;
  }
}
#appeal .inner .container {
  position: relative;
}
#appeal .inner .container::before, #appeal .inner .container::after {
  position: absolute;
  content: "";
  background: url(../img/price/img_fireworks.svg) no-repeat center center/contain;
  width: 6.25rem;
  height: 6.25rem;
  top: 0;
}
@media only screen and (max-width: 767px) {
  #appeal .inner .container::before, #appeal .inner .container::after {
    width: 3.5714285714rem;
    height: 3.5714285714rem;
    top: 1.7857142857rem;
  }
}
#appeal .inner .container::before {
  left: -1.875rem;
}
@media only screen and (max-width: 767px) {
  #appeal .inner .container::before {
    left: -1.0714285714rem;
  }
}
#appeal .inner .container::after {
  right: -1.875rem;
}
@media only screen and (max-width: 767px) {
  #appeal .inner .container::after {
    right: -1.0714285714rem;
  }
}
#appeal .inner .container strong {
  color: #94252a;
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  display: block;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 767px) {
  #appeal .inner .container strong {
    font-size: 2.1428571429rem;
    line-height: 1.4;
  }
}
#appeal .inner .container p {
  text-align: center;
}

/*  Room Rate Details
-------------------------------------------------*/
#rate__detail {
  color: #fff;
  background-color: #222;
  background-image: url(../img/common/bg_brush-01.svg), url(../img/common/bg_brush-02.svg);
  background-position: left top, right bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 28.125rem auto, 43.75rem auto;
}
@media only screen and (max-width: 767px) {
  #rate__detail {
    background-size: 16.0714285714rem auto, 25rem auto;
  }
}
#rate__detail .inner h2::after {
  background: #fff;
}
#rate__detail .inner .table__wrap {
  position: relative;
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .table__wrap {
    width: 93.3333333333vw;
    max-width: 93.3333333333vw;
    margin-right: -6.6666666667vw;
    overflow-x: auto;
  }
}
@media print, screen and (min-width: 768px) {
  #rate__detail .inner .table__wrap table {
    width: 100%;
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .table__wrap table {
    width: 150%;
    border-collapse: separate;
    border-spacing: 0;
    border-bottom: solid 1px #fff;
  }
}
#rate__detail .inner .table__wrap table th, #rate__detail .inner .table__wrap table td {
  border: solid 1px #fff;
  padding: 1.25rem;
  vertical-align: middle;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .table__wrap table th, #rate__detail .inner .table__wrap table td {
    padding: 0.7142857143rem;
    border-left: none;
    border-bottom: none;
  }
}
@media print, screen and (min-width: 768px) {
  #rate__detail .inner .table__wrap table th {
    width: 12.5rem;
  }
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .table__wrap table th {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    z-index: 2;
    border-left: solid 1px #fff;
  }
}
#rate__detail .inner .table__wrap table thead th, #rate__detail .inner .table__wrap table thead td {
  background: #444;
  text-align: center;
}
#rate__detail .inner .table__wrap table thead td {
  font-size: 1.5rem;
}
#rate__detail .inner .table__wrap table tbody th {
  background: #444;
  text-align: center;
}
#rate__detail .inner .table__wrap table tbody td {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .table__wrap table tbody td {
    line-height: 1.4;
  }
}
#rate__detail .inner .table__wrap .scroll-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 10px;
  background: rgba(255, 255, 255, 0.5);
  color: #222;
  font-weight: 600;
  line-height: 1.4;
  display: none;
  -webkit-animation: scroll-hint-animation 2s infinite ease;
          animation: scroll-hint-animation 2s infinite ease;
  white-space: nowrap;
}
#rate__detail .inner .table__wrap .scroll-hint--show {
  display: block;
}
#rate__detail .inner .notes {
  margin-top: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #rate__detail .inner .notes {
    margin-top: 1.0714285714rem;
  }
}
#rate__detail .inner .notes li {
  color: #999;
}

@-webkit-keyframes scroll-hint-animation {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(-40%, -50%);
            transform: translate(-40%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@keyframes scroll-hint-animation {
  0% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    -webkit-transform: translate(-40%, -50%);
            transform: translate(-40%, -50%);
  }
  100% {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
/*  Example
-------------------------------------------------*/
#example {
  background-image: url(../img/common/bg_dots-01.svg), url(../img/common/bg_dots-02.svg);
  background-position: right top, left bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: 31.25rem auto, 31.25rem auto;
}
@media only screen and (max-width: 767px) {
  #example {
    background-size: 14.2857142857rem auto, 14.2857142857rem auto;
  }
}
#example .inner .container table {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #example .inner .container table tr {
    display: grid;
    grid-template-columns: auto auto;
  }
}
#example .inner .container table th, #example .inner .container table td {
  font-weight: 400;
  border: solid 1px #ccc;
  padding: 0.9375rem;
}
@media only screen and (max-width: 767px) {
  #example .inner .container table th, #example .inner .container table td {
    padding: 0.7142857143rem;
  }
  #example .inner .container table th:not(:last-of-type), #example .inner .container table td:not(:last-of-type) {
    border-bottom: none;
  }
}
#example .inner .container table th {
  background: #ccc;
  text-align: center;
}
#example .inner .container table td {
  text-align: right;
}
#example .inner .container table + p {
  text-align: right;
  font-size: 1.125rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  #example .inner .container table + p {
    margin-top: 0.7142857143rem;
  }
}
#example .inner .container .reservation {
  margin: 3.125rem auto 0;
}
@media only screen and (max-width: 767px) {
  #example .inner .container .reservation {
    margin: 1.7857142857rem auto 0;
  }
}