*,
*::before,
*::after {
  box-sizing: border-box;
  border: 0 solid #d9e1e5;
}

html {
  color: #172a3a;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.2;
}

h1,
h2,
h3,
h4,
p,
blockquote,
figure {
  margin: 0;
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

header a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}

button {
  background: transparent;
  padding: 0;
  text-align: inherit;
  cursor: pointer;
}

button[disabled] {
  cursor: default;
}

input::placeholder,
textarea::placeholder {
  color: #667784;
  opacity: 1;
}

input[type=checkbox]:checked {
  background: #2a9db0;
  box-shadow: inset 0 0 0 3px #fff;
}

:focus-visible {
  outline: 2px solid #2a9db0;
  outline-offset: 4px;
}

.pc,
.sp {
  width: 100%;
}

.sp,
.skip-sp {
  display: none;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10;
  padding: 12px 18px;
  background: #0b2948;
  color: #fff;
  transform: translateY(-160%);
}
.skip-link:focus {
  transform: none;
}
.skip-link--sp {
  display: none;
}

@media (max-width: 1024px) {
  .pc,
  .skip-pc {
    display: none;
  }
  .sp,
  .skip-sp {
    display: block;
  }
}

@media (hover: hover) {
  .footer a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
.pc .header {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}
.pc .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1200px, 100%);
  height: 80px;
  padding: 0 24px;
}
.pc .logo,
.pc .header-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.pc .logo > .text,
.pc .footer-logo > .text {
  color: #0b2948;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 2px;
  white-space: nowrap;
}
.pc .nav {
  display: flex;
  align-items: center;
  gap: 40px;
  color: #172a3a;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1px;
  white-space: nowrap;
}
.pc .header-right {
  gap: 24px;
}
.pc .cta-button {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 8px 24px;
  border-radius: 4px;
  background-color: #2a9db0;
}
.pc .cta-button .cta-button-label {
  color: #fff;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.pc .main {
  width: 100%;
}

#home .pc .hero-cta,
#hotels .pc .btn {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: center;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 16px;
  padding-bottom: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#home .pc .hero-cta-label,
#about .pc .cta-label,
#contact .pc .submit-btn-label,
#error .pc .primary-btn-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 15px;
  color: #fff;
  white-space: nowrap;
}

.page-content-container {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#hotels .pc .btn-label,
#magazine-article .pc .link-btn-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  color: #fff;
  white-space: nowrap;
}

.section-intro {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}
.section-intro > div:last-child {
  position: relative;
  flex-shrink: 0;
  width: 60px;
  height: 2px;
  background: #2a9db0;
}
.section-intro > h2,
.section-intro > p {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}
.section-intro > h2 {
  color: #172a3a;
  overflow-wrap: break-word;
  font: 400 36px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 4px;
}
.section-intro > p {
  color: #667784;
  overflow-wrap: break-word;
  font: 500 14px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
  letter-spacing: 1px;
}
.section-intro--center {
  align-items: center;
  text-align: center;
}
.section-intro--related > p {
  font-weight: 400;
}
.pc .section-intro {
  padding-bottom: 32px;
}
.pc .section-intro > h2 {
  white-space: nowrap;
}
.sp .section-intro {
  overflow: clip;
}
.sp .section-intro > div:last-child {
  width: 48px;
}
.sp .section-intro > h2 {
  font-size: 26px;
  letter-spacing: 3px;
}
.sp .section-intro > p {
  font: 400 11px/1.6 "Noto Sans JP", sans-serif;
  letter-spacing: normal;
}

#home .pc .section-header-content,
#destination-bali .pc .section-header-content,
#hotel-amanpuri .pc .section-header-content,
#magazine .pc .section-label-content,
#magazine-article .pc .section-header-content,
#about .pc .section-title-content,
#about .pc .section-header-content {
  background-color: #2a9db0;
  height: 2px;
  position: relative;
  flex-shrink: 0;
  width: 60px;
}

#home .pc .editors-pick,
#destination-bali .pc .about-bali,
#destination-bali .pc .where-to-stay,
#destination-bali .pc .related {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .magazine-editorial-grid,
#hotel-amanpuri .pc .location-grid,
#magazine .pc .grid-row {
  align-content: stretch;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .story-image,
#magazine .pc .card-img {
  height: 380px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#home .pc .story-content,
#hotel-amanpuri .pc .dining-details-content,
#magazine .pc .story-content,
#privacy-policy .pc .section-2,
#privacy-policy .pc .section-3,
#privacy-policy .pc .section-4,
#privacy-policy .pc .section-7 {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .story-meta-description,
#home .pc .side-story-meta-label,
#destinations .pc .meta-label,
#destinations .pc .meta-2-label,
#destinations .pc .meta-3-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  letter-spacing: 1px;
}

:is(#home, #magazine) .pc .story-content-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  width: 100%;
}

#home .pc .side-stories,
#magazine .pc .col-small-stack {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 420px;
  max-width: 100%;
  min-width: 0;
}

#home .pc .side-story-content-description,
#destination-bali .pc .act-card-description-description,
#magazine .pc .story-content-2-description,
#magazine .pc .story-content-3-description,
#magazine .pc .story-content-4-description,
#magazine .pc .story-content-5-description,
#magazine .pc .story-content-6-description,
#about .pc .value-card-description-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
  width: 100%;
}

#home .pc .hotels-section,
#destination-bali .pc .things-to-do,
#destination-bali .pc .travel-tips,
#hotel-amanpuri .pc .rooms,
#hotel-amanpuri .pc .pool-spa,
#hotel-amanpuri .pc .related-stories,
#magazine-article .pc .related-stories-section {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .hotel-asymmetric-hero,
#destination-bali .pc .about-inner,
#hotels .pc .hotel-asymmetric-row,
#hotel-amanpuri .pc .about-inner {
  align-content: stretch;
  display: flex;
  gap: 64px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .hotel-img,
#magazine .pc .featured-img {
  height: 480px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 720px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#home .pc .hotel-detail,
#hotels .pc .hotel-detail,
#about .pc .story-text {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#home .pc .hotel-tag,
#hotels .pc .hotel-tag,
#magazine-article .pc .category {
  background-color: #eaf5f7;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#home .pc .hotel-tag-label,
#destination-bali .sp .panel-card-number,
#hotels .pc .hotel-tag-label,
#about .sp .panel-card-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  letter-spacing: 1px;
  white-space: nowrap;
}

#home .pc .hotel-link-label,
#hotels .pc .hotel-link-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 14px;
  white-space: nowrap;
}

#home .pc .quote-box,
#hotels .pc .quote-box,
#about .pc .banner-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

#home .pc .quote-box-content,
#hotels .pc .quote-box-content,
#about .pc .hero-inner-content {
  background-color: #fff;
  height: 1px;
  position: relative;
  flex-shrink: 0;
  width: 80px;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 48px;
  padding-top: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-top {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-logo-tagline {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 400px;
  max-width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-logo-tagline-logo {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 32px;
  color: #fff;
  letter-spacing: 3px;
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-logo-tagline-description {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 2;
  position: relative;
  flex-shrink: 0;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-logo-tagline-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 1px;
  width: 100%;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-links {
  align-content: stretch;
  display: flex;
  gap: 80px;
  align-items: flex-start;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

#home .pc .links-col-1,
#home .pc .links-col-2,
#destinations .pc .links-col-1,
#destinations .pc .links-col-2,
#destination-bali .pc .links-col-1,
#destination-bali .pc .links-col-2,
#hotels .pc .links-col-1,
#hotels .pc .links-col-2,
#hotel-amanpuri .pc .links-col-1,
#hotel-amanpuri .pc .links-col-2,
#magazine .pc .links-col-1,
#magazine .pc .links-col-2,
#magazine-article .pc .links-col-1,
#magazine-article .pc .links-col-2,
#about .pc .links-col-1,
#about .pc .links-col-2,
#privacy-policy .pc .links-col-1,
#privacy-policy .pc .links-col-2,
#contact .pc .links-col-1,
#contact .pc .links-col-2,
#error .pc .links-col-1,
#error .pc .links-col-2 {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#home .pc .links-col-1-label,
#home .pc .links-col-2-label,
#destinations .pc .links-col-1-label,
#destinations .pc .links-col-2-label,
#destination-bali .pc .links-col-1-label,
#destination-bali .pc .links-col-2-label,
#hotels .pc .links-col-1-label,
#hotels .pc .links-col-2-label,
#hotel-amanpuri .pc .links-col-1-label,
#hotel-amanpuri .pc .links-col-2-label,
#magazine .pc .links-col-1-label,
#magazine .pc .links-col-2-label,
#magazine-article .pc .links-col-1-label,
#magazine-article .pc .links-col-2-label,
#about .pc .links-col-1-label,
#about .pc .links-col-2-label,
#privacy-policy .pc .links-col-1-label,
#privacy-policy .pc .links-col-2-label,
#contact .pc .links-col-1-label,
#contact .pc .links-col-2-label,
#error .pc .links-col-1-label,
#error .pc .links-col-2-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  color: #fff;
  letter-spacing: 1px;
}

#home .pc .links-col-1-link,
#home .pc .links-col-1-link-primary,
#home .pc .links-col-1-link-secondary,
#home .pc .links-col-1-link-supporting,
#home .pc .links-col-1-link-detail,
#home .pc .links-col-1-link-meta,
#destinations .pc .links-col-1-link,
#destinations .pc .links-col-1-link-primary,
#destinations .pc .links-col-1-link-secondary,
#destinations .pc .links-col-1-link-supporting,
#destinations .pc .links-col-1-link-detail,
#destinations .pc .links-col-1-link-meta,
#destination-bali .pc .links-col-1-link,
#destination-bali .pc .links-col-1-link-primary,
#destination-bali .pc .links-col-1-link-secondary,
#destination-bali .pc .links-col-1-link-supporting,
#destination-bali .pc .links-col-1-link-detail,
#destination-bali .pc .links-col-1-link-meta,
#hotels .pc .links-col-1-link,
#hotels .pc .links-col-1-link-primary,
#hotels .pc .links-col-1-link-secondary,
#hotels .pc .links-col-1-link-supporting,
#hotels .pc .links-col-1-link-detail,
#hotels .pc .links-col-1-link-meta,
#hotel-amanpuri .pc .links-col-1-link,
#hotel-amanpuri .pc .links-col-1-link-primary,
#hotel-amanpuri .pc .links-col-1-link-secondary,
#hotel-amanpuri .pc .links-col-1-link-supporting,
#hotel-amanpuri .pc .links-col-1-link-detail,
#hotel-amanpuri .pc .links-col-1-link-meta,
#magazine .pc .links-col-1-link,
#magazine .pc .links-col-1-link-primary,
#magazine .pc .links-col-1-link-secondary,
#magazine .pc .links-col-1-link-supporting,
#magazine .pc .links-col-1-link-detail,
#magazine .pc .links-col-1-link-meta,
#magazine-article .pc .links-col-1-link,
#magazine-article .pc .links-col-1-link-primary,
#magazine-article .pc .links-col-1-link-secondary,
#magazine-article .pc .links-col-1-link-supporting,
#magazine-article .pc .links-col-1-link-detail,
#magazine-article .pc .links-col-1-link-meta,
#about .pc .links-col-1-link,
#about .pc .links-col-1-link-primary,
#about .pc .links-col-1-link-secondary,
#about .pc .links-col-1-link-supporting,
#about .pc .links-col-1-link-detail,
#about .pc .links-col-1-link-meta,
#privacy-policy .pc .links-col-1-link,
#privacy-policy .pc .links-col-1-link-primary,
#privacy-policy .pc .links-col-1-link-secondary,
#privacy-policy .pc .links-col-1-link-supporting,
#privacy-policy .pc .links-col-1-link-detail,
#privacy-policy .pc .links-col-1-link-meta,
#contact .pc .links-col-1-link,
#contact .pc .links-col-1-link-primary,
#contact .pc .links-col-1-link-secondary,
#contact .pc .links-col-1-link-supporting,
#contact .pc .links-col-1-link-detail,
#contact .pc .links-col-1-link-meta,
#error .pc .links-col-1-link,
#error .pc .links-col-1-link-primary,
#error .pc .links-col-1-link-secondary,
#error .pc .links-col-1-link-supporting,
#error .pc .links-col-1-link-detail,
#error .pc .links-col-1-link-meta {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
}

#home .pc .links-col-2-label-primary,
#home .pc .links-col-2-label-secondary,
#home .pc .links-col-2-label-supporting,
#home .pc .links-col-2-label-detail,
#destinations .pc .links-col-2-label-primary,
#destinations .pc .links-col-2-label-secondary,
#destinations .pc .links-col-2-label-supporting,
#destinations .pc .links-col-2-label-detail,
#destination-bali .pc .links-col-2-label-primary,
#destination-bali .pc .links-col-2-label-secondary,
#destination-bali .pc .links-col-2-label-supporting,
#destination-bali .pc .links-col-2-label-detail,
#hotels .pc .links-col-2-label-primary,
#hotels .pc .links-col-2-label-secondary,
#hotels .pc .links-col-2-label-supporting,
#hotels .pc .links-col-2-label-detail,
#hotel-amanpuri .pc .links-col-2-label-primary,
#hotel-amanpuri .pc .links-col-2-label-secondary,
#hotel-amanpuri .pc .links-col-2-label-supporting,
#hotel-amanpuri .pc .links-col-2-label-detail,
#magazine .pc .links-col-2-label-primary,
#magazine .pc .links-col-2-label-secondary,
#magazine .pc .links-col-2-label-supporting,
#magazine .pc .links-col-2-label-detail,
#magazine-article .pc .links-col-2-label-primary,
#magazine-article .pc .links-col-2-label-secondary,
#magazine-article .pc .links-col-2-label-supporting,
#magazine-article .pc .links-col-2-label-detail,
#about .pc .links-col-2-label-primary,
#about .pc .links-col-2-label-secondary,
#about .pc .links-col-2-label-supporting,
#about .pc .links-col-2-label-detail,
#privacy-policy .pc .links-col-2-label-primary,
#privacy-policy .pc .links-col-2-label-secondary,
#privacy-policy .pc .links-col-2-label-supporting,
#privacy-policy .pc .links-col-2-label-detail,
#contact .pc .links-col-2-label-primary,
#contact .pc .links-col-2-label-secondary,
#contact .pc .links-col-2-label-supporting,
#contact .pc .links-col-2-label-detail,
#error .pc .links-col-2-label-primary,
#error .pc .links-col-2-label-secondary,
#error .pc .links-col-2-label-supporting,
#error .pc .links-col-2-label-detail {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.65);
}

#home .pc .line,
#home .sp .divider,
#destinations .pc .line,
#destinations .sp .divider,
#destination-bali .pc .line,
#destination-bali .sp .divider,
#hotels .pc .line,
#hotels .sp .divider,
#hotel-amanpuri .pc .line,
#hotel-amanpuri .sp .divider,
#magazine .pc .line,
#magazine .sp .divider,
#magazine-article .pc .line,
#magazine-article .sp .divider,
#about .pc .line,
#about .sp .divider,
#privacy-policy .pc .line,
#contact .pc .line,
#contact .sp .divider,
#error .pc .line,
#error .sp .divider {
  height: 1px;
  flex-shrink: 0;
  width: 100%;
  object-fit: fill;
  margin-top: -1px;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-bottom {
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-bottom-copyright {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-sub-links {
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .pc .footer-sub-links-link {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
}

.sp .header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 64px;
  padding: 0 20px;
  overflow: clip;
  background-color: #fff;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}
.sp .logo > .text,
.sp .footer-logo > .text {
  color: #0b2948;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 2px;
  white-space: nowrap;
}
.sp .header-actions {
  width: 56px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
}
.sp .main {
  width: 100%;
}

:is(#home, #hotels, #magazine-article, #about, #error) .sp .button {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: clip;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 13px;
  padding-bottom: 13px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #2a9db0;
}

#home .sp .button-label,
#hotels .sp .button-label,
#magazine-article .sp .button-label,
#about .sp .button-label,
#contact .sp .submit-label,
#error .sp .button-label {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 13px;
  color: #fff;
  white-space: nowrap;
}

#destinations .sp .destination-filters,
#destination-bali .sp .about-bali,
#hotel-amanpuri .sp .the-experience,
#magazine .sp .categories,
#about .sp .our-story,
#contact .sp .contact-introduction {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .input-group-description,
#home .sp .duration-field-label,
#home .sp .theme-field-label,
#contact .sp .field-label-label {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 12px;
  white-space: nowrap;
}

.filter-button > span {
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  overflow-wrap: break-word;
  font: 700 12px/1.2 "Cormorant Garamond", Georgia, serif;
  white-space: nowrap;
}
:is(#hotels, #magazine) .pc .filter-button > span {
  font-size: 13px;
  letter-spacing: 1px;
}
.sp .filter-button > span {
  font-size: 10px;
}

#home .sp .destinations,
#home .sp .featured-hotel,
#destination-bali .sp .things-to-do,
#destination-bali .sp .travel-tips,
#hotel-amanpuri .sp .rooms-and-pavilions,
#hotel-amanpuri .sp .wellness-and-spa,
#hotel-amanpuri .sp .related-stories,
#magazine-article .sp .related-stories,
#about .sp .our-values {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotel-amanpuri, #magazine, #magazine-article) .sp .story-card {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .image-15,
#home .sp .image-17,
#home .sp .image-19,
#destinations .sp .image-3,
#destinations .sp .image-5,
#destinations .sp .image-7,
#destinations .sp .image-9,
#destinations .sp .image-11,
#destination-bali .sp .image-17,
#destination-bali .sp .image-19,
#destination-bali .sp .image-21,
#hotel-amanpuri .sp .image-17,
#hotel-amanpuri .sp .image-19,
#hotel-amanpuri .sp .image-21,
#magazine .sp .image-2,
#magazine .sp .image-4,
#magazine .sp .image-6,
#magazine .sp .image-8,
#magazine .sp .image-10,
#magazine .sp .image-12,
#magazine .sp .image-14,
#magazine-article .sp .lane-image,
#magazine-article .sp .dining-image,
#magazine-article .sp .image-7,
#magazine-article .sp .image-9,
#magazine-article .sp .image-11,
#contact .sp .map {
  height: 210px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#home .sp .metadata,
#home .sp .metadata-2,
#home .sp .metadata-3,
#magazine .sp .metadata,
#magazine .sp .metadata-2,
#magazine .sp .metadata-3,
#magazine .sp .metadata-4,
#magazine .sp .metadata-5,
#magazine .sp .metadata-6,
#magazine .sp .metadata-7 {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  gap: 10px;
  align-items: center;
  line-height: 1.2;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

#home .sp .metadata-description,
#home .sp .metadata-2-label,
#home .sp .metadata-3-label,
#magazine .sp .metadata-description,
#magazine .sp .metadata-2-label,
#magazine .sp .metadata-3-label,
#magazine .sp .metadata-4-label,
#magazine .sp .metadata-5-label,
#magazine .sp .metadata-6-label,
#magazine .sp .metadata-7-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 11px;
  letter-spacing: 1px;
}

#home .sp .metadata-description-primary,
#home .sp .metadata-2-description,
#home .sp .metadata-3-description,
#magazine .sp .metadata-description-primary,
#magazine .sp .metadata-2-description,
#magazine .sp .metadata-3-description,
#magazine .sp .metadata-4-description,
#magazine .sp .metadata-5-description,
#magazine .sp .metadata-6-description,
#magazine .sp .metadata-7-description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 10px;
}

:is(#home, #destinations, #destination-bali, #hotel-amanpuri, #magazine, #magazine-article) .sp .story-card-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.55;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
  width: 100%;
}

:is(#home, #destinations, #magazine) .sp .story-card-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

:is(#home, #destination-bali, #hotels) .sp .feature {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .image-21,
#destination-bali .sp .image-3,
#destination-bali .sp .image-13,
#destination-bali .sp .image-15,
#hotels .sp .image-3,
#hotels .sp .image-5,
#hotels .sp .image-7,
#hotels .sp .image-9,
#hotel-amanpuri .sp .image-3,
#hotel-amanpuri .sp .image-11,
#hotel-amanpuri .sp .image-13,
#hotel-amanpuri .sp .image-15,
#about .sp .image-3 {
  height: 230px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#home .sp .content,
#destination-bali .sp .content,
#destination-bali .sp .content-2,
#hotels .sp .content,
#hotels .sp .content-2,
#hotels .sp .content-3,
#hotels .sp .content-4 {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 11px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .feature-label,
#destination-bali .sp .feature-description,
#destination-bali .sp .content-2-label,
#hotels .sp .feature-label,
#hotels .sp .content-2-label,
#hotels .sp .content-3-label,
#hotels .sp .content-4-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  letter-spacing: 2px;
  white-space: nowrap;
}

#home .sp .feature-description,
#destination-bali .sp .feature-description-primary,
#destination-bali .sp .content-2-description,
#hotels .sp .feature-description,
#hotels .sp .content-2-description,
#hotels .sp .content-3-description,
#hotels .sp .content-4-description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.45;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 20px;
  width: 100%;
}

#home .sp .feature-description-primary,
#destination-bali .sp .feature-description-secondary,
#destination-bali .sp .content-2-description-primary,
#hotels .sp .feature-description-primary,
#hotels .sp .content-2-description-primary,
#hotels .sp .content-3-description-primary,
#hotels .sp .content-4-description-primary {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#home .sp .feature-link,
#destination-bali .sp .feature-link,
#destination-bali .sp .content-2-link,
#hotels .sp .feature-link,
#hotels .sp .content-2-link,
#hotels .sp .content-3-link,
#hotels .sp .content-4-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotel-amanpuri) .sp .banner-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  text-align: center;
  color: #fff;
  letter-spacing: 3px;
  width: 100%;
}

:is(#home, #destinations, #destination-bali, #hotel-amanpuri) .sp .banner-heading {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.45;
  position: relative;
  flex-shrink: 0;
  font-size: 22px;
  text-align: center;
  color: #fff;
  width: 100%;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .footer {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  overflow: clip;
  padding-bottom: 28px;
  padding-top: 48px;
  padding-left: 24px;
  padding-right: 24px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .brand {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .brand-logo {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 27px;
  color: #fff;
  letter-spacing: 3px;
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .brand-description {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  white-space: nowrap;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .brand-description-primary {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  width: 100%;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .footer-links {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  gap: 44px;
  align-items: flex-start;
  line-height: 1.2;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  white-space: nowrap;
  min-width: 0;
}

#home .sp .navigate,
#home .sp .follow-us,
#destinations .sp .navigate,
#destinations .sp .follow-us,
#destination-bali .sp .navigate,
#destination-bali .sp .follow-us,
#hotels .sp .navigate,
#hotels .sp .follow-us,
#hotel-amanpuri .sp .navigate,
#hotel-amanpuri .sp .follow-us,
#magazine .sp .navigate,
#magazine .sp .follow-us,
#magazine-article .sp .navigate,
#magazine-article .sp .follow-us,
#about .sp .navigate,
#about .sp .follow-us,
#privacy-policy .sp .navigate,
#privacy-policy .sp .follow-us,
#contact .sp .navigate,
#contact .sp .follow-us,
#error .sp .navigate,
#error .sp .follow-us {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  overflow: clip;
  position: relative;
}

#home .sp .navigate-label,
#home .sp .follow-us-label,
#destinations .sp .navigate-label,
#destinations .sp .follow-us-label,
#destination-bali .sp .navigate-label,
#destination-bali .sp .follow-us-label,
#hotels .sp .navigate-label,
#hotels .sp .follow-us-label,
#hotel-amanpuri .sp .navigate-label,
#hotel-amanpuri .sp .follow-us-label,
#magazine .sp .navigate-label,
#magazine .sp .follow-us-label,
#magazine-article .sp .navigate-label,
#magazine-article .sp .follow-us-label,
#about .sp .navigate-label,
#about .sp .follow-us-label,
#privacy-policy .sp .navigate-label,
#privacy-policy .sp .follow-us-label,
#contact .sp .navigate-label,
#contact .sp .follow-us-label,
#error .sp .navigate-label,
#error .sp .follow-us-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: #fff;
  letter-spacing: 1px;
}

#home .sp .navigate-link,
#home .sp .navigate-link-primary,
#home .sp .navigate-link-secondary,
#home .sp .navigate-link-supporting,
#home .sp .navigate-link-detail,
#home .sp .navigate-link-meta,
#destinations .sp .navigate-link,
#destinations .sp .navigate-link-primary,
#destinations .sp .navigate-link-secondary,
#destinations .sp .navigate-link-supporting,
#destinations .sp .navigate-link-detail,
#destinations .sp .navigate-link-meta,
#destination-bali .sp .navigate-link,
#destination-bali .sp .navigate-link-primary,
#destination-bali .sp .navigate-link-secondary,
#destination-bali .sp .navigate-link-supporting,
#destination-bali .sp .navigate-link-detail,
#destination-bali .sp .navigate-link-meta,
#hotels .sp .navigate-link,
#hotels .sp .navigate-link-primary,
#hotels .sp .navigate-link-secondary,
#hotels .sp .navigate-link-supporting,
#hotels .sp .navigate-link-detail,
#hotels .sp .navigate-link-meta,
#hotel-amanpuri .sp .navigate-link,
#hotel-amanpuri .sp .navigate-link-primary,
#hotel-amanpuri .sp .navigate-link-secondary,
#hotel-amanpuri .sp .navigate-link-supporting,
#hotel-amanpuri .sp .navigate-link-detail,
#hotel-amanpuri .sp .navigate-link-meta,
#magazine .sp .navigate-link,
#magazine .sp .navigate-link-primary,
#magazine .sp .navigate-link-secondary,
#magazine .sp .navigate-link-supporting,
#magazine .sp .navigate-link-detail,
#magazine .sp .navigate-link-meta,
#magazine-article .sp .navigate-link,
#magazine-article .sp .navigate-link-primary,
#magazine-article .sp .navigate-link-secondary,
#magazine-article .sp .navigate-link-supporting,
#magazine-article .sp .navigate-link-detail,
#magazine-article .sp .navigate-link-meta,
#about .sp .navigate-link,
#about .sp .navigate-link-primary,
#about .sp .navigate-link-secondary,
#about .sp .navigate-link-supporting,
#about .sp .navigate-link-detail,
#about .sp .navigate-link-meta,
#privacy-policy .sp .navigate-link,
#privacy-policy .sp .navigate-link-primary,
#privacy-policy .sp .navigate-link-secondary,
#privacy-policy .sp .navigate-link-supporting,
#privacy-policy .sp .navigate-link-detail,
#privacy-policy .sp .navigate-link-meta,
#contact .sp .navigate-link,
#contact .sp .navigate-link-primary,
#contact .sp .navigate-link-secondary,
#contact .sp .navigate-link-supporting,
#contact .sp .navigate-link-detail,
#contact .sp .navigate-link-meta,
#error .sp .navigate-link,
#error .sp .navigate-link-primary,
#error .sp .navigate-link-secondary,
#error .sp .navigate-link-supporting,
#error .sp .navigate-link-detail,
#error .sp .navigate-link-meta {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
}

#home .sp .follow-us-label-primary,
#home .sp .follow-us-label-secondary,
#home .sp .follow-us-label-supporting,
#home .sp .follow-us-label-detail,
#destinations .sp .follow-us-label-primary,
#destinations .sp .follow-us-label-secondary,
#destinations .sp .follow-us-label-supporting,
#destinations .sp .follow-us-label-detail,
#destination-bali .sp .follow-us-label-primary,
#destination-bali .sp .follow-us-label-secondary,
#destination-bali .sp .follow-us-label-supporting,
#destination-bali .sp .follow-us-label-detail,
#hotels .sp .follow-us-label-primary,
#hotels .sp .follow-us-label-secondary,
#hotels .sp .follow-us-label-supporting,
#hotels .sp .follow-us-label-detail,
#hotel-amanpuri .sp .follow-us-label-primary,
#hotel-amanpuri .sp .follow-us-label-secondary,
#hotel-amanpuri .sp .follow-us-label-supporting,
#hotel-amanpuri .sp .follow-us-label-detail,
#magazine .sp .follow-us-label-primary,
#magazine .sp .follow-us-label-secondary,
#magazine .sp .follow-us-label-supporting,
#magazine .sp .follow-us-label-detail,
#magazine-article .sp .follow-us-label-primary,
#magazine-article .sp .follow-us-label-secondary,
#magazine-article .sp .follow-us-label-supporting,
#magazine-article .sp .follow-us-label-detail,
#about .sp .follow-us-label-primary,
#about .sp .follow-us-label-secondary,
#about .sp .follow-us-label-supporting,
#about .sp .follow-us-label-detail,
#privacy-policy .sp .follow-us-label-primary,
#privacy-policy .sp .follow-us-label-secondary,
#privacy-policy .sp .follow-us-label-supporting,
#privacy-policy .sp .follow-us-label-detail,
#contact .sp .follow-us-label-primary,
#contact .sp .follow-us-label-secondary,
#contact .sp .follow-us-label-supporting,
#contact .sp .follow-us-label-detail,
#error .sp .follow-us-label-primary,
#error .sp .follow-us-label-secondary,
#error .sp .follow-us-label-supporting,
#error .sp .follow-us-label-detail {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.65);
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .copyright-row {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  font-weight: 400;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.2;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
  width: 100%;
  white-space: nowrap;
  min-width: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .copyright-row-copyright {
  font-family: "Cormorant Garamond", Georgia, serif;
  position: relative;
  flex-shrink: 0;
}

:is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .copyright-row-link {
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  flex-shrink: 0;
}

:is(#destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about) .pc .nav {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  gap: 40px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  letter-spacing: 1px;
  white-space: nowrap;
  min-width: 0;
}

#destinations .pc .nav-link,
#destinations .pc .badge-label,
#destination-bali .pc .nav-link,
#hotels .pc .nav-link,
#hotel-amanpuri .pc .nav-link,
#magazine .pc .nav-link,
#magazine-article .pc .nav-link,
#about .pc .nav-link {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
}

:is(#destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about) .pc .nav-link {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
}

:is(#destinations, #hotels) .pc .hero-text {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 1;
  text-align: center;
  color: #fff;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

:is(#destinations, #hotels) .pc .hero-text-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  position: relative;
  flex-shrink: 0;
  font-size: 64px;
  letter-spacing: 6px;
  white-space: nowrap;
}

:is(#destinations, #hotels) .pc .hero-text-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 18px;
  letter-spacing: 2px;
  width: 100%;
}

:is(#destinations, #hotels) .pc .filter-container {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  padding: 32px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

:is(#destinations, #hotels) .pc .filter-group {
  align-content: stretch;
  display: flex;
  gap: 24px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#destinations, #hotels) .pc .filter-options {
  align-content: flex-start;
  display: flex;
  flex: 1 0 0;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

:is(#destinations, #hotels, #magazine) .pc .filter-button {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative;
  border-radius: 100px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #0b2948;
}

:is(#destinations, #hotels, #magazine) .pc .page-number-description {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  color: #fff;
  white-space: nowrap;
}

:is(#destinations, #hotels, #magazine) .pc .filter-button {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative;
  border-radius: 100px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#destinations .pc .card-greece-description,
#destinations .pc .dest-info,
#destination-bali .pc .act-card-description,
#about .pc .value-card-description {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

.page-content-container--editorial {
  gap: 48px;
}

#destinations .pc .dest-info-description-primary,
#about .pc .value-card-description-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
  width: 100%;
}

:is(#destinations, #magazine, #hotels) .pc .pagination {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: center;
  padding-bottom: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#destinations, #hotels, #magazine) .pc .page-number {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 40px;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #0b2948;
}

:is(#destinations, #about) .sp .page-hero-title {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 34px;
  text-align: center;
  color: #fff;
  letter-spacing: 4px;
  width: 100%;
}

:is(#destinations, #destination-bali, #hotels, #hotel-amanpuri, #about, #contact) .sp .rule {
  background-color: #fff;
  height: 1px;
  position: relative;
  flex-shrink: 0;
  width: 72px;
}

#destinations .sp .page-hero-description,
#destination-bali .sp .page-hero-description,
#hotels .sp .page-hero-description,
#hotel-amanpuri .sp .page-hero-description-primary,
#about .sp .page-hero-description,
#contact .sp .page-hero-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  text-align: center;
  color: #fff;
  width: 100%;
}

:is(#destinations, #hotels) .sp .filters {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
  overflow: clip;
  padding: 18px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

:is(#destinations, #hotels, #magazine) .sp .filter-group {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .sp .filter-group__label,
#hotels .sp .filter-group__label,
#magazine .sp .filter-group-label {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 11px;
  white-space: nowrap;
}

:is(#destinations, #hotels, #magazine) .sp .filter-options {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#destinations, #hotels, #magazine) .sp .filter-button {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  overflow: clip;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 7px;
  padding-bottom: 7px;
  position: relative;
  border-radius: 100px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #0b2948;
}

:is(#destinations, #hotels, #magazine) .sp .filter-button {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  overflow: clip;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 7px;
  padding-bottom: 7px;
  position: relative;
  border-radius: 100px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#destinations .sp .metadata,
#destinations .sp .metadata-2,
#destinations .sp .metadata-3,
#destinations .sp .metadata-4,
#destinations .sp .metadata-5,
#destination-bali .sp .metadata,
#destination-bali .sp .metadata-2,
#destination-bali .sp .metadata-3,
#hotel-amanpuri .sp .metadata,
#hotel-amanpuri .sp .metadata-2,
#hotel-amanpuri .sp .metadata-3,
#magazine-article .sp .metadata,
#magazine-article .sp .metadata-2,
#magazine-article .sp .metadata-3 {
  align-content: stretch;
  display: flex;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#destinations .sp .metadata-description,
#destinations .sp .metadata-2-description,
#destinations .sp .metadata-3-description,
#destinations .sp .metadata-4-description,
#destinations .sp .metadata-5-description,
#destination-bali .sp .metadata-label,
#destination-bali .sp .metadata-2-label,
#destination-bali .sp .metadata-3-label,
#hotel-amanpuri .sp .metadata-description,
#hotel-amanpuri .sp .metadata-2-label,
#hotel-amanpuri .sp .metadata-3-label,
#magazine-article .sp .category-label,
#magazine-article .sp .metadata-description,
#magazine-article .sp .metadata-2-description,
#magazine-article .sp .metadata-3-description {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 11px;
  letter-spacing: 1px;
  white-space: nowrap;
}

:is(#destinations, #hotels, #magazine) .sp .pagination {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  justify-content: center;
  overflow: clip;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

:is(#destinations, #hotels, #magazine) .sp .page-number {
  background-color: #0b2948;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  overflow: clip;
  padding-left: 13px;
  padding-right: 13px;
  padding-top: 9px;
  padding-bottom: 9px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #0b2948;
}

:is(#destinations, #hotels, #magazine) .sp .page-number-description {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  color: #fff;
  white-space: nowrap;
}

#destination-bali .pc .hero-inner,
#hotel-amanpuri .pc .hero-inner,
#magazine-article .pc .banner-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

:is(#destination-bali, #hotel-amanpuri) .pc .hero-inner-content {
  background-color: #2a9db0;
  height: 2px;
  position: relative;
  flex-shrink: 0;
  width: 120px;
  max-width: 100%;
}

:is(#destination-bali, #hotel-amanpuri) .pc .hero-inner-heading {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 24px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

:is(#destination-bali, #hotel-amanpuri) .pc .info-bar {
  overflow-wrap: break-word;
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  white-space: nowrap;
  min-width: 0;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}

#destination-bali .pc .info-item-2,
#destination-bali .pc .info-item-3,
#hotel-amanpuri .pc .info-item,
#hotel-amanpuri .pc .info-item-2,
#hotel-amanpuri .pc .info-item-3,
#hotel-amanpuri .pc .info-item-4 {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  min-width: 0;
  position: relative;
}

#destination-bali .pc .info-item-2-label,
#destination-bali .pc .info-item-3-label,
#hotel-amanpuri .pc .info-item-label,
#hotel-amanpuri .pc .info-item-2-label,
#hotel-amanpuri .pc .info-item-3-label,
#hotel-amanpuri .pc .info-item-4-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  letter-spacing: 1px;
}

#destination-bali .pc .info-item-2-description,
#destination-bali .pc .info-item-3-description,
#hotel-amanpuri .pc .info-item-description,
#hotel-amanpuri .pc .info-item-2-description,
#hotel-amanpuri .pc .info-item-3-description,
#hotel-amanpuri .pc .info-item-4-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
}

#destination-bali .pc .text-side,
#hotel-amanpuri .pc .text-side,
#hotel-amanpuri .pc .spa-info,
#hotel-amanpuri .pc .location-text,
#magazine .pc .story-detail {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

:is(#destination-bali, #hotel-amanpuri) .pc .text-side-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 32px;
  letter-spacing: 1px;
  white-space: nowrap;
}

:is(#destination-bali, #hotel-amanpuri) .pc .text-side-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 20px;
  width: 100%;
}

#destination-bali .pc .text-side-description-primary,
#hotel-amanpuri .pc .text-side-description-primary,
#hotel-amanpuri .pc .dining-details-content-description,
#hotel-amanpuri .pc .spa-info-description,
#hotel-amanpuri .pc .location-text-description-primary,
#magazine .pc .story-detail-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  width: 100%;
}

#destination-bali .pc .about-img,
#hotel-amanpuri .pc .experience-img,
#about .pc .story-img {
  height: 400px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 580px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destination-bali .pc .act-card,
#destination-bali .pc .tip-card,
#hotel-amanpuri .pc .room-card {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
  padding: 24px;
  position: relative;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#destination-bali .pc .act-img,
#about .pc .value-card-details {
  height: 180px;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destination-bali .pc .hotel-row,
#hotel-amanpuri .pc .dining-split,
#hotel-amanpuri .pc .spa-row {
  align-content: stretch;
  display: flex;
  gap: 48px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .pc .img,
#destination-bali .pc .img-2,
#hotel-amanpuri .pc .spa-img {
  height: 360px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 600px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destination-bali .pc .info,
#destination-bali .pc .info-2,
#destination-bali .pc .story,
#hotel-amanpuri .pc .story,
#magazine .pc .magazine-card,
#magazine .pc .magazine-card-4,
#magazine .pc .magazine-card-5,
#magazine .pc .magazine-card-6,
#magazine-article .pc .related-card {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#destination-bali .pc .stories-grid,
#hotel-amanpuri .pc .stories-grid,
#magazine-article .pc .related-grid {
  align-content: stretch;
  display: grid;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#destination-bali .pc .img-3,
#destination-bali .pc .img-4,
#destination-bali .pc .img-5,
#hotel-amanpuri .pc .img,
#hotel-amanpuri .pc .img-2,
#hotel-amanpuri .pc .img-3,
#magazine .pc .card-img-2,
#magazine .pc .card-img-3,
#magazine .pc .card-img-4,
#magazine .pc .card-img-5,
#magazine .pc .card-img-6 {
  height: 200px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destination-bali .pc .content,
#destination-bali .pc .content-2,
#destination-bali .pc .content-3,
#hotel-amanpuri .pc .content,
#hotel-amanpuri .pc .content-2,
#hotel-amanpuri .pc .content-3,
#magazine-article .pc .card-content {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .pc .story-0-label,
#destination-bali .pc .content-2-label,
#destination-bali .pc .content-3-label,
#hotel-amanpuri .pc .story-0-description,
#hotel-amanpuri .pc .content-2-label,
#hotel-amanpuri .pc .content-3-label,
#magazine-article .pc .card-content-description {
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  letter-spacing: 1px;
  white-space: nowrap;
}

#destination-bali .pc .story-0-description,
#destination-bali .pc .content-2-description,
#destination-bali .pc .content-3-description,
#hotel-amanpuri .pc .story-0-description-primary,
#hotel-amanpuri .pc .content-2-description,
#hotel-amanpuri .pc .content-3-description,
#magazine-article .pc .card-content-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
  width: 100%;
}

:is(#destination-bali, #hotel-amanpuri) .pc .next-inner {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  white-space: nowrap;
  min-width: 0;
}

:is(#destination-bali, #hotel-amanpuri) .pc .next-inner-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  letter-spacing: 3px;
}

:is(#destination-bali, #hotel-amanpuri) .pc .next-inner-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 40px;
  letter-spacing: 4px;
}

:is(#destination-bali, #hotel-amanpuri) .pc .next-inner-link {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
}

#destination-bali .sp .page-hero-label,
#hotel-amanpuri .sp .page-hero-description,
#contact .sp .page-hero-description {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  text-align: center;
  color: #fff;
  letter-spacing: 3px;
  width: 100%;
}

:is(#destination-bali, #hotels, #hotel-amanpuri, #contact) .sp .page-hero-title {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 44px;
  text-align: center;
  color: #fff;
  letter-spacing: 4px;
  width: 100%;
}

:is(#destination-bali, #hotel-amanpuri) .sp .information {
  overflow-wrap: break-word;
  background-color: #f5f7f8;
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  gap: 20px 8px;
  align-items: flex-start;
  line-height: 1.2;
  overflow: clip;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 18px;
  padding-bottom: 18px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

:is(#destination-bali, #hotel-amanpuri) .sp .information-item {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 165px;
  max-width: 100%;
  min-width: 0;
}

:is(#destination-bali, #hotel-amanpuri) .sp .information-item-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 10px;
  letter-spacing: 1px;
  white-space: nowrap;
}

:is(#destination-bali, #hotel-amanpuri) .sp .information-item-description {
  font-family: "Noto Sans JP", sans-serif;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 12px;
  text-align: center;
  width: 100%;
}

#destination-bali .sp .image-and-text,
#hotel-amanpuri .sp .image-and-text,
#hotel-amanpuri .sp .dining-feature,
#hotel-amanpuri .sp .wellness-feature,
#hotel-amanpuri .sp .access-feature,
#about .sp .image-and-text {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 22px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .sp .copy,
#hotel-amanpuri .sp .copy,
#hotel-amanpuri .sp .copy-2,
#hotel-amanpuri .sp .copy-3,
#hotel-amanpuri .sp .copy-4,
#about .sp .copy {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .sp .copy-heading,
#hotel-amanpuri .sp .copy-heading,
#hotel-amanpuri .sp .copy-2-heading,
#hotel-amanpuri .sp .copy-3-heading,
#hotel-amanpuri .sp .copy-4-heading,
#about .sp .copy-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  width: 100%;
}

#destination-bali .sp .copy-description,
#hotel-amanpuri .sp .copy-description,
#hotel-amanpuri .sp .copy-2-description,
#hotel-amanpuri .sp .copy-3-description,
#hotel-amanpuri .sp .copy-4-description,
#about .sp .copy-description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.55;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 17px;
  width: 100%;
}

#destination-bali .sp .copy-description-primary,
#hotel-amanpuri .sp .copy-description-primary,
#hotel-amanpuri .sp .copy-2-description-primary,
#hotel-amanpuri .sp .copy-3-description-primary,
#hotel-amanpuri .sp .copy-4-description-primary,
#about .sp .copy-description-primary {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.85;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#destination-bali .sp .panel-card,
#destination-bali .sp .panel-card-2,
#destination-bali .sp .panel-card-3,
#destination-bali .sp .panel-card-4,
#hotel-amanpuri .sp .panel-card,
#hotel-amanpuri .sp .panel-card-2,
#hotel-amanpuri .sp .panel-card-3,
#about .sp .panel-card,
#about .sp .panel-card-2,
#about .sp .panel-card-3 {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start;
  overflow: clip;
  padding: 18px;
  position: relative;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5, 0px 8px 24px 0px rgba(11, 41, 72, 0.07);
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .sp .image-5,
#destination-bali .sp .image-7,
#destination-bali .sp .image-9,
#destination-bali .sp .image-11,
#hotel-amanpuri .sp .image-5,
#hotel-amanpuri .sp .image-7,
#hotel-amanpuri .sp .image-9,
#about .sp .image-5,
#about .sp .image-7,
#about .sp .image-9 {
  height: 175px;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destination-bali .sp .panel-card-description,
#destination-bali .sp .panel-card-2-description,
#destination-bali .sp .panel-card-3-description,
#destination-bali .sp .panel-card-4-description,
#about .sp .panel-card-description,
#about .sp .panel-card-2-description,
#about .sp .panel-card-3-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 15px;
  width: 100%;
}

#destination-bali .sp .panel-card-description-primary,
#destination-bali .sp .panel-card-2-description-primary,
#destination-bali .sp .panel-card-3-description-primary,
#destination-bali .sp .panel-card-4-description-primary,
#about .sp .panel-card-description-primary,
#about .sp .panel-card-2-description-primary,
#about .sp .panel-card-3-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 11px;
  width: 100%;
}

#destination-bali .sp .where-to-stay,
#destination-bali .sp .related-stories,
#hotel-amanpuri .sp .dining,
#hotel-amanpuri .sp .location-and-access,
#magazine .sp .featured-story,
#contact .sp .contact-information {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotels .pc .hotel-list-section,
#magazine .pc .latest-stories-section {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  padding-top: 40px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

.page-content-container--hotel-list {
  gap: 80px;
}

#hotels .pc .hotel-img,
#hotels .pc .hotel-img-2,
#hotels .pc .hotel-img-3,
#hotels .pc .hotel-img-4 {
  height: 420px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 640px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#hotels .pc .hotel-detail-description,
#hotels .pc .hotel-detail-2-description,
#hotels .pc .hotel-detail-3-description,
#hotels .pc .hotel-detail-4-description,
#about .pc .story-text-description-primary,
#about .pc .story-text-description-secondary {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  width: 100%;
}

#hotels .pc .hotel-link,
#hotels .pc .hotel-link-2,
#hotels .pc .hotel-link-3,
#hotels .pc .hotel-link-4,
#error .pc .cta-group {
  align-content: stretch;
  display: flex;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

:is(#hotels, #magazine-article, #about) .sp .banner-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  text-align: center;
  color: #fff;
  letter-spacing: 3px;
  width: 100%;
}

:is(#hotels, #magazine-article, #about) .sp .banner-heading {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.45;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 22px;
  text-align: center;
  color: #fff;
  width: 100%;
}

#hotel-amanpuri .pc .the-experience,
#hotel-amanpuri .pc .dining,
#hotel-amanpuri .pc .location,
#magazine-article .pc .article-body {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotel-amanpuri .pc .rooms-grid,
#magazine .pc .grid-row-2,
#about .pc .values-grid {
  align-content: stretch;
  display: grid;
  gap: 32px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#magazine .pc .featured-story-section,
#magazine-article .pc .article-header {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 40px;
  padding-top: 80px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

.page-content-container--spacious {
  gap: 64px;
}

#magazine .pc .magazine-card-2,
#magazine .pc .magazine-card-3,
#magazine-article .pc .inline-photo,
#privacy-policy .pc .section-1,
#privacy-policy .pc .section-5,
#privacy-policy .pc .section-6 {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .sp .page-hero-title {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 44px;
  text-align: center;
  letter-spacing: 4px;
  width: 100%;
}

#magazine .sp .rule {
  background-color: #2a9db0;
  height: 1px;
  position: relative;
  flex-shrink: 0;
  width: 72px;
}

#magazine .sp .page-hero-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 14px;
  text-align: center;
  width: 100%;
}

#about .pc .our-story-section {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 104px;
  padding-bottom: 104px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

@media (min-width: 1025px) and (max-width: 1200px) {
  .pc .header-inner {
    min-height: 80px;
    height: auto;
  }
  .pc header nav {
    gap: clamp(12px, 2vw, 24px);
    font-size: 13px;
  }
  .pc header [class*=header-inner] {
    padding-inline: 24px;
    gap: 16px;
  }
  .pc header [class*=header-right] {
    gap: 12px;
  }
  .pc header .cta-button {
    padding-inline: 16px;
  }
  .pc .page-content-container,
  .pc [class*=inner-layout] {
    width: 100%;
  }
  .pc [class*=style-grid] {
    gap: 16px;
  }
  .pc [class*=travel-style-card] img {
    width: min(100%, 120px);
    height: auto;
  }
  .pc [class*=input-group] {
    flex-basis: 200px;
  }
  .pc [class*=side-stories] {
    width: 35%;
  }
  .pc [class*=side-story] {
    flex-wrap: wrap;
  }
  .pc [class*=side-story-img] {
    width: 100%;
    height: 160px;
  }
  .pc [class*=hotel-img] {
    width: 56%;
  }
  .pc [class*=hotel-asymmetric] {
    gap: 32px;
  }
  .pc [class*=dest-right-stack] {
    width: 40%;
  }
  .pc [class*=filter] {
    flex-wrap: wrap;
  }
  .pc [class*=hero-inner] {
    padding-inline: 24px;
    white-space: normal;
  }
  .pc h1 {
    overflow-wrap: anywhere;
  }
}
@media (min-width: 600px) and (max-width: 1024px) {
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .header {
    height: 72px;
    padding-inline: clamp(32px, 6vw, 64px);
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .main > section {
    padding-left: clamp(32px, 6vw, 64px);
    padding-right: clamp(32px, 6vw, 64px);
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .page-hero,
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .banner,
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp [class*=hero] {
    background-position: center;
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp :is(.image-3, .image-5, .image-7, .image-9, .image-11, .image-15, .image-17, .image-19, .image-21, .map) {
    height: clamp(260px, 40vw, 360px);
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr);
    gap: 36px 64px;
    padding: 56px clamp(32px, 6vw, 64px) 32px;
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .footer-links,
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .divider,
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .copyright-row {
    grid-column: 1/-1;
  }
  :is(#home, #destinations, #destination-bali, #hotels, #hotel-amanpuri, #magazine, #magazine-article, #about, #privacy-policy, #contact, #error) .sp .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .sp [class*=style-grid] {
    gap: 26px 18px;
  }
  .sp [class*=travel-style-card] {
    width: 100%;
  }
  .sp [class*=travel-style-card] img {
    max-width: 100%;
  }
  .sp [class*=copyright] {
    white-space: normal;
  }
}
#magazine .page-hero--photo {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
#magazine .page-hero--photo::after {
  background: rgba(11, 41, 72, 0.42);
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
}
#magazine .page-hero--photo .page-hero__image {
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  width: 100%;
}
#magazine .page-hero--photo :is(.hero-text, .page-hero-title, .page-hero-description, .rule) {
  position: relative;
  z-index: 1;
}
#magazine .page-hero--photo :is(.hero-text-title, .hero-text-description, .page-hero-title, .page-hero-description) {
  color: #fff;
}

#home .pc .hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 680px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.25), rgba(11, 41, 72, 0.25)), url("../images/top-hero.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .hero-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#home .pc .hero-inner-title {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 52px;
  text-align: center;
  color: #fff;
  letter-spacing: 4px;
  width: 100%;
}

#home .pc .hero-inner-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  position: relative;
  flex-shrink: 1;
  font-size: 18px;
  text-align: center;
  color: #fff;
  letter-spacing: 1px;
  width: 640px;
  max-width: 100%;
}

#home .pc .chevron-right {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

#home .pc .travel-styles {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  padding-top: 24px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .style-grid {
  align-content: stretch;
  display: grid;
  gap: 48px;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

#home .pc .travel-style-card {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  max-width: 100%;
  min-width: 0;
}
#home .pc .travel-style-card > img {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  max-width: 100%;
  object-fit: contain;
}
#home .pc .travel-style-card > div {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}
#home .pc .travel-style-card > div > p:first-child {
  flex-shrink: 0;
  color: #172a3a;
  font: 700 16px/2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 1px;
}
#home .pc .travel-style-card > div > p:last-child {
  flex-shrink: 0;
  color: #667784;
  font: 400 12px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
}
#home .sp .travel-style-card {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 96px;
  min-width: 0;
}
#home .sp .travel-style-card > img {
  flex-shrink: 0;
  width: 86px;
  height: 86px;
  object-fit: contain;
}
#home .sp .travel-style-card > p:first-of-type {
  flex-shrink: 0;
  color: #172a3a;
  overflow-wrap: break-word;
  font: 700 13px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 1px;
  white-space: nowrap;
}
#home .sp .travel-style-card > p:last-child {
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  color: #667784;
  overflow-wrap: break-word;
  font: 400 9px/1.2 "Noto Sans JP", sans-serif;
  text-align: center;
}

#home .pc .destinations-section {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  padding-top: 64px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .destination-editorial-layout {
  align-content: stretch;
  display: flex;
  gap: 32px;
  height: 520px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .dest-left-large {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  height: 100%;
  align-items: flex-start;
  justify-content: flex-end;
  min-width: 0;
  overflow: clip;
  padding: 32px;
  position: relative;
  border-radius: 8px;
  background-image: linear-gradient(rgba(11, 41, 72, 0.2), rgba(11, 41, 72, 0.2)), url("../images/top-dest-left-large.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .text-overlay {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  width: 100%;
  min-width: 0;
}

#home .pc .text-overlay-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 40px;
  letter-spacing: 2px;
  white-space: nowrap;
}

#home .pc .text-overlay-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 16px;
  width: 100%;
}

#home .pc .dest-right-stack {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 480px;
  max-width: 100%;
  min-width: 0;
}

#home .pc .dest-small-0 {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 0;
  overflow: clip;
  padding: 24px;
  position: relative;
  border-radius: 8px;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/top-dest-small0.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .text-overlay-2,
#home .pc .text-overlay-3 {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  width: 100%;
  min-width: 0;
}

#home .pc .text-overlay-2-heading,
#home .pc .text-overlay-3-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  font-size: 28px;
  letter-spacing: 2px;
  white-space: nowrap;
}

#home .pc .text-overlay-2-description,
#home .pc .text-overlay-3-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  width: 100%;
}

#home .pc .dest-small-1 {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 0;
  overflow: clip;
  padding: 24px;
  position: relative;
  border-radius: 8px;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/top-dest-small1.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .main-story {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
  align-self: stretch;
}

#home .pc .story-meta {
  align-content: stretch;
  display: flex;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  white-space: nowrap;
  min-width: 0;
}

#home .pc .story-meta-description-primary,
#home .pc .side-story-meta-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #667784;
}

#home .pc .story-content-details {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 0;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  width: 100%;
}

#home .pc .story-content-details-description {
  line-height: 1.4;
  margin-bottom: 0;
}

#home .pc .story-content-details-description-primary {
  line-height: 1.4;
}

#home .pc .side-story {
  align-content: stretch;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .pc .side-story-img {
  border-radius: 4px;
  flex-shrink: 0;
  width: 140px;
  height: 140px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#home .pc .side-story-content {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#home .pc .side-story-meta {
  align-content: stretch;
  display: flex;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  white-space: nowrap;
  min-width: 0;
}

#home .pc .side-story-content-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  min-width: 0;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  text-overflow: ellipsis;
  width: 100%;
}

#home .pc .hotel-names {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  width: 100%;
  min-width: 0;
}

#home .pc .hotel-names-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 32px;
  width: 100%;
}

#home .pc .hotel-names-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  font-size: 20px;
  width: 100%;
}

#home .pc .hotel-detail-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  width: 100%;
}

#home .pc .hotel-link {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#home .pc .inspiration-banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 460px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.45), rgba(11, 41, 72, 0.45)), url("../images/top-inspiration-banner.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .quote-box-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 44px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#home .pc .quote-box-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 16px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#home .sp .hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 500px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 22px;
  padding-right: 22px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.28), rgba(11, 41, 72, 0.28)), url("../images/top-hero.jpg");
  background-size: cover;
  background-position: center;
}

#home .sp .hero-title {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.45;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 29px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#home .sp .hero-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 13px;
  text-align: center;
  color: #fff;
  width: 100%;
}

#home .sp .travel-styles {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .style-grid {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 26px 18px;
  align-items: flex-start;
  justify-content: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .destination-card {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 7px;
  height: 280px;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: clip;
  padding: 22px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.28), rgba(11, 41, 72, 0.28)), url("../images/top-dest-left-large.jpg");
  background-size: cover;
  background-position: center;
}

#home .sp .destination-card-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 32px;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#home .sp .destination-card-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  position: relative;
  flex-shrink: 0;
  font-size: 11px;
  color: #fff;
  width: 100%;
}

#home .sp .destination-card-2 {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 7px;
  height: 210px;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: clip;
  padding: 22px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.28), rgba(11, 41, 72, 0.28)), url("../images/top-dest-small0.jpg");
  background-size: cover;
  background-position: center;
}

#home .sp .destination-card-2-heading,
#home .sp .destination-card-3-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 26px;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#home .sp .destination-card-3 {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 7px;
  height: 210px;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: clip;
  padding: 22px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.28), rgba(11, 41, 72, 0.28)), url("../images/top-dest-small1.jpg");
  background-size: cover;
  background-position: center;
}

#home .sp .editor-s-pick {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#home .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/top-inspiration-banner.jpg");
  background-size: cover;
  background-position: center;
}

#home .pc .style-grid {
  grid-template-columns: repeat(6, minmax(0, 140px));
  justify-content: center;
}

@media (max-width: 1024px) {
  #home .sp .style-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
  }
}
#destinations .pc .destinations-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 500px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/destinations-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#destinations .pc .filters-area {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .pc .filter-group__label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 12px;
  width: 100px;
  max-width: 100%;
}

#destinations .pc .editorial-grid {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 80px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .pc .grid-row-1 {
  align-content: stretch;
  display: flex;
  height: 420px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .pc .card-greece {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  height: 100%;
  align-items: flex-start;
  justify-content: flex-end;
  min-width: 0;
  overflow: clip;
  padding: 32px;
  position: relative;
  border-radius: 8px;
  background-image: linear-gradient(rgba(11, 41, 72, 0.25), rgba(11, 41, 72, 0.25)), url("../images/destinations-mobile-image.jpg");
  background-size: cover;
  background-position: center;
}

#destinations .pc .badge,
#destinations .pc .meta,
#destinations .pc .meta-2,
#destinations .pc .meta-3 {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  white-space: nowrap;
  min-width: 0;
}

#destinations .pc .badge-description,
#destinations .pc .badge-label-primary,
#destinations .pc .meta-4-description,
#destinations .pc .meta-4-label-primary {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  color: #fff;
}

#destinations .pc .card-greece-description-details {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 0;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 24px;
  color: #fff;
  width: 100%;
}

#destinations .pc .card-greece-description-details-description {
  line-height: 1.2;
  margin-bottom: 0;
}

#destinations .pc .card-greece-description-details-description-primary {
  line-height: 1.2;
}

#destinations .pc .grid-row-2 {
  align-content: stretch;
  display: grid;
  gap: 32px;
  height: 480px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#destinations .pc .dest-card-small {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#destinations .pc .dest-img {
  height: 260px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#destinations .pc .meta-description,
#destinations .pc .meta-label-primary,
#destinations .pc .meta-2-description,
#destinations .pc .meta-2-label-primary,
#destinations .pc .meta-3-description,
#destinations .pc .meta-3-label-primary {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  color: #667784;
}

#destinations .pc .dest-info-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 18px;
  width: 100%;
}

#destinations .pc .grid-row-3 {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 380px;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: clip;
  padding: 48px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.25), rgba(11, 41, 72, 0.25)), url("../images/destinations-mobile-image4.jpg");
  background-size: cover;
  background-position: center;
}

#destinations .pc .overlay {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .pc .meta-4 {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  white-space: nowrap;
  min-width: 0;
}

#destinations .pc .meta-4-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  letter-spacing: 1.5px;
}

#destinations .pc .overlay-heading {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 28px;
  color: #fff;
  width: 100%;
}

#destinations .pc .large-cta {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 400px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/destinations-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#destinations .pc .cta-content {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  text-align: center;
  color: #fff;
  min-width: 0;
}

#destinations .pc .cta-content-heading {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 32px;
  white-space: nowrap;
}

#destinations .pc .cta-content-label {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  position: relative;
  flex-shrink: 1;
  font-size: 16px;
  width: 480px;
  max-width: 100%;
}

#destinations .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 350px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/destinations-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#destinations .sp .destination-stories {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 34px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destinations .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/destinations-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#destination-bali .pc .bali-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 640px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/destination-bali-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#destination-bali .pc .kicker {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

#destination-bali .pc .kicker-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 16px;
  letter-spacing: 4px;
}

#destination-bali .pc .kicker-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 80px;
  text-align: center;
  color: #fff;
  letter-spacing: 8px;
}

#destination-bali .pc .info-bar-section {
  background-color: rgba(0, 0, 0, 0);
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .pc .info-item,
#destination-bali .pc .info-item-4 {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  font-weight: 700;
  gap: 8px;
  align-items: center;
  min-width: 0;
  position: relative;
}

#destination-bali .pc .info-item-label,
#destination-bali .pc .info-item-4-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  letter-spacing: 1px;
}

#destination-bali .pc .info-item-description,
#destination-bali .pc .info-item-4-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
}

#destination-bali .pc .editorial-activity-grid {
  align-content: stretch;
  display: grid;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#destination-bali .pc .act-card-description-number {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 14px;
  white-space: nowrap;
}

#destination-bali .pc .act-card-description-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#destination-bali .pc .hotel-rows {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .pc .info-heading,
#destination-bali .pc .info-2-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  white-space: nowrap;
}

#destination-bali .pc .info-description,
#destination-bali .pc .info-2-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 18px;
  width: 100%;
}

#destination-bali .pc .info-description-primary,
#destination-bali .pc .info-2-description-primary {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
  width: 100%;
}

#destination-bali .pc .btn,
#destination-bali .pc .btn-2 {
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #2a9db0;
}

#destination-bali .pc .btn-label,
#destination-bali .pc .btn-2-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  white-space: nowrap;
}

#destination-bali .pc .tips-grid {
  align-content: stretch;
  display: grid;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#destination-bali .pc .tip-card-0-description,
#destination-bali .pc .tip-card-1-description,
#destination-bali .pc .tip-card-2-description,
#destination-bali .pc .tip-card-3-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 14px;
  white-space: nowrap;
}

#destination-bali .pc .tip-card-details {
  background-color: #2a9db0;
  height: 1px;
  position: relative;
  flex-shrink: 0;
  width: 30px;
}

#destination-bali .pc .tip-card-description-primary {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#destination-bali .pc .tip-card-4-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 14px;
  white-space: nowrap;
}

#destination-bali .pc .next-destination {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 320px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.4), rgba(11, 41, 72, 0.4)), url("../images/destination-bali-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#destination-bali .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 430px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/destination-bali-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#destination-bali .sp .panel-card-5,
#destination-bali .sp .panel-card-6,
#destination-bali .sp .panel-card-7,
#destination-bali .sp .panel-card-8,
#destination-bali .sp .panel-card-9 {
  overflow-wrap: break-word;
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start;
  overflow: clip;
  padding: 18px;
  position: relative;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5, 0px 8px 24px 0px rgba(11, 41, 72, 0.07);
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#destination-bali .sp .panel-card-5-description,
#destination-bali .sp .panel-card-6-description,
#destination-bali .sp .panel-card-7-description,
#destination-bali .sp .panel-card-8-description,
#destination-bali .sp .panel-card-9-description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 15px;
  width: 100%;
}

#destination-bali .sp .panel-card-5-description-primary,
#destination-bali .sp .panel-card-6-description-primary,
#destination-bali .sp .panel-card-7-description-primary,
#destination-bali .sp .panel-card-8-description-primary,
#destination-bali .sp .panel-card-9-description-primary {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 11px;
  width: 100%;
}

#destination-bali .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/destination-bali-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

.travel-detail {
  color: #172a3a;
}
.travel-detail .section-shell {
  margin: 0 auto;
  max-width: 1200px;
  width: calc(100% - 48px);
}
.travel-detail__hero {
  align-items: center;
  background: linear-gradient(rgba(11, 41, 72, 0.38), rgba(11, 41, 72, 0.38)), var(--hero-image) center/cover;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 640px;
  justify-content: center;
  text-align: center;
}
.travel-detail__hero h1 {
  font: 400 80px/1.1 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 8px;
  margin: 4px 0 16px;
}
.travel-detail__country {
  color: #2a9db0;
  font: 700 16px/1.5 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 4px;
}
.travel-detail__rule {
  background: #2a9db0;
  height: 2px;
  margin-bottom: 18px;
  width: 120px;
}
.travel-detail__tagline {
  font: 700 20px/1.6 "Noto Sans JP", sans-serif;
  letter-spacing: 2px;
}
.travel-detail__facts {
  background: #f5f7f8;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 22px 48px;
}
.travel-detail__introduction {
  align-items: center;
  display: grid;
  gap: 64px;
  grid-template-columns: 1fr 1fr;
  padding-bottom: 80px;
  padding-top: 80px;
}
.travel-detail__introduction img {
  border-radius: 8px;
  height: 400px;
  object-fit: cover;
  width: 100%;
}
.travel-detail__introduction-copy h2 {
  font: 400 30px/1.3 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 2px;
  margin-bottom: 18px;
}
.travel-detail__introduction-copy h3 {
  font: 700 18px/1.65 "Noto Sans JP", sans-serif;
  margin-bottom: 24px;
}
.travel-detail__introduction-copy p {
  color: #667784;
  font: 400 14px/1.9 "Noto Sans JP", sans-serif;
}

.travel-fact {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.travel-fact span {
  color: #667784;
  font: 700 11px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 1px;
}
.travel-fact strong {
  font: 700 15px/1.5 "Noto Sans JP", sans-serif;
}

.travel-section {
  padding: 80px 0;
}
.travel-section--surface {
  background: #f5f7f8;
}
.travel-section__heading {
  margin-bottom: 32px;
}
.travel-section__heading h2 {
  font: 400 36px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 5px;
}
.travel-section__heading p {
  color: #667784;
  font: 500 13px/1.6 "Noto Sans JP", sans-serif;
  margin-top: 8px;
}
.travel-section__heading span {
  background: #2a9db0;
  display: block;
  height: 2px;
  margin-top: 12px;
  width: 60px;
}

.travel-card-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
}

.travel-card {
  background: #fff;
  border: 1px solid #d9e1e5;
  border-radius: 8px;
  padding: 18px;
}
.travel-card img {
  border-radius: 5px;
  height: 190px;
  margin-bottom: 16px;
  object-fit: cover;
  width: 100%;
}
.travel-card span {
  color: #2a9db0;
  font: 700 12px/1.2 "Cormorant Garamond", Georgia, serif;
}
.travel-card h3 {
  font: 700 16px/1.5 "Noto Sans JP", sans-serif;
  margin: 10px 0;
}
.travel-card p {
  color: #667784;
  font: 400 12px/1.7 "Noto Sans JP", sans-serif;
}

.travel-feature-list {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.travel-feature {
  align-items: center;
  display: grid;
  gap: 48px;
  grid-template-columns: 1.05fr 0.95fr;
}
.travel-feature img {
  border-radius: 8px;
  height: 390px;
  object-fit: cover;
  width: 100%;
}
.travel-feature > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.travel-feature span {
  color: #2a9db0;
  font: 700 12px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 1px;
}
.travel-feature h3 {
  font: 700 20px/1.6 "Noto Sans JP", sans-serif;
}
.travel-feature p {
  color: #667784;
  font: 400 13px/1.8 "Noto Sans JP", sans-serif;
}
.travel-feature a {
  border: 1px solid #2a9db0;
  border-radius: 4px;
  color: #2a9db0;
  font: 700 12px/1.2 "Noto Sans JP", sans-serif;
  padding: 9px 22px;
}
.travel-feature--reverse > img {
  order: 2;
}

.travel-tip-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, 1fr);
}
.travel-tip-grid article {
  background: #fff;
  border: 1px solid #d9e1e5;
  border-radius: 8px;
  padding: 22px 18px;
}
.travel-tip-grid h3 {
  font: 700 14px/1.5 "Noto Sans JP", sans-serif;
}
.travel-tip-grid span {
  background: #2a9db0;
  display: block;
  height: 1px;
  margin: 14px 0;
  width: 30px;
}
.travel-tip-grid p {
  color: #667784;
  font: 400 12px/1.7 "Noto Sans JP", sans-serif;
}

.travel-story-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
.travel-story-grid article img {
  border-radius: 8px;
  height: 250px;
  margin-bottom: 14px;
  object-fit: cover;
  width: 100%;
}
.travel-story-grid article span {
  color: #2a9db0;
  font: 700 12px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 1px;
}
.travel-story-grid article h3 {
  color: #172a3a;
  font: 700 15px/1.7 "Noto Sans JP", sans-serif;
  margin-top: 10px;
}

.travel-next {
  align-items: center;
  background: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), var(--next-image) center/cover;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 320px;
  justify-content: center;
  text-align: center;
}
.travel-next p {
  color: #2a9db0;
  font: 700 13px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 2px;
}
.travel-next h2 {
  font: 400 54px/1.2 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 6px;
  margin: 14px 0;
}
.travel-next a {
  color: #fff;
  font: 700 14px/1.5 "Noto Sans JP", sans-serif;
}

.sp .travel-detail .section-shell {
  width: calc(100% - 40px);
}
.sp .travel-detail__hero {
  height: 430px;
  padding: 0 20px;
}
.sp .travel-detail__hero h1 {
  font-size: 48px;
  letter-spacing: 5px;
}
.sp .travel-detail__country {
  font-size: 12px;
}
.sp .travel-detail__rule {
  height: 1px;
  margin-bottom: 12px;
  width: 72px;
}
.sp .travel-detail__tagline {
  font-size: 14px;
  letter-spacing: 1px;
}
.sp .travel-detail__facts {
  gap: 0;
  grid-template-columns: repeat(2, 1fr);
  padding: 20px;
  width: 100%;
}
.sp .travel-detail__introduction {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 48px 0;
}
.sp .travel-detail__introduction-copy h2 {
  font-size: 26px;
}
.sp .travel-detail__introduction-copy h3 {
  font-size: 16px;
}
.sp .travel-detail__introduction-copy p {
  font-size: 12px;
}
.sp .travel-detail__introduction img {
  height: 250px;
}

.sp .travel-fact {
  border-bottom: 1px solid #d9e1e5;
  padding: 14px 4px;
}

.sp .travel-section {
  padding: 48px 0;
}
.sp .travel-section__heading {
  margin-bottom: 24px;
}
.sp .travel-section__heading h2 {
  font-size: 26px;
  letter-spacing: 3px;
}
.sp .travel-section__heading p {
  font-size: 11px;
}
.sp .travel-section__heading span {
  width: 48px;
}

.sp .travel-card-grid, .sp .travel-tip-grid, .sp .travel-story-grid {
  grid-template-columns: 1fr;
}

.sp .travel-card img {
  height: 220px;
}

.sp .travel-feature {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.sp .travel-feature img {
  height: 250px;
}
.sp .travel-feature h3 {
  font-size: 17px;
}
.sp .travel-feature--reverse > img {
  order: 0;
}

.sp .travel-story-grid article img {
  height: 220px;
}

.sp .travel-next {
  height: 300px;
  padding: 0 20px;
}
.sp .travel-next h2 {
  font-size: 38px;
}
.sp .travel-next a {
  font-size: 12px;
}

#hotels .pc .hotels-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 560px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/hotels-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#hotels .pc .filters-area {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotels .pc .filter-group__label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 14px;
  letter-spacing: 1px;
  width: 100px;
  max-width: 100%;
}

#hotels .pc .hotel-names-heading,
#hotels .pc .hotel-names-2-heading,
#hotels .pc .hotel-names-3-heading,
#hotels .pc .hotel-names-4-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 36px;
  width: 100%;
}

#hotels .pc .hotel-names-details {
  align-content: stretch;
  display: flex;
  gap: 16px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#hotels .pc .hotel-names-details-description,
#hotels .pc .hotel-names-2-details-description,
#hotels .pc .hotel-names-3-details-description,
#hotels .pc .hotel-names-4-details-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 14px;
  letter-spacing: 1px;
  white-space: nowrap;
}

#hotels .pc .hotel-names-details-details {
  background-color: #d9e1e5;
  height: 12px;
  position: relative;
  flex-shrink: 0;
  width: 1px;
}

#hotels .pc .hotel-names-details-description-primary,
#hotels .pc .hotel-names-4-details-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 18px;
  white-space: nowrap;
}

#hotels .pc .inspiration-banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 460px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.45), rgba(11, 41, 72, 0.45)), url("../images/hotels-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#hotels .pc .quote-box-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 44px;
  text-align: center;
  color: #fff;
  letter-spacing: 3px;
  white-space: nowrap;
}

#hotels .pc .quote-box-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#hotels .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 380px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/hotels-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#hotels .sp .hotel-filters {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotels .sp .hotel-list {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotels .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/hotels-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

@media (min-width: 1025px) and (max-width: 1200px) {
  #hotels .pc .hotel-names-details {
    flex-wrap: wrap;
    width: 100%;
  }
  #hotels .pc .hotel-names-details > * {
    white-space: normal;
    max-width: 100%;
  }
}
#hotels .pc .hotel-names-details {
  flex-wrap: wrap;
  width: 100%;
}
#hotels .pc .hotel-names-details > * {
  white-space: normal;
  max-width: 100%;
}

#hotel-amanpuri .pc .hotel-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 680px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/hotel-amanpuri-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#hotel-amanpuri .pc .kicker {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  white-space: nowrap;
  min-width: 0;
}

#hotel-amanpuri .pc .kicker-description {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 2;
  position: relative;
  flex-shrink: 0;
  font-size: 16px;
  letter-spacing: 4px;
}

#hotel-amanpuri .pc .kicker-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 80px;
  text-align: center;
  letter-spacing: 8px;
}

#hotel-amanpuri .pc .info-bar-section {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#hotel-amanpuri .pc .room-img {
  height: 220px;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#hotel-amanpuri .pc .room-card-description {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 20px;
  white-space: nowrap;
}

#hotel-amanpuri .pc .room-card-description-primary {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#hotel-amanpuri .pc .dining-img {
  height: 420px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 580px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#hotel-amanpuri .pc .dining-details {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#hotel-amanpuri .pc .dining-details-content-heading,
#hotel-amanpuri .pc .spa-info-heading {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  white-space: nowrap;
}

#hotel-amanpuri .pc .location-text-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 18px;
  white-space: nowrap;
}

#hotel-amanpuri .pc .map-placeholder {
  height: 300px;
  border-radius: 8px;
  flex-shrink: 1;
  width: 600px;
  max-width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#hotel-amanpuri .pc .next-hotel {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 320px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.4), rgba(11, 41, 72, 0.4)), url("../images/hotel-amanpuri-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#hotel-amanpuri .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 440px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/hotel-amanpuri-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#hotel-amanpuri .sp .panel-card-description,
#hotel-amanpuri .sp .panel-card-2-description,
#hotel-amanpuri .sp .panel-card-3-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 15px;
  width: 100%;
}

#hotel-amanpuri .sp .panel-card-description-primary,
#hotel-amanpuri .sp .panel-card-2-description-primary,
#hotel-amanpuri .sp .panel-card-3-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.75;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 11px;
  width: 100%;
}

#hotel-amanpuri .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/hotel-amanpuri-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

.hotel-detail-page .travel-detail__hero {
  height: 680px;
}
.hotel-detail-page .travel-card-grid--three {
  grid-template-columns: repeat(3, 1fr);
}
.hotel-detail-page .travel-card img {
  height: 220px;
}
.hotel-detail-page .travel-card h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
}
.hotel-detail-page .travel-feature h3 {
  font: 700 24px/1.3 "Cormorant Garamond", Georgia, serif;
}

.sp .hotel-detail-page .travel-detail__hero {
  height: 440px;
}
.sp .hotel-detail-page .travel-card-grid--three {
  grid-template-columns: 1fr;
}
.sp .hotel-detail-page .travel-card img {
  height: 220px;
}
.sp .hotel-detail-page .travel-feature h3 {
  font: 700 18px/1.5 "Cormorant Garamond", Georgia, serif;
}

#magazine .pc .magazine-hero {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 320px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .pc .hero-text {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 1;
  text-align: center;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

#magazine .pc .hero-text-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  font-size: 64px;
  letter-spacing: 6px;
  white-space: nowrap;
}

#magazine .pc .hero-text-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #fff;
  font-size: 18px;
  letter-spacing: 2px;
  width: 100%;
}

#magazine .pc .section-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 32px;
}

#magazine .pc .section-label-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  letter-spacing: 4px;
  margin-bottom: 8px;
  white-space: nowrap;
}

#magazine .pc .story-grid {
  align-content: stretch;
  display: flex;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .pc .meta,
#magazine .pc .story-meta,
#magazine .pc .story-meta-2,
#magazine .pc .story-meta-3,
#magazine .pc .story-meta-4,
#magazine .pc .story-meta-5,
#magazine .pc .story-meta-6 {
  align-content: stretch;
  display: flex;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

#magazine .pc .meta-description,
#magazine .pc .story-meta-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  letter-spacing: 1px;
}

#magazine .pc .meta-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
}

#magazine .pc .story-detail-heading {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 28px;
  width: 100%;
}

#magazine .pc .story-detail-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
  white-space: nowrap;
}

#magazine .pc .category-tabs-section {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 40px;
  padding-bottom: 40px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .pc .filter-options {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .pc .col-large,
#magazine .pc .col-3,
#magazine .pc .col-3-2,
#magazine .pc .col-3-3 {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#magazine .pc .story-meta-description,
#magazine .pc .story-meta-2-description,
#magazine .pc .story-meta-3-description,
#magazine .pc .story-meta-4-description,
#magazine .pc .story-meta-5-description,
#magazine .pc .story-meta-6-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
}

#magazine .pc .story-content-heading {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 24px;
  width: 100%;
}

#magazine .sp .page-hero {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 260px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .sp .filters {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: clip;
  padding: 18px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#magazine .sp .latest-stories {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 36px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine .sp .featured-story > .section-intro,
#magazine .sp .latest-stories > .section-intro {
  margin-bottom: 24px;
}

#magazine-article .pc .inner-title-area {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 900px;
  max-width: 100%;
  min-width: 0;
}

#magazine-article .pc .category-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 12px;
  letter-spacing: 1.5px;
  white-space: nowrap;
}

#magazine-article .pc .inner-title-area-title {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 36px;
  text-align: center;
  width: 100%;
}

#magazine-article .pc .meta-row {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  white-space: nowrap;
  min-width: 0;
}

#magazine-article .pc .meta-row-description,
#magazine-article .pc .meta-row-item {
  font-style: normal;
  position: relative;
  flex-shrink: 0;
}

#magazine-article .pc .meta-row-description-primary {
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
}

#magazine-article .pc .article-hero-image {
  height: 640px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .pc .body-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 720px;
  max-width: 100%;
  min-width: 0;
}

#magazine-article .pc .body-content-description,
#magazine-article .pc .body-content-description-primary,
#magazine-article .pc .body-content-description-secondary,
#magazine-article .pc .body-content-description-supporting {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 17px;
  width: 100%;
}

#magazine-article .pc .inline-photo-content {
  height: 450px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .pc .inline-photo-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
  text-align: center;
  width: 100%;
}

#magazine-article .pc .photo-pair {
  align-content: stretch;
  display: flex;
  gap: 24px;
  height: 320px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine-article .pc .pair-left,
#magazine-article .pc .pair-right {
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  align-items: flex-start;
  min-width: 0;
  position: relative;
}

#magazine-article .pc .pair-left-content,
#magazine-article .pc .pair-right-content {
  flex: 1 0 0;
  min-height: 0;
  border-radius: 6px;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .pc .pair-left-description,
#magazine-article .pc .pair-right-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#magazine-article .pc .pull-quote {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}

#magazine-article .pc .pull-quote-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 28px;
  text-align: center;
  width: 100%;
}

#magazine-article .pc .section-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#magazine-article .pc .section-header-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 32px;
  letter-spacing: 3px;
  white-space: nowrap;
}

#magazine-article .pc .related-card-details {
  height: 220px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .pc .explore-destination-banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 360px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), url("../images/magazine-article-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#magazine-article .pc .banner-content-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  color: #fff;
  letter-spacing: 4px;
  white-space: nowrap;
}

#magazine-article .pc .banner-content-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 48px;
  color: #fff;
  letter-spacing: 6px;
  white-space: nowrap;
}

#magazine-article .pc .link-btn {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 32px;
  padding-right: 32px;
  padding-top: 16px;
  padding-bottom: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#magazine-article .sp .article-header {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 44px;
  padding-bottom: 44px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine-article .sp .category {
  background-color: #eaf5f7;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  overflow: clip;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 7px;
  padding-bottom: 7px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#magazine-article .sp .article-header-title {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 25px;
  text-align: center;
  width: 100%;
}

#magazine-article .sp .article-header-description,
#magazine-article .sp .photo-pair-description,
#magazine-article .sp .photo-pair-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 10px;
  white-space: nowrap;
}

#magazine-article .sp .article-hero-image {
  height: 280px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .sp .article-body {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine-article .sp .article-body-description,
#magazine-article .sp .article-body-description-secondary,
#magazine-article .sp .article-body-description-supporting,
#magazine-article .sp .article-body-description-detail {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.85;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  width: 100%;
}

#magazine-article .sp .blue-dome-image,
#magazine-article .sp .sunset-image {
  height: 250px;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#magazine-article .sp .article-body-description-primary {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 10px;
  text-align: center;
  width: 100%;
}

#magazine-article .sp .photo-pair {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#magazine-article .sp .pull-quote {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: clip;
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}

#magazine-article .sp .pull-quote-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.4;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 24px;
  text-align: center;
  width: 100%;
}

#magazine-article .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/magazine-article-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#magazine-article .magazine-related-link {
  color: inherit;
  text-decoration: none;
}
#magazine-article .pc .explore-destination-banner {
  background-image: linear-gradient(rgba(11, 41, 72, 0.3), rgba(11, 41, 72, 0.3)), var(--explore-image);
}
#magazine-article .sp .magazine-explore-banner {
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), var(--explore-image);
}
#magazine-article .sp .magazine-related-image {
  border-radius: 8px;
  height: 220px;
  object-fit: cover;
  width: 100%;
}
#magazine-article .wp-entry-content blockquote {
  border-block: 1px solid #d9e1e5;
  color: #0b2948;
  font: 400 28px/1.5 "Cormorant Garamond", Georgia, serif;
  margin-block: 40px;
  padding: 28px 20px;
  text-align: center;
}
#magazine-article .wp-entry-content figcaption {
  color: #667784;
  font-size: 12px;
  margin-top: 8px;
  text-align: center;
}
#magazine-article .wp-entry-content .wp-block-gallery {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#magazine-article .wp-entry-content .wp-block-gallery > .wp-block-image {
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  margin: 0;
  max-width: none;
  min-width: 0;
  width: 100% !important;
}
#magazine-article .wp-entry-content .wp-block-gallery > .wp-block-image img {
  aspect-ratio: 1.24/1;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
#magazine-article .wp-entry-content .wp-block-gallery > .wp-block-image figcaption {
  background: none;
  color: #667784;
  max-height: none;
  min-height: 1.5em;
  overflow: visible;
  padding: 0;
  position: static;
  width: 100%;
}
#magazine-article .sp .wp-entry-content blockquote {
  font-size: 22px;
}
#magazine-article .sp .wp-entry-content .wp-block-gallery {
  grid-template-columns: 1fr;
}

#about .pc .values-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#about .pc .about-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 540px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/about-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#about .pc .hero-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 1000px;
  max-width: 100%;
  min-width: 0;
}

#about .pc .hero-inner-title {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 64px;
  text-align: center;
  color: #fff;
  letter-spacing: 6px;
  white-space: nowrap;
}

#about .pc .hero-inner-heading {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  font-size: 22px;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
  width: 100%;
}

#about .pc .story-inner {
  align-content: stretch;
  display: flex;
  gap: 64px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#about .pc .section-title {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#about .pc .section-title-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 36px;
  letter-spacing: 3px;
  white-space: nowrap;
}

#about .pc .story-text-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 20px;
  width: 100%;
}

#about .pc .our-values-section {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  padding-top: 104px;
  padding-bottom: 104px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#about .pc .section-header {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#about .pc .section-header-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 36px;
  text-align: center;
  letter-spacing: 4px;
  white-space: nowrap;
}

#about .pc .section-header-description {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 14px;
  text-align: center;
  white-space: nowrap;
}

#about .pc .value-card {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  min-width: 0;
  padding: 32px;
  position: relative;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#about .pc .value-card-description-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 20px;
  letter-spacing: 1px;
  white-space: nowrap;
}

#about .pc .explore-the-world-banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 480px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.4), rgba(11, 41, 72, 0.4)), url("../images/about-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#about .pc .banner-content-label {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  line-height: 2;
  position: relative;
  flex-shrink: 0;
  font-size: 16px;
  color: #fff;
  letter-spacing: 4px;
  white-space: nowrap;
}

#about .pc .banner-content-heading {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 32px;
  color: #fff;
  letter-spacing: 2px;
  white-space: nowrap;
}

#about .pc .cta {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 16px;
  padding-bottom: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#about .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 400px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/about-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#about .sp .banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 300px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.42), rgba(11, 41, 72, 0.42)), url("../images/about-mobile-banner.jpg");
  background-size: cover;
  background-position: center;
}

#privacy-policy .pc .header {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  height: 80px;
  align-items: center;
  justify-content: space-between;
  padding-left: 64px;
  padding-right: 64px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 -1px 0 #e2e8f0;
}

#privacy-policy .pc .logo-group {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: baseline;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  white-space: nowrap;
  min-width: 0;
}

#privacy-policy .pc .logo-group > .site-logo {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 28px;
}

#privacy-policy .pc .nav-link {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 10px;
  text-transform: uppercase;
}

#privacy-policy .pc .nav-links {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  gap: 40px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 14px;
  white-space: nowrap;
  min-width: 0;
}

#privacy-policy .pc .cta-button {
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #0b2948;
}

#privacy-policy .pc .hero-area {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 64px;
  padding-right: 64px;
  padding-top: 56px;
  padding-bottom: 56px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#privacy-policy .pc .container {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  white-space: nowrap;
  max-width: 100%;
  min-width: 0;
}

#privacy-policy .pc .group {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  min-width: 0;
}

#privacy-policy .pc .content-body {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 64px;
  padding-right: 64px;
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#privacy-policy .pc .content-container {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

#privacy-policy .pc .separator-container {
  height: 32px;
  flex-shrink: 0;
  width: 100%;
  object-fit: contain;
}

#privacy-policy .sp .policy-hero {
  overflow-wrap: break-word;
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  line-height: 1.2;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 44px;
  padding-bottom: 44px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#privacy-policy .sp .policy-hero-description,
#privacy-policy .sp .policy-hero-date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 10px;
  white-space: nowrap;
}

#privacy-policy .sp .policy-hero-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 34px;
  width: 100%;
}

#privacy-policy .sp .policy-hero-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 20px;
  white-space: nowrap;
}

#privacy-policy .sp .policy-content {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#privacy-policy .sp .policy-content > p:first-child {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  color: #667784;
  overflow-wrap: break-word;
  font: 400 12px/1.85 "Noto Sans JP", sans-serif;
}

#privacy-policy .sp .policy-section {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}
#privacy-policy .sp .policy-section > img:first-child {
  flex-shrink: 0;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  object-fit: fill;
}
#privacy-policy .sp .policy-section__heading {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  gap: 10px;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  font-weight: 700;
  line-height: 1.2;
}
#privacy-policy .sp .policy-section__heading > h2 {
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font: 700 22px/1.2 "Cormorant Garamond", Georgia, serif;
  white-space: nowrap;
}
#privacy-policy .sp .policy-section__heading > p {
  flex: 1 0 0;
  min-width: 0;
  position: relative;
  color: #172a3a;
  font: 700 16px/1.2 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-section > p, #privacy-policy .sp .policy-section__content {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  color: #667784;
  overflow-wrap: break-word;
  font: 400 12px/1.85 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-section__content > p {
  margin-bottom: 0;
  line-height: 1.85;
}
#privacy-policy .sp .policy-section .office {
  overflow-wrap: break-word;
  background: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  overflow: clip;
  padding: 18px;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}
#privacy-policy .sp .policy-section .office > p {
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font: 700 12px/1.2 "Noto Sans JP", sans-serif;
  white-space: nowrap;
}
#privacy-policy .sp .policy-section .office > div {
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  color: #667784;
  font: 400 10px/1.7 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-section .office > div > p {
  margin-bottom: 0;
  line-height: 1.7;
}

#privacy-policy .pc .logo-group > .text {
  color: #0b2948;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
#privacy-policy .pc .nav-links .text {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
#privacy-policy .sp > .header > .text {
  color: #0b2948;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  white-space: nowrap;
}

#privacy-policy .pc .header {
  height: auto;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: normal;
  box-shadow: inset 0 -1px 0 #d9e1e5;
}
#privacy-policy .pc .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1200px, 100%);
  height: 80px;
  padding: 0 24px;
}
#privacy-policy .pc .logo > .text {
  color: #0b2948;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 2px;
}
#privacy-policy .pc .nav .text {
  color: #172a3a;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1px;
}
#privacy-policy .pc .header-right {
  gap: 24px;
}
#privacy-policy .pc .cta-button {
  display: flex;
  align-items: center;
  padding: 8px 24px;
  background-color: #2a9db0;
  box-shadow: none;
}
#privacy-policy .pc .cta-button .cta-button-label {
  color: #fff;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}
#privacy-policy .pc .main .text {
  font-size: inherit;
}

#privacy-policy .main .policy-copy {
  margin: 0;
}
#privacy-policy .main .policy-divider {
  display: block;
  width: 100%;
  height: 32px;
  object-fit: contain;
}
#privacy-policy .pc .hero-area .policy-layout {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #667784;
  font: 400 12px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .hero-area .policy-layout:nth-child(2) {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
#privacy-policy .pc .hero-area h1 {
  color: #0b2948;
  font: 400 44px/1.1 "Cormorant Garamond", Georgia, serif;
}
#privacy-policy .pc .hero-area h2 {
  color: #172a3a;
  font: 700 24px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .content-container {
  gap: 32px;
}
#privacy-policy .pc .content-container > .policy-copy,
#privacy-policy .pc .policy-section > .policy-copy,
#privacy-policy .pc .policy-section__content > .policy-copy {
  color: #667784;
  font: 400 14px/1.7 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .policy-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
#privacy-policy .pc .policy-section__heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
#privacy-policy .pc .policy-section__heading h2 {
  color: #2a9db0;
  font: 700 24px/1.2 "Cormorant Garamond", Georgia, serif;
}
#privacy-policy .pc .policy-section__heading .policy-copy {
  color: #172a3a;
  font: 700 18px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .policy-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 12px;
  color: #667784;
  font: 400 14px/1.7 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .policy-list .policy-copy::first-letter {
  color: #2a9db0;
}
#privacy-policy .pc .office {
  padding: 24px;
}
#privacy-policy .sp .policy-hero > .policy-copy {
  color: #667784;
  font: 400 10px/1.2 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-hero h1 {
  color: #0b2948;
  font: 400 34px/1.2 "Cormorant Garamond", Georgia, serif;
}
#privacy-policy .sp .policy-hero h2 {
  color: #172a3a;
  font: 700 20px/1.2 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-content {
  gap: 32px;
}
#privacy-policy .sp .policy-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}
#privacy-policy .sp .policy-divider {
  height: 1px;
}
#privacy-policy .sp .policy-section__heading {
  display: flex;
  align-items: center;
  gap: 10px;
}
#privacy-policy .sp .policy-section__heading h2 {
  color: #2a9db0;
  font: 700 22px/1.2 "Cormorant Garamond", Georgia, serif;
}
#privacy-policy .sp .policy-section__heading .policy-copy {
  color: #172a3a;
  font: 700 16px/1.2 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-content > .policy-copy,
#privacy-policy .sp .policy-section > .policy-copy,
#privacy-policy .sp .policy-list {
  color: #667784;
  font: 400 12px/1.85 "Noto Sans JP", sans-serif;
}
#privacy-policy .sp .policy-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#privacy-policy .sp .policy-list .policy-copy::first-letter {
  color: #2a9db0;
}

#privacy-policy .pc .policy-section > .policy-layout:first-child {
  display: flex;
  align-items: center;
  gap: 12px;
}
#privacy-policy .pc .policy-section > .policy-layout:first-child h2 {
  color: #2a9db0;
  font: 700 24px/1.2 "Cormorant Garamond", Georgia, serif;
}
#privacy-policy .pc .policy-section > .policy-layout:first-child .policy-copy {
  color: #172a3a;
  font: 700 18px/1.2 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .policy-section > .policy-layout:nth-child(2) {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  color: #667784;
  font: 400 14px/1.7 "Gothic A1", "Noto Sans JP", sans-serif;
}
#privacy-policy .pc .policy-section > .policy-layout:nth-child(2) > .policy-layout {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 12px;
}
#privacy-policy .pc .policy-section > .policy-layout:nth-child(2) > .policy-layout > .policy-layout {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
#privacy-policy .pc .policy-section > .policy-layout:nth-child(2) > .policy-layout > .policy-layout > .policy-copy:first-child {
  color: #2a9db0;
}

#contact .pc .phone,
#contact .pc .mail,
#contact .pc .clock,
#contact .pc .map-pin,
#contact .sp .phone,
#contact .sp .mail,
#contact .sp .clock,
#contact .sp .map-pin {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

#contact .pc .hero-banner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 400px;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.4), rgba(11, 41, 72, 0.4)), url("../images/contact-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#contact .pc .hero-inner {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  white-space: nowrap;
  max-width: 100%;
  min-width: 0;
}

#contact .pc .breadcrumbs {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  font-size: 12px;
  min-width: 0;
}

#contact .pc .breadcrumbs-link {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.7);
}

#contact .pc .breadcrumbs-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.4);
}

#contact .pc .breadcrumbs-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  position: relative;
  flex-shrink: 0;
  color: #fff;
}

#contact .pc .hero-inner-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  font-size: 48px;
  color: #fff;
  letter-spacing: 4px;
}

#contact .pc .hero-inner-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  color: #fff;
  letter-spacing: 2px;
}

#contact .pc .intro-container {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 40px;
  padding-top: 64px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .intro-container-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

#contact .pc .intro-container-content-content {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 16px;
  white-space: nowrap;
}

#contact .pc .intro-container-content-content-description {
  line-height: 1.8;
  margin-bottom: 0;
}

#contact .pc .intro-container-content-content-description-primary {
  line-height: 1.8;
}

#contact .pc .form-info-container {
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-bottom: 80px;
  padding-top: 24px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .inner-layout {
  align-content: stretch;
  display: flex;
  gap: 64px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 1200px;
  max-width: 100%;
  min-width: 0;
}

#contact .pc .contact-form-col {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 28px;
  align-items: flex-start;
  min-width: 0;
  padding: 40px;
  position: relative;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}

#contact .pc .contact-form-col-heading,
#contact .pc .info-block-heading {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 20px;
  width: 100%;
}

#contact .pc .contact-form-col-content-content,
#contact .pc .contact-form-col-content-primary-content,
#contact .pc .contact-form-col-content-secondary-content,
#contact .pc .contact-form-col-content-supporting-content {
  align-content: stretch;
  display: flex;
  gap: 4px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#contact .pc .contact-form-col-content-content-label,
#contact .pc .contact-form-col-content-secondary-content-label,
#contact .pc .contact-form-col-content-supporting-content-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 14px;
  white-space: nowrap;
}

#contact .pc .contact-form-col-content-content-content,
#contact .pc .contact-form-col-content-primary-content-content,
#contact .pc .contact-form-col-content-secondary-content-content,
#contact .pc .contact-form-col-content-supporting-content-content {
  background-color: #ef4444;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  border-radius: 2px;
  flex-shrink: 0;
  min-width: 0;
}

#contact .pc .contact-form-col-content-content-content-label,
#contact .pc .contact-form-col-content-primary-content-content-label,
#contact .pc .contact-form-col-content-secondary-content-content-label,
#contact .pc .contact-form-col-content-supporting-content-content-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 10px;
  color: #fff;
  white-space: nowrap;
}

#contact .pc .contact-form-col-content-content-primary,
#contact .pc .contact-form-col-content-primary-content-primary {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  padding: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  color: #172a3a;
  line-height: 1.2;
  min-height: 50px;
}

#contact .pc .contact-form-col-content-primary-content-label {
  overflow-wrap: break-word;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 14px;
  white-space: nowrap;
}

#contact .pc .contact-form-col-content-secondary-content-primary {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  color: #172a3a;
  line-height: 1.2;
  min-height: 50px;
  appearance: none;
  background-image: url("../images/contact-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
}

#contact .pc .contact-form-col-content-supporting-content-primary {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  height: 160px;
  align-items: flex-start;
  padding: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  color: #172a3a;
  line-height: 1.2;
  min-height: 50px;
  resize: vertical;
}

#contact .pc .privacy-agreement-row {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .checkbox,
#contact .sp .checkbox {
  background-color: #fff;
  position: relative;
  border-radius: 2px;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  appearance: none;
  border: 1px solid #d9e1e5;
}

#contact .pc .privacy-text {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  gap: 2px;
  align-items: center;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 14px;
  white-space: nowrap;
  min-width: 0;
}

#contact .pc .privacy-text-link {
  text-underline-position: from-font;
  text-decoration-thickness: from-font;
  text-decoration-style: solid;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  text-decoration-line: underline;
}

#contact .pc .privacy-text-description {
  font-weight: 400;
  position: relative;
  flex-shrink: 0;
  color: #667784;
}

#contact .pc .submit-btn {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 16px;
  padding-bottom: 16px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .contact-info-col {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 1;
  width: 480px;
  max-width: 100%;
  min-width: 0;
}

#contact .pc .info-block {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .info-block-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .info-block-content-content,
#contact .pc .info-block-content-content-primary,
#contact .pc .info-block-content-content-secondary,
#contact .pc .info-block-content-content-supporting {
  align-content: stretch;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .info-block-content-content-content,
#contact .pc .info-block-content-content-primary-content,
#contact .pc .info-block-content-content-secondary-content,
#contact .pc .info-block-content-content-supporting-content {
  background-color: #eaf5f7;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 20px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  min-width: 0;
}

#contact .pc .info-block-content-content-content-primary,
#contact .pc .info-block-content-content-primary-content-primary,
#contact .pc .info-block-content-content-secondary-content-primary,
#contact .pc .info-block-content-content-supporting-content-primary {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  line-height: 1.2;
  min-width: 0;
  position: relative;
}

#contact .pc .info-block-content-content-content-primary-description,
#contact .pc .info-block-content-content-primary-content-primary-description,
#contact .pc .info-block-content-content-secondary-content-primary-description,
#contact .pc .info-block-content-content-supporting-content-primary-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 12px;
  white-space: nowrap;
}

#contact .pc .info-block-content-content-content-primary-description-primary,
#contact .pc .info-block-content-content-secondary-content-primary-description-primary,
#contact .pc .info-block-content-content-supporting-content-primary-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 500;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 15px;
  width: 100%;
}

#contact .pc .info-block-content-content-primary-content-primary-description-primary {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  min-width: 0;
  font-style: normal;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 15px;
  width: 100%;
}

#contact .pc .map-placeholder {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 240px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  border-radius: 8px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .pc .map-placeholder-content {
  flex: 1 0 0;
  min-height: 0;
  width: 100%;
  object-fit: cover;
  pointer-events: none;
}

#contact .sp .page-hero {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 330px;
  align-items: center;
  justify-content: center;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  background-image: linear-gradient(rgba(11, 41, 72, 0.35), rgba(11, 41, 72, 0.35)), url("../images/contact-mobile-page-hero.jpg");
  background-size: cover;
  background-position: center;
}

#contact .sp .contact-introduction-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 13px;
  text-align: center;
  width: 100%;
}

#contact .sp .contact-form {
  background-color: #f5f7f8;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 22px;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .sp .contact-form-heading {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #0b2948;
  font-size: 18px;
  white-space: nowrap;
}

#contact .sp .field-label {
  align-content: stretch;
  display: flex;
  gap: 5px;
  align-items: flex-start;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#contact .sp .required {
  background-color: #ef4444;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  overflow: clip;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 2px;
  padding-bottom: 2px;
  position: relative;
  border-radius: 2px;
  flex-shrink: 0;
  min-width: 0;
}

#contact .sp .required-label {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  font-size: 9px;
  color: #fff;
  white-space: nowrap;
}

#contact .sp .input,
#contact .sp .input-2,
#contact .sp .input-3 {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  overflow: clip;
  padding: 14px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  color: #172a3a;
  line-height: 1.2;
  min-height: 42px;
}

#contact .sp .input-4 {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  height: 140px;
  align-items: flex-start;
  overflow: clip;
  padding: 14px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  color: #172a3a;
  line-height: 1.2;
  min-height: 42px;
  resize: vertical;
}

#contact .sp .privacy-agreement {
  align-content: stretch;
  display: flex;
  gap: 8px;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .sp .privacy-agreement-description {
  overflow-wrap: break-word;
  flex: 1 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  color: #667784;
  font-size: 11px;
}

#contact .sp .submit {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: clip;
  padding-top: 15px;
  padding-bottom: 15px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .sp .contact-item {
  align-content: stretch;
  display: flex;
  gap: 14px;
  align-items: center;
  overflow: clip;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#contact .sp .icon-background {
  background-color: #eaf5f7;
  align-content: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
  position: relative;
  border-radius: 20px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  min-width: 0;
}

#contact .sp .details {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  line-height: 1.2;
  min-width: 0;
  overflow: clip;
  position: relative;
}

#contact .sp .details-description {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 11px;
  white-space: nowrap;
}

#contact .sp .details-description-primary {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 13px;
  width: 100%;
}

#contact .contact-form-panel {
  background: #f5f7f8;
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 28px;
  min-width: 0;
}
#contact .contact-form-panel__heading {
  color: #0b2948;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
#contact .pc .contact-form-panel {
  padding: 40px;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #d9e1e5;
}
#contact .sp .contact-form-panel {
  width: 100%;
  padding: 48px 20px;
}
#contact .sp .contact-form-panel__heading {
  font-size: 18px;
}
#contact .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
#contact .contact-form__field, #contact .contact-form__label {
  width: 100%;
}
#contact .contact-form__label {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  color: #172a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
#contact .contact-form__required {
  padding: 2px 6px;
  border-radius: 2px;
  background: #ef4444;
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
}
#contact .contact-form__label .wpcf7-form-control-wrap {
  flex-basis: 100%;
  margin-top: 8px;
}
#contact .contact-form__control {
  width: 100%;
  min-height: 50px;
  padding: 16px;
  border: 0;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px #d9e1e5;
  color: #172a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}
#contact .contact-form__textarea {
  height: 160px;
  resize: vertical;
}
#contact .contact-form__agreement {
  color: #667784;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
#contact .contact-form__agreement .wpcf7-list-item {
  margin: 0;
}
#contact .contact-form__agreement label {
  display: flex;
  gap: 8px;
  align-items: center;
}
#contact .contact-form__agreement input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #2a9db0;
}
#contact .contact-form__agreement a {
  color: #2a9db0;
  text-decoration: underline;
}
#contact .contact-form__submit {
  width: 100%;
  padding: 16px;
  border: 0;
  border-radius: 4px;
  background: #2a9db0;
  color: #fff;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}
#contact .contact-form__notice {
  color: #667784;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
}
#contact select.contact-form__control {
  appearance: none;
  background-image: url("../images/contact-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}
#contact .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #ef4444;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
}
#contact .wpcf7 form .wpcf7-response-output {
  margin: 0;
  padding: 12px 16px;
  border-width: 1px;
  border-radius: 4px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  line-height: 1.6;
}
#contact .sp .wpcf7-form {
  gap: 22px;
}
#contact .sp .contact-form__label {
  font-size: 12px;
}
#contact .sp .contact-form__required {
  padding: 2px 5px;
  font-size: 9px;
}
#contact .sp .contact-form__control {
  min-height: 42px;
  padding: 14px;
  font-size: 12px;
}
#contact .sp .contact-form__textarea {
  height: 140px;
}
#contact .sp .contact-form__agreement {
  font-size: 11px;
}
#contact .sp .contact-form__submit {
  padding: 15px;
  font-size: 12px;
}
#contact .details-description-primary a,
#contact .info-block-content-content-primary-content-primary-description-primary a {
  color: inherit;
}

#error .pc .error-main-section {
  background-color: #fff;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 140px;
  padding-top: 120px;
  padding-left: max(24px, (100% - 1200px) / 2);
  padding-right: max(24px, (100% - 1200px) / 2);
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#error .pc .error-content-inner {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  position: relative;
  flex-shrink: 1;
  width: 800px;
  max-width: 100%;
  min-width: 0;
}

#error .pc .decorative-number-wrap {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  min-width: 0;
}

#error .pc .decorative-number-wrap-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 120px;
  opacity: 0.15;
  position: relative;
  flex-shrink: 0;
  color: #2a9db0;
  font-size: 140px;
  letter-spacing: 8px;
  white-space: nowrap;
}

#error .pc .decorative-number-wrap-content {
  background-color: #2a9db0;
  height: 1px;
  opacity: 0.3;
  position: relative;
  flex-shrink: 0;
  width: 40px;
}

#error .pc .message-group {
  overflow-wrap: break-word;
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  text-align: center;
  width: 100%;
  min-width: 0;
}

#error .pc .message-group-title {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 32px;
  letter-spacing: 1px;
  width: 100%;
}

#error .pc .message-group-description {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 16px;
  letter-spacing: 0.5px;
  width: 100%;
}

#error .pc .primary-btn {
  background-color: #2a9db0;
  align-content: stretch;
  display: flex;
  align-items: center;
  padding-left: 32px;
  padding-right: 32px;
  padding-top: 14px;
  padding-bottom: 14px;
  position: relative;
  border-radius: 4px;
  flex-shrink: 0;
  min-width: 0;
}

#error .sp .error-content {
  align-content: stretch;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
  justify-content: center;
  min-height: 620px;
  overflow: clip;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 90px;
  padding-bottom: 90px;
  position: relative;
  flex-shrink: 0;
  width: 100%;
  min-width: 0;
}

#error .sp .error-content-heading {
  overflow-wrap: break-word;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  line-height: 1;
  position: relative;
  flex-shrink: 0;
  font-size: 108px;
  color: rgba(42, 157, 176, 0.15);
  letter-spacing: 8px;
  white-space: nowrap;
}

#error .sp .rule {
  background-color: rgba(42, 157, 176, 0.3);
  height: 1px;
  position: relative;
  flex-shrink: 0;
  width: 40px;
}

#error .sp .error-content-title {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #172a3a;
  font-size: 25px;
  text-align: center;
  width: 100%;
}

#error .sp .error-content-description {
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  min-width: 0;
  position: relative;
  flex-shrink: 0;
  color: #667784;
  font-size: 13px;
  text-align: center;
  width: 100%;
}

.wp-page-content {
  min-height: 50vh;
  padding: 80px max(20px, (100% - 960px) / 2);
}

.wp-entry-content {
  color: #172a3a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.9;
  width: 100%;
}
.wp-entry-content > * + * {
  margin-top: 24px;
}
.wp-entry-content h1, .wp-entry-content h2, .wp-entry-content h3 {
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.4;
}
.wp-entry-content h1 {
  font-size: clamp(30px, 5vw, 48px);
}
.wp-entry-content h2 {
  margin-top: 56px;
  margin-bottom: 24px;
  font-size: clamp(24px, 4vw, 34px);
}
.wp-entry-content h2:first-child {
  margin-top: 0;
}
.wp-entry-content h3 {
  margin-top: 40px;
  margin-bottom: 18px;
  font-size: clamp(20px, 3vw, 26px);
}
.wp-entry-content img {
  border-radius: 8px;
  height: auto;
  width: 100%;
}
.wp-entry-content a {
  color: #2a9db0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#magazine-article .pc .article-body .wp-entry-content {
  width: 800px;
  max-width: 100%;
}
#magazine-article .sp .article-body .wp-entry-content {
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 1024px) {
  .wp-page-content {
    padding-block: 48px;
  }
}
#magazine .wp-featured-story,
#magazine .wp-magazine-card {
  color: inherit;
  text-decoration: none;
}
#magazine .wp-magazine-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 32px;
  width: 100%;
}
#magazine .wp-magazine-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 18px;
}
#magazine .wp-magazine-card__image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
#magazine .wp-magazine-card__title {
  color: #172a3a;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
}
#magazine .wp-magazine-card__excerpt {
  margin-top: 12px;
  color: #667784;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.8;
}
#magazine .wp-empty-state {
  padding: 64px 24px;
  color: #667784;
  text-align: center;
}
#magazine .sp .wp-magazine-card {
  gap: 12px;
}
#magazine .sp .wp-magazine-card__image {
  aspect-ratio: 4/3;
}

.wp-cms-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px 32px;
  width: 100%;
}
.wp-cms-grid--hotels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-cms-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 14px;
  color: inherit;
  text-decoration: none;
}
.wp-cms-card__image {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 8px;
  object-fit: cover;
}
.wp-cms-card__meta, .wp-cms-card__location {
  color: #2a9db0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
}
.wp-cms-card__title {
  color: #172a3a;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
.wp-cms-card__excerpt {
  color: #667784;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.8;
}

.wp-cms-list .wp-cms-card {
  width: 100%;
}

.wp-travel-hero {
  position: relative;
  display: grid;
  min-height: 620px;
  overflow: hidden;
  place-items: end start;
}
.wp-travel-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wp-travel-hero::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 41, 72, 0.08) 30%, rgba(11, 41, 72, 0.78));
  content: "";
}
.wp-travel-hero__overlay {
  position: relative;
  z-index: 1;
  width: min(960px, 100% - 48px);
  margin: 0 auto;
  padding: 80px 0;
  color: #fff;
}
.wp-travel-hero__label {
  margin-bottom: 16px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 14px;
  letter-spacing: 2px;
}
.wp-travel-hero__title {
  max-width: 820px;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.3;
}
.wp-travel-hero__excerpt {
  max-width: 720px;
  margin-top: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.9;
}

.wp-travel-content {
  width: min(800px, 100% - 48px);
  margin: 0 auto;
  padding: 96px 0 120px;
}
.wp-travel-content__terms {
  margin-bottom: 32px;
  color: #2a9db0;
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: 2px;
}
.wp-travel-content__back {
  display: inline-block;
  margin-top: 64px;
  color: #0b2948;
  font-family: "Gothic A1", "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .wp-cms-grid,
  .wp-cms-grid--hotels {
    grid-template-columns: 1fr;
  }
  .wp-cms-card__title {
    font-size: 18px;
  }
  .wp-travel-hero {
    min-height: 520px;
  }
  .wp-travel-hero__overlay {
    width: calc(100% - 40px);
    padding: 48px 0;
  }
  .wp-travel-hero__title {
    font-size: 34px;
  }
  .wp-travel-hero__excerpt {
    font-size: 14px;
  }
  .wp-travel-content {
    width: calc(100% - 40px);
    padding: 64px 0 80px;
  }
}
