:root {
  --color-gray: #47555e;
  --color-dark-brown: #5b5454;
  --color-light-gold: #baa67c;
  --color-gold: #ac976b;
  --color-dark-gold: #8e7642;
  --color-pink: #ff5398
}

html {
  font-size: calc(10 / 1920 * 100vw);
}

@media screen and (max-width: 959px) {
  html {
    font-size: calc(10 / 393 * 100vw);
  }
}

body {
  overflow: unset !important;
}

main {
  position: relative;
  z-index: 1;
  padding-top: 0 !important;
  overflow: unset !important;
  background-color: #f6f4ee;
  font-family: "Noto Sans HK", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #000
}

svg:not(:root) {
  overflow: visible
}

.c-btn-sm {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: 100%;
  height: 4.3rem;
  border-radius: 9999px;
  background-color: var(--color-gold);
  -webkit-box-shadow: 0 .5rem 0 var(--color-dark-gold);
  box-shadow: 0 .5rem 0 var(--color-dark-gold);
  font-size: max(1.4rem, 8px);
  letter-spacing: .1em;
  color: #fff;
  -webkit-transition: background-color .3s, color .3s, -webkit-box-shadow .3s;
  transition: background-color .3s, color .3s, -webkit-box-shadow .3s;
  transition: background-color .3s, box-shadow .3s, color .3s;
  transition: background-color .3s, box-shadow .3s, color .3s, -webkit-box-shadow .3s
}

.c-btn-sm.--gray {
  background-color: var(--color-gray);
  -webkit-box-shadow: 0 .5rem 0 #7f8f99;
  box-shadow: 0 .5rem 0 #7f8f99
}

@media(any-hover: hover) {
  .c-btn-sm:hover {
    background-color: #e2dab2;
    -webkit-box-shadow: 0 .5rem 0 #cec59a;
    box-shadow: 0 .5rem 0 #cec59a;
    color: var(--color-gold)
  }

  .c-btn-sm:hover .c-btn-sm__arrow rect {
    fill: var(--color-gold)
  }

  .c-btn-sm:hover .c-btn-sm__arrow path {
    fill: #fff;
    stroke: #fff
  }

  .c-btn-sm:hover .c-btn-sm__icon path {
    stroke: var(--color-gold)
  }

  .c-btn-sm.--gray:hover {
    background-color: #7f8f9a;
    -webkit-box-shadow: 0 .5rem 0 #b8c4cc;
    box-shadow: 0 .5rem 0 #b8c4cc;
    color: #fff
  }

  .c-btn-sm.--gray:hover .c-btn-sm__arrow rect {
    fill: #47555e
  }

  .c-btn-sm.--gray:hover .c-btn-sm__arrow path {
    fill: #fff;
    stroke: #fff
  }

  .c-btn-sm.--gray:hover .c-btn-sm__icon path {
    stroke: var(--color-gold)
  }
}

.c-btn-sm__arrow {
  position: absolute;
  top: calc(50% - 1rem);
  right: 1.5rem;
  width: 2rem;
  height: auto
}

.c-btn-sm__arrow rect {
  -webkit-transition: fill .3s;
  transition: fill .3s
}

.c-btn-sm__arrow path {
  -webkit-transition: fill .3s, stroke .3s;
  transition: fill .3s, stroke .3s
}

.c-btn-sm__icon {
  width: 1.2857142857em;
  height: auto
}

.c-btn-sm__icon path {
  -webkit-transition: stroke .3s;
  transition: stroke .3s
}

.c-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: 100%;
  max-width: 55rem;
  height: 5.3rem;
  margin: 0 auto;
  border-radius: 9999px;
  background-color: var(--color-gold);
  -webkit-box-shadow: 0 .5rem 0 var(--color-dark-gold);
  box-shadow: 0 .5rem 0 var(--color-dark-gold);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .1em;
  color: #fff;
  -webkit-transition: background-color .3s, color .3s, -webkit-box-shadow .3s;
  transition: background-color .3s, color .3s, -webkit-box-shadow .3s;
  transition: background-color .3s, box-shadow .3s, color .3s;
  transition: background-color .3s, box-shadow .3s, color .3s, -webkit-box-shadow .3s
}

@media(any-hover: hover) {
  .c-btn:hover {
    background-color: #e2dab2;
    -webkit-box-shadow: 0 .5rem 0 #cec59a;
    box-shadow: 0 .5rem 0 #cec59a;
    color: var(--color-gold)
  }

  .c-btn:hover .c-btn__arrow rect {
    fill: var(--color-gold)
  }

  .c-btn:hover .c-btn__arrow path {
    fill: #fff;
    stroke: #fff
  }

  .c-btn:hover .c-btn__icon path {
    stroke: var(--color-gold)
  }
}

@media screen and (max-width: 959px) {
  .c-btn {
    height: 4.8rem;
    font-size: 1.6rem;
    background-position: right 2rem center
  }
}

.c-btn__arrow {
  position: absolute;
  top: calc(50% - 1rem);
  right: 3rem;
  width: 2rem;
  height: auto
}

.c-btn__arrow rect {
  -webkit-transition: fill .3s;
  transition: fill .3s
}

.c-btn__arrow path {
  -webkit-transition: fill .3s, stroke .3s;
  transition: fill .3s, stroke .3s
}

.c-btn__icon {
  width: 1.8rem;
  height: auto
}

.c-btn__icon path {
  -webkit-transition: stroke .3s;
  transition: stroke .3s
}

.c-img-full {
  display: block;
  width: 100%;
  height: auto
}

.c-map-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: .5rem;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid var(--color-gold);
  line-height: 1.2857142857;
  color: var(--color-gold);
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.c-map-link::after {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: .8571428571em;
  height: .8571428571em;
  background: url("../img/zh_HK/icon-tab.svg") no-repeat center/contain
}

@media screen and (max-width: 959px) {
  .c-map-link::after {
    width: .9090909091em;
    height: .9090909091em
  }
}

@media(any-hover: hover) {
  .c-map-link:hover {
    opacity: .75
  }
}

.c-title {
  margin-left: -0.4rem;
  padding: 1.7rem 2.1rem;
  border-left: .8rem solid var(--color-gold);
  background-color: #dfdacc;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.1923076923;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .c-title {
    padding: .95rem 1.6rem;
    font-size: 1.8rem;
    line-height: 1.4444444444
  }
}

.p-banner-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: none;
  width: 100%;
  padding: 1rem 1.5rem .9rem 1.4rem;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1019607843);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .1019607843)
}

@media screen and (min-width: 960px) {
  .p-banner-bottom {
    display: none !important
  }
}

.p-banner-bottom__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .6rem;
  -moz-column-gap: .6rem;
  column-gap: .6rem
}

.p-banner-bottom__title {
  max-width: 16rem;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.2307692308;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2
}

.p-banner-bottom__price {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .25rem;
  -moz-column-gap: .25rem;
  column-gap: .25rem;
  margin-left: auto
}

.p-banner-bottom__price-amount {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-pink)
}

.p-banner-bottom__price-unit {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4545454545;
  color: var(--color-pink)
}

.p-banner-bottom__price-date {
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.5;
  color: #7e7e7e
}

.p-banner-bottom__btn {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 4.6rem;
  margin-left: .45rem;
  padding: 0 .8rem 0 .6rem;
  border-radius: 1rem;
  background-color: var(--color-gold);
  -webkit-box-shadow: 0 .2rem 0 var(--color-dark-gold);
  box-shadow: 0 .2rem 0 var(--color-dark-gold);
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff
}

.p-banner-side {
  position: fixed;
  right: 0;
  z-index: 100;
  top: 50%;
  display: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (min-width: 960px) {
  .p-banner-side {
    display: none !important
  }
}

.p-banner-side__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .8rem;
  -moz-column-gap: .8rem;
  column-gap: .8rem;
  width: 4.3rem;
  padding: .2rem 0 1rem;
  background-color: var(--color-gray);
  -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, .1019607843);
  box-shadow: 0 0 1rem rgba(0, 0, 0, .1019607843);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.0769230769;
  letter-spacing: .0333em;
  color: #fff
}

.p-banner-side__icon {
  width: 1.4rem;
  height: auto
}

.p-faq {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 5rem;
  margin: 6rem 0
}

@media screen and (max-width: 959px) {
  .p-faq {
    row-gap: 2rem;
    margin: 2rem 0
  }
}

.p-faq__summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  padding-right: 5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #d9d9d9;
  color: var(--color-gold);
  cursor: pointer
}

.p-faq__summary::before,
.p-faq__summary::after {
  content: "";
  position: absolute;
  top: 2.3rem;
  right: 0;
  width: 2.6rem;
  height: .4rem;
  background-color: var(--color-gold)
}

.p-faq__summary::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}

@media screen and (max-width: 959px) {
  .p-faq__summary {
    -webkit-column-gap: .55rem;
    -moz-column-gap: .55rem;
    column-gap: .55rem;
    padding-right: 3rem
  }

  .p-faq__summary::before,
  .p-faq__summary::after {
    top: 1.35rem;
    width: 1.2rem;
    height: .2rem
  }
}

.p-faq__item[open] .p-faq__summary::after {
  display: none
}

.p-faq__q {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.2
}

@media screen and (max-width: 959px) {
  .p-faq__q {
    font-size: 2.4rem;
    line-height: 1.2083333333
  }
}

.p-faq__q-text {
  margin-top: 1.2rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2
}

@media screen and (max-width: 959px) {
  .p-faq__q-text {
    margin-top: .3rem;
    font-size: 1.6rem;
    line-height: 1.4375
  }
}

.p-faq__content {
  overflow: hidden
}

.p-faq__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  padding: 1rem 0 0 1.1rem;
  font-size: 1.6rem;
  line-height: 1.625
}

@media screen and (max-width: 959px) {
  .p-faq__answer {
    padding: 1rem 0 0;
    font-size: 1.2rem;
    line-height: 1.6666666667
  }
}

.p-faq__a {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.1923076923
}

@media screen and (max-width: 959px) {
  .p-faq__a {
    font-size: 2.4rem;
    line-height: 1.2083333333
  }
}

.p-faq__note {
  margin-top: 1rem;
  font-size: max(1.4rem, 8px);
  line-height: 1.2142857143
}

@media screen and (max-width: 959px) {
  .p-faq__note {
    font-size: 1.1rem;
    line-height: 1.4545454545
  }
}

.p-faq__required-img {
  width: 100%;
  max-width: 64.7rem;
  margin-top: 3.8rem;
  margin-left: 5rem
}

@media screen and (max-width: 959px) {
  .p-faq__required-img {
    max-width: 28.06rem;
    margin-top: 1rem;
    margin-left: 0
  }
}

.p-faq__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .2rem;
  -moz-column-gap: .2rem;
  column-gap: .2rem;
  padding-right: .2rem;
  border-bottom: 1px solid var(--color-gold);
  line-height: 1.2142857143;
  color: var(--color-gold);
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

.p-faq__link::after {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: .8571428571em;
  height: .8571428571em;
  background: url("../img/zh_HK/icon-tab.svg") no-repeat center/contain
}

@media screen and (max-width: 959px) {
  .p-faq__link::after {
    width: .9090909091em;
    height: .9090909091em
  }
}

@media(any-hover: hover) {
  .p-faq__link:hover {
    opacity: .75
  }
}

.p-features {
  position: relative;
  z-index: -1;
  padding: 13.6rem 0 18.7rem;
  clip-path: inset(0);
  font-family: "Noto Serif HK", serif;
  color: #d9d9d9
}

@media screen and (max-width: 959px) {
  .p-features {
    padding: 7.6rem 0 12.47rem
  }
}

.p-features::before {
  content: "";
  position: fixed;
  z-index: -100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #444 url("../img/zh_HK/features-bg.jpg") repeat center top/100% auto
}

@media screen and (max-width: 959px) {
  .p-features::before {
    background: #444 url("../img/zh_HK/features-bg@sp.jpg") repeat center top/100% auto
  }
}

.p-features::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 55.4rem;
  opacity: .5;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(31.28%, #000000), color-stop(67.86%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 31.28%, rgba(0, 0, 0, 0.6) 67.86%, rgba(0, 0, 0, 0) 100%)
}

@media screen and (max-width: 959px) {
  .p-features::after {
    height: 28.5rem
  }
}

.p-features__title {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-features__title {
    font-size: 2rem;
    line-height: 1.2
  }
}

.p-features__logo {
  display: block;
  width: 100%;
  max-width: 41.2rem;
  margin: 6rem auto 0
}

@media screen and (max-width: 959px) {
  .p-features__logo {
    max-width: 25.1rem;
    margin-top: 3rem
  }
}

.p-features__list {
  display: grid;
  grid-template-columns: 100%;
  margin-top: 11rem
}

@media screen and (max-width: 959px) {
  .p-features__list {
    row-gap: 6rem;
    margin-top: 7rem
  }
}

.p-features__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.p-features__item:nth-child(odd) {
  -webkit-column-gap: 17rem;
  -moz-column-gap: 17rem;
  column-gap: 17rem
}

.p-features__item:nth-child(odd) .p-features__body {
  margin-top: 19rem
}

.p-features__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-column-gap: 10.05rem;
  -moz-column-gap: 10.05rem;
  column-gap: 10.05rem
}

.p-features__item:nth-child(even) .p-features__body {
  margin-top: 23.81rem
}

@media screen and (min-width: 960px) {
  .p-features__item:nth-child(1) {
    margin-bottom: 24.6rem
  }

  .p-features__item:nth-child(2) {
    margin-bottom: 38.7rem
  }

  .p-features__item:nth-child(3) {
    margin-bottom: 20rem
  }

  .p-features__item:nth-child(3) .p-features__body {
    margin-top: 29rem
  }

  .p-features__item:nth-child(4) {
    -webkit-column-gap: 7.052rem;
    -moz-column-gap: 7.052rem;
    column-gap: 7.052rem
  }

  .p-features__item:nth-child(4) .p-features__body {
    margin-top: 39.11rem
  }

  .p-features__item:nth-child(4) .p-features__point {
    left: -17.2rem
  }
}

@media screen and (max-width: 959px) {
  .p-features__item {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important
  }

  .p-features__item .p-features__body {
    margin-top: 0 !important;
    padding-top: 11.73rem
  }

  .p-features__item:nth-child(odd) {
    padding-right: 2rem
  }

  .p-features__item:nth-child(even) {
    padding-left: 2rem
  }

  .p-features__item:nth-child(even) .p-features__body {
    padding-left: 4rem
  }

  .p-features__item:nth-child(2) .p-features__body {
    padding-left: .9rem
  }
}

.p-features__img {
  width: 100%;
  max-width: 103.4rem;
  height: auto
}

.p-features__body {
  position: relative
}

@media screen and (max-width: 959px) {
  .p-features__body {
    padding-left: 2.55rem
  }
}

.p-features__point {
  position: absolute;
  top: -15.41rem;
  left: -19.2rem;
  width: 21.55rem
}

@media screen and (max-width: 959px) {
  .p-features__point {
    top: 0;
    left: 0;
    width: 15.29rem;
    -webkit-filter: brightness(1.5);
    filter: brightness(1.5)
  }
}

.p-features__heading {
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1.5882352941;
  letter-spacing: .1em;
  background: -webkit-gradient(linear, right top, left top, from(#e7dfb8), to(#baa67c));
  background: linear-gradient(270deg, #e7dfb8 0%, #baa67c 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

@media screen and (max-width: 959px) {
  .p-features__heading {
    font-size: 2.2rem;
    line-height: 1.5454545455
  }
}

.p-features__text {
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 2.125;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-features__text {
    margin-top: 3rem;
    font-size: 1.4rem;
    line-height: 2.1428571429
  }
}

.p-features__note {
  margin-top: 4rem;
  font-size: max(1.2rem, 8px);
  line-height: 1.4166666667;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-features__note {
    margin-top: 2rem;
    font-size: 1.1rem;
    line-height: 1.4545454545
  }
}

.p-features__img-sub-01 {
  position: absolute;
  bottom: -20.7rem;
  left: 54.3rem;
  width: 100%;
  max-width: 53.5rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-features__img-sub-01 {
    position: static;
    display: block;
    max-width: 32rem;
    margin: 3.07rem -2rem 0 auto
  }
}

.p-features__img-sub-02 {
  position: absolute;
  bottom: -47.1rem;
  right: 13.3rem;
  width: 100%;
  max-width: 56rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-features__img-sub-02 {
    position: static;
    display: block;
    max-width: 32rem;
    margin: 3.07rem 0 0 -2rem
  }
}

.p-features__img-sub-03 {
  position: absolute;
  bottom: -44.8rem;
  left: 44.1rem;
  width: 100%;
  max-width: 37.3rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-features__img-sub-03 {
    position: static;
    display: block;
    max-width: 26.2rem;
    margin: 3.07rem -2rem 0 auto
  }
}

.p-flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7rem 3rem;
  margin-top: 6rem
}

@media screen and (max-width: 959px) {
  .p-flow {
    grid-template-columns: 100%;
    row-gap: 2rem;
    margin-top: 2rem;
    padding: 0 1.5rem
  }
}

.p-flow__number {
  display: block;
  width: auto;
  height: 3.52rem
}

@media screen and (max-width: 959px) {
  .p-flow__number {
    height: 2.8rem
  }
}

.p-flow__img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 1.2rem
}

@media screen and (max-width: 959px) {
  .p-flow__img {
    margin-top: 1rem
  }
}

.p-flow__heading {
  padding: 1rem 0;
  border-bottom: 1px solid #d9d9d9;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.1818181818;
  letter-spacing: .1em;
  color: var(--color-gold)
}

@media screen and (max-width: 959px) {
  .p-flow__heading {
    font-size: 1.6rem;
    line-height: 1.1875
  }
}

.p-flow__text {
  margin-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.7333333333
}

@media screen and (max-width: 959px) {
  .p-flow__text {
    font-size: 1.4rem;
    line-height: 1.8571428571
  }
}

.p-flow__note {
  margin-top: 1rem;
  font-size: max(1.4rem, 8px);
  line-height: 1.4285714286
}

@media screen and (max-width: 959px) {
  .p-flow__note {
    font-size: 1.1rem;
    line-height: 1.1818181818
  }
}

.p-flow__note .c-map-link {
  margin-left: 1rem
}

.p-insurance {
  margin-top: 3rem
}

@media screen and (max-width: 959px) {
  .p-insurance {
    margin-top: 2rem
  }
}

.p-insurance__heading {
  padding: 1rem 2.8rem;
  background-color: var(--color-gold);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  color: #fff
}

@media screen and (max-width: 959px) {
  .p-insurance__heading {
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.4285714286
  }
}

.p-insurance__list {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 3rem;
  margin-top: 3rem
}

@media screen and (max-width: 959px) {
  .p-insurance__list {
    row-gap: 2rem;
    margin-top: 2rem
  }
}

.p-insurance__item {
  padding: 3rem 5rem 3rem 3rem;
  border-radius: 1rem;
  background-color: #e4e4e4
}

@media screen and (max-width: 959px) {
  .p-insurance__item {
    padding: 3rem 1.5rem
  }
}

.p-insurance__head {
  padding-bottom: 1.3rem;
  border-bottom: 2px solid #fff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2222222222
}

@media screen and (max-width: 959px) {
  .p-insurance__head {
    padding-bottom: 1rem;
    border-bottom: 1px solid #fff;
    font-size: 1.6rem;
    line-height: 1.1875
  }
}

.p-insurance__body {
  margin-top: 1.3rem;
  font-size: 1.6rem;
  line-height: 1.625
}

.p-insurance__body ul:not(:first-child) {
  margin-top: 1.625em
}

@media screen and (min-width: 960px) {
  .p-insurance__body {
    height: auto !important
  }
}

@media screen and (max-width: 959px) {
  .p-insurance__body {
    position: relative;
    margin-top: 1rem;
    height: 10.4rem;
    overflow: hidden;
    font-size: 1.4rem;
    line-height: 1.8571428571
  }

  .p-insurance__body ul:not(:first-child) {
    margin-top: 1.8571428571em
  }

  .p-insurance__body::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 4.1rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(228, 228, 228, 0)), to(#e4e4e4));
    background-image: linear-gradient(180deg, rgba(228, 228, 228, 0), #e4e4e4);
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
  }

  .p-insurance__body.--02::after {
    bottom: 2rem
  }

  .p-insurance__body.is-opened::after {
    opacity: 0
  }

  .p-insurance__body.is-opened~.p-insurance__btn::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
  }
}

.p-insurance__note {
  margin-top: 1rem !important;
  font-size: max(1.4rem, 8px);
  line-height: 1.2142857143
}

.p-insurance__caution {
  margin-top: 4rem;
  padding: 1rem 2.8rem;
  background-color: #b84444;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2222222222;
  color: #fff
}

@media screen and (max-width: 959px) {
  .p-insurance__caution {
    margin-top: 2rem;
    padding: 1rem 1.5rem;
    font-size: 1.5rem;
    line-height: 1.4666666667
  }
}

.p-insurance__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  width: 100%;
  height: 2.8rem;
  margin-top: 1rem;
  border-radius: 9999px;
  background-color: var(--color-light-gold);
  font-size: 1.2rem;
  color: #fff
}

@media screen and (min-width: 960px) {
  .p-insurance__btn {
    display: none
  }
}

.p-insurance__btn::after {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  background: url("../img/zh_HK/arrow-bottom-gold.svg") no-repeat center/contain
}

.p-mv {
  position: relative;
  overflow: hidden
}

.p-mv__contents {
  position: absolute;
  top: 23rem;
  right: 0;
  left: 0
}

@media screen and (max-width: 959px) {
  .p-mv__contents {
    top: 19.5rem
  }
}

.p-mv__title {
  width: 100%;
  max-width: 64.8rem;
  margin: 0 auto
}

@media screen and (max-width: 959px) {
  .p-mv__title {
    max-width: 30rem
  }
}

.p-mv__okinawa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 15.7rem;
  margin-left: 11.296rem;
  mix-blend-mode: plus-lighter
}

@media screen and (max-width: 959px) {
  .p-mv__okinawa {
    margin-top: 5.512rem;
    margin-left: -0.142rem
  }
}

.p-mv__okinawa-01 {
  width: 13.36rem;
  height: auto;
  margin-right: 7.592rem;
  opacity: 0
}

.p-mv__okinawa-02 {
  width: 12.4rem;
  height: auto;
  margin-right: 6.887rem;
  opacity: 0
}

.p-mv__okinawa-03 {
  width: 4.96rem;
  height: auto;
  margin-right: 7.539rem;
  opacity: 0
}

.p-mv__okinawa-04 {
  width: 13.58rem;
  height: auto;
  margin-right: 38.33rem;
  opacity: 0
}

.p-mv__okinawa-05 {
  width: 14.28rem;
  height: auto;
  margin-right: 4.28rem;
  opacity: 0
}

.p-mv__okinawa-06 {
  width: 18.68rem;
  height: auto;
  margin-right: 3.959rem;
  opacity: 0
}

.p-mv__okinawa-07 {
  width: 14.28rem;
  height: auto;
  opacity: 0
}

@media screen and (max-width: 959px) {
  .p-mv__okinawa-01 {
    width: 4.609rem;
    margin-right: 1.929rem
  }

  .p-mv__okinawa-02 {
    width: 4.278rem;
    margin-right: 1.686rem
  }

  .p-mv__okinawa-03 {
    width: 1.711rem;
    margin-right: 1.911rem
  }

  .p-mv__okinawa-04 {
    width: 4.685rem;
    margin-right: 1.473rem
  }

  .p-mv__okinawa-05 {
    width: 4.927rem;
    margin-right: .787rem
  }

  .p-mv__okinawa-06 {
    width: 6.445rem;
    margin-right: .676rem
  }

  .p-mv__okinawa-07 {
    width: 4.927rem
  }
}

.is-loaded .p-mv__okinawa-01 {
  -webkit-animation: fade-in 1s ease-out forwards;
  animation: fade-in 1s ease-out forwards
}

.is-loaded .p-mv__okinawa-02 {
  -webkit-animation: fade-in 1s ease-out .3s forwards;
  animation: fade-in 1s ease-out .3s forwards
}

.is-loaded .p-mv__okinawa-03 {
  -webkit-animation: fade-in 1s ease-out .6s forwards;
  animation: fade-in 1s ease-out .6s forwards
}

.is-loaded .p-mv__okinawa-04 {
  -webkit-animation: fade-in 1s ease-out .9s forwards;
  animation: fade-in 1s ease-out .9s forwards
}

.is-loaded .p-mv__okinawa-05 {
  -webkit-animation: fade-in 1s ease-out 1.2s forwards;
  animation: fade-in 1s ease-out 1.2s forwards
}

.is-loaded .p-mv__okinawa-06 {
  -webkit-animation: fade-in 1s ease-out 1.5s forwards;
  animation: fade-in 1s ease-out 1.5s forwards
}

.is-loaded .p-mv__okinawa-07 {
  -webkit-animation: fade-in 1s ease-out 1.8s forwards;
  animation: fade-in 1s ease-out 1.8s forwards
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes fade-in {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.p-mv__car {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-mv__car {
    display: none
  }
}

.p-mv__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 13.55rem;
  -moz-column-gap: 13.55rem;
  column-gap: 13.55rem;
  padding: 5rem;
  background: url("../img/zh_HK/mv-list-bg.jpg") no-repeat center/cover;
  font-family: "Noto Serif HK", serif
}

@media screen and (max-width: 959px) {
  .p-mv__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 3rem 1.65rem 2.8rem;
    background-image: url("../img/zh_HK/mv-list-bg@sp.jpg")
  }
}

.p-mv__list-item {
  position: relative;
  display: grid;
  grid-template-columns: 9.2rem 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  color: #fff
}

.p-mv__list-item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -5.775rem;
  width: 1px;
  height: 17.3rem;
  background-color: #fff;
  -webkit-transform: translateY(-50%) rotate(26deg);
  transform: translateY(-50%) rotate(26deg)
}

@media screen and (max-width: 959px) {
  .p-mv__list-item {
    grid-template-columns: 7rem 1fr;
    -webkit-column-gap: 2.8rem;
    -moz-column-gap: 2.8rem;
    column-gap: 2.8rem;
    width: 100%;
    padding: 2rem 0
  }

  .p-mv__list-item:not(:last-of-type) {
    border-bottom: 1px solid #fff
  }

  .p-mv__list-item:not(:last-of-type)::after {
    display: none
  }
}

.p-mv__list-label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 9.2rem;
  padding-top: .2em;
  border-radius: 50%;
  background-color: var(--color-gray);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1
}

.p-mv__list-label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.2rem;
  width: 1.5rem;
  height: 1.8rem;
  background-color: var(--color-gray);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%)
}

@media screen and (max-width: 959px) {
  .p-mv__list-label {
    height: 7rem;
    font-size: 2rem
  }

  .p-mv__list-label::after {
    right: -0.8rem
  }
}

@media screen and (min-width: 960px) {
  .p-mv__list-body {
    min-width: 32rem
  }

  .p-mv__list-body.--02 {
    max-width: 37rem
  }

  .p-mv__list-body.--03 {
    max-width: 36rem
  }
}

.p-mv__list-heading {
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.1923076923;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-mv__list-heading {
    white-space: nowrap;
    font-size: 2rem;
    line-height: 1.2
  }
}

.p-mv__list-text {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.1875;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-mv__list-text {
    margin-top: 1rem;
    font-size: 1.2rem;
    line-height: 1.1666666667
  }
}

.p-mv__list-note {
  margin-top: 2rem;
  font-size: max(1.2rem, 8px);
  line-height: 1.1666666667;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-mv__list-note {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.1818181818
  }
}

.p-problem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 12rem 0 11.5rem;
  background-color: #5b5454;
  font-family: "Noto Serif HK", serif;
  color: #fff
}

@media screen and (max-width: 959px) {
  .p-problem {
    padding: 8.3rem 1.5rem 6.9rem
  }
}

.p-problem__title {
  text-align: center
}

.p-problem__title-sub {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.1818181818;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-problem__title-sub {
    font-size: 1.6rem;
    line-height: 1.1875
  }
}

.p-problem__title-main {
  margin-top: 4rem;
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 1.2105263158;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-problem__title-main {
    margin-top: 2rem;
    font-size: 2.4rem;
    line-height: 1.2083333333
  }
}

.p-problem__img {
  display: block;
  width: 100%;
  max-width: 84.2rem;
  height: auto;
  margin-top: 5rem
}

@media screen and (max-width: 959px) {
  .p-problem__img {
    margin-top: 3rem
  }
}

.p-problem__list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
  margin-top: 5rem
}

@media screen and (max-width: 959px) {
  .p-problem__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.7rem 2.5rem;
    margin-top: 3rem
  }
}

.p-problem__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 12.0625em;
  height: 12.0625em;
  border-radius: 50%;
  border: 1px solid #fff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-problem__list-item {
    width: 16rem;
    height: 16rem;
    font-size: 1.3rem;
    line-height: 1.8461538462
  }
}

.p-problem__illust {
  width: 14.6rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-problem__illust {
    position: absolute;
    top: 11.1rem;
    left: 50%;
    width: 12.1rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

.p-problem__text {
  margin-top: 5rem;
  text-align: center;
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 1.2105263158;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-problem__text {
    margin-top: 3rem;
    font-size: 2.4rem;
    line-height: 1.2083333333
  }
}

.p-rental {
  max-width: 146rem;
  margin: 0 auto;
  padding: 7rem 10rem;
  border-radius: 3rem;
  background-color: #f9f9f9;
  -webkit-box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843)
}

@media screen and (max-width: 959px) {
  .p-rental {
    padding: 5rem 1.5rem 5.5rem;
    border-radius: 0
  }
}

.p-rental__title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.2
}

@media screen and (max-width: 959px) {
  .p-rental__title {
    font-size: 2rem;
    line-height: 1.2
  }
}

.p-rental__container {
  display: grid;
  grid-template-columns: 72rem 1fr;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 3rem
}

@media screen and (max-width: 959px) {
  .p-rental__container {
    grid-template-columns: 100%;
    row-gap: 2rem;
    margin-top: 2rem
  }
}

.p-rental__img-wrapper {
  position: relative;
  padding-top: 63.8888888889%;
  border-radius: 2rem;
  overflow: hidden
}

@media screen and (max-width: 959px) {
  .p-rental__img-wrapper {
    padding-top: 63.91184573%;
    border-radius: 1rem
  }
}

.p-rental__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 1.6s ease-in-out;
  transition: opacity 1.6s ease-in-out
}

.p-rental__img.is-active {
  z-index: 1;
  opacity: 1;
  -webkit-transition: opacity .8s ease-in-out;
  transition: opacity .8s ease-in-out
}

.p-rental__thumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem
}

@media screen and (max-width: 959px) {
  .p-rental__thumb-list {
    gap: .5rem;
    margin-top: 1rem
  }
}

.p-rental__thumb-wrapper {
  position: relative;
  width: max(6rem, 35px);
  height: max(6rem, 35px);
  overflow: hidden;
  border-radius: max(.5rem, 5px);
  border: 1px solid #e4e4e4;
  cursor: pointer;
  -webkit-transition: border .3s;
  transition: border .3s
}

.p-rental__thumb-wrapper.is-active,
.p-rental__thumb-wrapper:hover {
  border: 3px solid var(--color-gold)
}

@media screen and (max-width: 959px) {
  .p-rental__thumb-wrapper {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: .3rem
  }
}

.p-rental__thumb {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-rental__img-note {
  margin-top: 1.5rem;
  font-size: max(1.2rem, 8px);
  line-height: 1.4166666667
}

@media screen and (max-width: 959px) {
  .p-rental__img-note {
    margin-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.4545454545
  }
}

.p-rental__tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: .5rem;
  padding: 2rem 1.5rem;
  border-radius: .6rem;
  background-color: #dfdacc
}

@media screen and (max-width: 959px) {
  .p-rental__tag-list {
    margin-bottom: .5rem;
    padding: 1rem
  }
}

.p-rental__tag {
  padding: .7rem 1.5rem;
  border: 1px solid #d9d9d9;
  border-radius: .6rem;
  background-color: #fff;
  font-size: max(1.4rem, 9px);
  line-height: 1.2142857143
}

@media screen and (max-width: 959px) {
  .p-rental__tag {
    padding: .5rem 1.3rem .7rem
  }
}

.p-rental__data-title {
  display: inline-block;
  margin-top: 3rem;
  padding: .6rem 2rem;
  border-radius: 9999px;
  background-color: var(--color-gold);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.1875;
  color: #fff
}

@media screen and (max-width: 959px) {
  .p-rental__data-title {
    margin-top: 1.5rem;
    margin-left: 2.6rem;
    padding: .6rem 1.5rem;
    font-size: 1.4rem;
    line-height: 1.4285714286
  }

  .p-rental__data-title:first-of-type {
    margin-top: 2rem
  }
}

.p-rental__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: 1rem;
  font-size: max(1.4rem, 9px);
  color: var(--color-gold);
  line-height: 1.2142857143
}

@media screen and (max-width: 959px) {
  .p-rental__data {
    margin-top: .5rem;
    margin-left: 2.6rem;
    font-size: 1.2rem;
    line-height: 1.4166666667
  }
}

.p-rental__seat-icon {
  width: 4.2rem;
  height: auto
}

.p-rental__seat-number {
  margin: .2rem 0 -0.2rem;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1
}

.p-rental__heading {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid #dfdacc;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5555555556
}

@media screen and (max-width: 959px) {
  .p-rental__heading {
    margin-top: 2rem;
    padding-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.75
  }
}

.p-rental__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .5rem;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  margin: 1rem 0
}

@media screen and (max-width: 959px) {
  .p-rental__price {
    margin-top: 1.5rem
  }
}

.p-rental__price-amount {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--color-pink)
}

@media screen and (max-width: 959px) {
  .p-rental__price-amount {
    font-size: 3.5rem;
    line-height: 1.2
  }
}

.p-rental__price-unit {
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-pink)
}

@media screen and (max-width: 959px) {
  .p-rental__price-unit {
    font-size: 1.6rem
  }
}

.p-rental__price-date {
  font-size: 1.6rem;
  font-weight: 500;
  color: #7e7e7e
}

@media screen and (max-width: 959px) {
  .p-rental__price-date {
    font-size: 1.4rem
  }
}

.p-required {
  max-width: 146rem;
  margin: 6.1rem auto 0;
  -webkit-box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  border-radius: 2rem
}

@media screen and (max-width: 959px) {
  .p-required {
    margin: 6rem 1.5rem 0
  }
}

.p-required__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  padding: 1rem 4rem;
  border-radius: 2rem 2rem 0 0;
  background-color: #e33232;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .1em;
  color: #fff
}

@media screen and (max-width: 959px) {
  .p-required__title {
    padding: .6rem 2rem;
    border-radius: 1rem 1rem 0 0;
    font-size: 1.6rem
  }
}

.p-required__icon {
  width: 3rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-required__icon {
    width: 2.5rem
  }
}

.p-required__body {
  padding: 3rem 3rem 4rem;
  border-radius: 0 0 2rem 2rem;
  border: 3px solid #e33232;
  border-top: none;
  background-color: #fff
}

@media screen and (max-width: 959px) {
  .p-required__body {
    padding: 2rem 2.7rem 2.7rem
  }
}

.p-required__heading {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2083333333;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-required__heading {
    font-size: 1.8rem;
    line-height: 1.2222222222
  }
}

.p-required__img {
  max-width: 63.1rem;
  margin: 3rem auto 0
}

.p-required__note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 3rem auto 0;
  font-size: max(1.2rem, 8px);
  line-height: 1.6666666667;
  letter-spacing: .1em
}

@media screen and (max-width: 959px) {
  .p-required__note {
    font-size: 1.1rem;
    line-height: 1.1818181818
  }
}

.p-service {
  position: relative;
  z-index: 0;
  padding: 18.1rem 0 22.5rem;
  background-color: #f6f4ee
}

@media screen and (max-width: 959px) {
  .p-service {
    padding: 6rem 0 4rem
  }
}

.p-service__bg {
  position: absolute;
  z-index: -1;
  top: 13.4rem;
  right: 0;
  width: 100%;
  max-width: 57rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-service__bg {
    display: none
  }
}

.p-service__container {
  display: grid;
  grid-template-columns: 1fr 31rem;
  -webkit-column-gap: 7.5rem;
  -moz-column-gap: 7.5rem;
  column-gap: 7.5rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 13.3rem 10rem 0 23rem
}

@media screen and (max-width: 959px) {
  .p-service__container {
    grid-template-columns: 100%;
    margin: 6rem 0 0
  }
}

.p-service__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 9999px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843)
}

@media screen and (max-width: 959px) {
  .p-service__nav {
    border-radius: 0
  }
}

.p-service__nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  row-gap: .9rem;
  padding: 2.5rem 0 2.4rem;
  background-color: var(--color-gold);
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2222222222;
  letter-spacing: .1em;
  color: #fff;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s
}

.p-service__nav-link:not(:last-of-type) {
  border-right: 1px solid #fff
}

@media(any-hover: hover) {
  .p-service__nav-link:hover {
    background-color: #e2dab2;
    color: var(--color-gold)
  }

  .p-service__nav-link:hover .p-service__nav-icon path {
    stroke: var(--color-gold)
  }
}

@media screen and (max-width: 959px) {
  .p-service__nav-link {
    padding: 1rem 0 .9rem;
    font-size: 1.2rem;
    line-height: 1.1666666667
  }
}

.p-service__nav-icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 1.8rem;
  height: auto
}

@media screen and (max-width: 959px) {
  .p-service__nav-icon {
    width: 1rem
  }
}

.p-service__nav-icon path {
  -webkit-transition: stroke .3s;
  transition: stroke .3s
}

.p-service__section {
  margin-top: 4rem;
  padding-top: 6rem
}

@media screen and (max-width: 959px) {
  .p-service__section {
    margin-top: -2rem;
    padding-top: 6rem
  }
}

.p-service__panel {
  padding: 6rem;
  border-radius: 3rem;
  background-color: #fff;
  -webkit-box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843)
}

@media screen and (max-width: 959px) {
  .p-service__panel {
    margin: 0 1.5rem;
    padding: 3rem 1.5rem;
    border-radius: 1.5rem
  }
}

.p-sidebar {
  position: sticky;
  top: 100px;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 2rem
}

@media screen and (max-width: 959px) {
  .p-sidebar {
    display: none
  }
}

.p-sidebar__box {
  padding: 2.5rem 2rem;
  border-radius: 2rem;
  background-color: #fff;
  -webkit-box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843);
  box-shadow: 0 4px 35px rgba(0, 0, 0, .1019607843)
}

.p-sidebar__box:last-of-type {
  padding: 3.1rem 2rem
}

.p-sidebar__img {
  width: 100%;
  height: auto;
  border-radius: 1rem
}

.p-sidebar__reserve-heading {
  padding: 1.2rem 0;
  border-bottom: 1px solid #d9d9d9;
  font-size: max(1.6rem, 9px);
  font-weight: 600;
  line-height: 1.4375
}

.p-sidebar__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: .5rem;
  -moz-column-gap: .5rem;
  column-gap: .5rem;
  margin: 1.2rem 0 2rem
}

.p-sidebar__price-amount {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-pink)
}

.p-sidebar__price-unit {
  font-size: max(1.4rem, 8px);
  font-weight: 500;
  color: var(--color-pink)
}

.p-sidebar__price-date {
  font-size: max(1.2rem, 8px);
  font-weight: 500;
  color: #7e7e7e
}

.p-sidebar__icons {
  display: block;
  width: 8.7rem;
  height: auto;
  margin: 0 auto
}

.p-sidebar__package-heading {
  margin: 1.5rem 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2222222222
}

.p-spec {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9
}

@media screen and (max-width: 959px) {
  .p-spec {
    grid-template-columns: 100%;
    margin-top: 2rem
  }
}

.p-spec__data {
  display: grid;
  grid-template-columns: 25rem 1fr
}

@media screen and (max-width: 959px) {
  .p-spec__data {
    grid-template-columns: 14.6rem 1fr
  }
}

.p-spec__data-name,
.p-spec__data-value {
  padding: 2rem 1.5rem;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  font-size: 1.6rem;
  line-height: 1.1875
}

@media screen and (max-width: 959px) {

  .p-spec__data-name,
  .p-spec__data-value {
    padding: 1.5rem;
    font-size: 1.4rem;
    line-height: 1.2142857143
  }
}

.p-spec__data-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: var(--color-light-gold);
  font-weight: 500;
  color: #fff
}

.p-spec__data-value .text-sm {
  display: inline-block;
  font-size: max(.875em, 8px)
}

@media screen and (max-width: 959px) {
  .p-spec__data-value .text-sm {
    font-size: 1rem;
    line-height: 1.2
  }
}

@media screen and (min-width: 960px) {
  .u-hidden-pc {
    display: none
  }
}

@media screen and (max-width: 959px) {
  .u-hidden-sp {
    display: none
  }
}

.u-font-josefin {
  font-family: "Josefin Sans", sans-serif
}

.u-font-inter {
  font-family: "Inter", sans-serif
}

.u-font-mincho {
  font-family: "Noto Serif HK", serif
}

.u-text-link {
  text-decoration: underline;
  color: var(--color-gold);
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}

@media(any-hover: hover) {
  .u-text-link:hover {
    opacity: .7
  }
}

.u-highlight {
  padding-bottom: .05em;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#fff600), color-stop(0.786em, #fff600), color-stop(0.786em, transparent));
  background-image: linear-gradient(0deg, #fff600, #fff600 0.786em, transparent 0.786em)
}

@media screen and (max-width: 959px) {
  .u-highlight {
    background-image: -webkit-gradient(linear, left bottom, left top, from(#fff600), color-stop(0.636em, #fff600), color-stop(0.636em, transparent));
    background-image: linear-gradient(0deg, #fff600, #fff600 0.636em, transparent 0.636em)
  }
}