.intro-common-section .intro-title {
  font-weight: 500;
  color: #2c3544;
}

.intro-common-section .intro-text p {
  margin-bottom: 0;
  color: #2c3544;
}

.intro-common-section .intro-facilities .facilities-block {
  border: 1px solid #ccc;
}

.intro-common-section .facilities-heading {
  font-weight: 700;
  color: #2c3544;
}

.intro-common-section .facilities-more {
  text-align: right;
}

.intro-common-section .facilities-row:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .intro-common-section {
    padding: calc(40px / 100 * 70) 0 calc(80px / 100 * 70);
    letter-spacing: .06em;
  }

  .intro-common-section .wrapper {
    display: flex;
    justify-content: space-between;
    gap: calc(20px / 100 * 70);
  }

  .intro-common-section .intro-title {
    font-size: calc(34px / 100 * 70);
    line-height: calc(60 / 32);
    margin-bottom: calc(30px / 100 * 70);
    max-width: calc(540px / 100 * 70);
    flex-shrink: 0;
  }

  .intro-common-section .intro-content,
  .intro-common-section .intro-text {
    max-width: calc(775px / 100 * 70);
  }

  .intro-common-section .intro-text p {
    font-size: calc(20px / 100 * 70);
    line-height: calc(36 / 18);
    margin-bottom: calc(26px / 100 * 70);
  }

  .intro-common-section .intro-text .text-english {
    font-size: calc(20px / 100 * 70);
    letter-spacing: 0;
    line-height: calc(34 / 20);
  }

  .intro-common-section .intro-facilities {
    font-size: calc(18px / 100 * 70);
    margin: calc(70px / 100 * 70) 0 calc(50px / 100 * 70);
  }

  .intro-common-section .facilities-row {
    margin-bottom: calc(20px / 100 * 70);
  }

  .intro-common-section .facilities-heading {
    font-size: calc(22px / 100 * 70);
    line-height: calc(30 / 20);
    margin-bottom: calc(10px / 100 * 70);
  }

  .intro-common-section .intro-facilities .facilities-block {
    padding: calc(30px / 100 * 70) calc(28px / 100 * 70);
    margin-bottom: 8px;
  }
}

@media (max-width: 767px)  {
  .intro-common-section {
    padding: 214rem 20rem 118rem;
  }

  .intro-common-section .intro-title {
    font-size: 44rem;
    line-height: calc(66 / 44);
    margin-bottom: 52rem;
  }

  .intro-common-section .intro-text p {
    font-size: 26rem;
    line-height: calc(46 / 26);
    margin-bottom: 45rem;
  }

  .intro-common-section .intro-facilities {
    font-size: 26rem;
    line-height: calc(46 / 26);
    margin-top: 80rem;
  }

  .intro-common-section .facilities-heading {
    font-size: 28rem;
    line-height: calc(30 / 28);
    margin-bottom: 10rem;
  }

  .intro-common-section .intro-facilities .facilities-block {
    padding: 30rem 34rem;
    margin-bottom: 20rem;
  }

  .intro-common-section .facilities-row {
    margin-bottom: 40rem;
  }

  .intro-common-section .facilities-more {
    font-size: 20rem;
  }
}

@media (max-width: 767px) {
  .keyvisual-common-primary .keyvisual-title {
    font-size: 100rem;
  }
}

.common-service-section .slick-slide img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.service-container:not(.is-reverse) {
  background-color: #f2f2f2;
}

.service-breakfast .service-container {
  background-color: #fff;
}

.service-container .service-title {
  color: #2c3544;
  font-weight: 700;
}

.service-container .service-text {
  color: #2c3544;
}

.service-container .service-text p:last-child {
  margin-bottom: 0;
}

.service-container .service-table table {
  width: 100%;
  table-layout: fixed;
}

.service-container .service-table td,
.service-container .service-table th {
  background-color: #fff;
  border: 1px solid #dbdbdb;
  color: #2c3544;
  font-weight: 500;
}

.service-container .service-table strong {
  font-weight: 700;
  display: block;
}

.service-container .service-image img {
  width: 100%;
  height: 100%;
  object-fit:  cover;
  display: block;
}

.service-container .table-note {
  color: #2c3544;
}

.service-container .service-text a {
  color: #0044b6;
  text-decoration: underline;
  letter-spacing: .06em;
}

.service-container .service-additional {
  color: #2c3544;
}

.service-container .service-additional .additional-heading {
  font-weight: 700;
  border-bottom: 1px solid #2c3544;
}

.service-container .service-book .btn-submit {
  border: 1px solid #2c3544;
}

.service-container .service-book .btn-submit:last-child {
  margin-bottom: 0;
}

.slider-bar .slick-arrow {
  position: absolute;
  top: 45%;
  z-index: 1;
  border-radius: 100%;
  border: 0;
  background: #fff url("../img/icon_arrow_03.svg") no-repeat center center;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
}

.slider-bar .slick-arrow:focus {
  outline: none;
}

.slider-bar .slick-arrow.slick-prev {
  transform: rotate(180deg);
}

@media (min-width: 768px) {
  .common-service-section .slider-bar .slider-item {
    height: 420px;
    width: 644px;
  }

  .slider-bar .slick-arrow {
    width: 40px;
    height: 40px;
  }

  .slider-bar .slick-arrow.slick-prev {
    left: 10px;
  }

  .slider-bar .slick-arrow.slick-next {
    right: 10px;
  }

  .service-container {
    padding: calc(92px / 100 * 70) 0;
  }

  .service-container .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
  }

  .service-breakfast {
    padding-bottom: calc(30px / 100 * 70);
  }

  .service-event {
    margin-top: calc(90px / 100 * 70);
    padding-bottom: calc(70px / 100 * 70);
  }

  .service-container .service-intro {
    max-width: calc(580px / 100 * 70);
  }

  .service-container .service-title {
    font-size: calc(80px / 100 * 70);
    margin-bottom: calc(30px / 100 * 70);
  }

  .service-container .service-title .title-medium {
    font-size: calc(74px / 100 * 70);
  }

  .service-container .service-text {
    letter-spacing: .06em;
    font-size: calc(18px / 100 * 70);
    line-height: calc(32 / 16);
    margin-bottom: calc(40px / 100 * 70);
  }

  .service-container .service-text p {
    margin-bottom: calc(25px / 100 * 70);
  }

  .service-container .service-info {
    width: calc(650px / 100 * 70);
    min-width: calc(380px / 100 * 70);
  }

  .service-container .service-table td,
  .service-container .service-table th {
    font-size: calc(20px / 100 * 70);
    padding: calc(16px / 100 * 70) calc(10px / 100 * 70) calc(16px / 100 * 70) calc(28px / 100 * 70);
  }

  .service-container .service-table th {
    width: 37.5%;
  }

  .service-container .service-table td {
    padding-left: calc(40px / 100 * 70);
    padding-right: calc(20px / 100 * 70);
  }

  .service-container .service-table strong {
    font-size: calc(24px / 100 * 70);
    margin-bottom: calc(10px / 100 * 70);
  }

  .service-container .service-image {
    width: calc(580px / 100 * 70);
    height: calc(625px / 100 * 70);
    margin-top: calc(50px / 100 * 70);
  }

  .service-container .table-note {
    font-size: calc(14px / 100 * 70);
    margin-top: calc(10px / 100 * 70);
  }

  .service-container .service-additional .additional-heading {
    font-size: calc(22px / 100 * 70);
    padding-bottom: 5px;
    margin-bottom: 5px;
  }

  .service-container .service-additional .additional-list {
    font-size: calc(18px / 100 * 70);
    line-height: calc(32 / 16);
    padding-left: 15px;
  }

  .service-container .service-book {
    width: calc(420px / 100 * 70);
    margin-left: auto;
    margin-top: calc(30px / 100 * 70);
  }

  .service-container .service-book.is-reverse {
    margin-left: 0;
  }

  .service-container .service-book .btn-submit {
    margin-bottom: calc(15px / 100 * 70);
  }

  .service-container .service-intro {
    padding-right: 37rem;
    margin-top: calc(-26px / 100 * 70);
  }

  .service-container.is-reverse .service-intro {
    padding-right: 0;
    padding-left: 37rem;
  }

  .service-twin .service-container .service-intro {
    padding-right: 0;
  }

  .service-king,
  .service-superior {
    margin-top: calc(90px / 100 * 70);
  }
}

@media (max-width: 767px) {
  .common-service-section .slider-bar .slider-item  {
    height: 600rem;
    width: 750rem;
  }

  .slider-bar .slick-arrow {
    width: 80rem;
    height: 80rem;
  }

  .slider-bar .slick-arrow.slick-prev {
    left: 20rem;
  }

  .slider-bar .slick-arrow.slick-next {
    right: 20rem;
  }

  .common-service-section .slick-slide img {
    height: 100%;
  }

  .service-container {
    padding: 50rem 18rem 100rem;
  }

  .service-breakfast .service-text,
  .service-container .service-intro {
    margin-bottom: 62rem;
  }

  .service-breakfast {
    overflow: hidden;
  }

  .service-container.is-reverse .wrapper {
    display: flex;
    flex-direction: column-reverse;
  }

  .service-container .service-title {
    font-size: 80rem;
    margin-bottom: 55rem;
  }

  .service-container .service-text {
    font-size: 26rem;
    line-height: calc(46 / 26);
  }

  .service-container .service-text p {
    margin-bottom: 45px;
  }

  .service-container .service-table th {
    width: 38%;
  }

  .service-container .service-table td,
  .service-container .service-table th {
    font-size: 24rem;
    padding: 18rem 31rem;
  }

  .service-container .service-table strong {
    margin-bottom: 15rem;
  }

  .service-container .service-book {
    width: 86%;
    margin: 85rem auto 0;
  }

  .service-container .service-book .btn-submit {
    margin-bottom: 40rem;
    height: 90rem;
    letter-spacing: .06em;
    padding-right: 25rem;
  }

  .btn-submit .fa-external-link {
    right: 28rem;
  }

  .service-breakfast .service-image {
    width: 750rem;
    height: 600rem;
    margin: 52rem -48rem 0;
  }

  .service-container .table-note {
    font-size: 20rem;
    line-height: calc(30 / 20);
    margin-top: 10rem;
  }

  .service-king,
  .service-event,
  .service-superior {
    margin-top: 100rem;
  }

  .service-event .service-table {
    margin-top: 50rem;
  }

  .service-container .service-additional {
    margin-top: 50rem;
    order: 4;
  }

  .service-container .service-additional .additional-heading {
    font-size: 32rem;
    padding-bottom: 10rem;
    margin-bottom: 10rem;
  }

  .service-container .service-additional .additional-list {
    font-size: 26rem;
    padding-left: 30rem;
  }
}

.common-service-section.room .service-table td {
  letter-spacing: 0.1em;
}