@charset "UTF-8";

:root {
  --font-ko-serif: "Noto Serif KR", "AppleMyungjo", "Noto Serif CJK KR",
    "Source Han Serif K", "Batang", serif;
  --font-ko-sans: "Noto Sans KR", "Apple SD Gothic Neo", "Noto Sans CJK KR",
    "Malgun Gothic", sans-serif;
}

body {
  line-break: auto;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 英字見出しの位置にも韓国語が入るので、欧文書体ではなく韓国語の明朝にする */
.heading-en,
.hero-eyebrow,
.menu-card-en span,
.menu-card-badge,
.header-reserve,
.a-splash-eyebrow,
.gnav a,
.sp-nav a,
.footer-nav a {
  font-family: var(--font-ko-serif);
  letter-spacing: 0;
}

/* 本文はゴシック、見出しと小見出しは明朝（日本語と同じ使い分け） */
body {
  font-family: var(--font-ko-sans);
}

:where(h1, h2, h3),
.menu-card-name,
.menu-lead,
.menu-card-catch,
.booking-payment-title,
.heading-ja {
  font-family: var(--font-ko-serif);
}

@media (width >= 751px) {
  .location-info dd { white-space: normal; }
  .rooms-copy > p { white-space: normal; }
  .booking-payment p:last-child { white-space: normal; }
}

@media (width <= 750px) {
  .hero-title { white-space: normal; }
  .reason:nth-child(-n+2) p { white-space: normal; }
}

@media (width >= 751px) {
  #visit    { height: auto; min-height: 55.9375rem; } /* 895px */
  #voices   { height: auto; min-height: 42.8125rem; } /* 685px */
  #location { height: auto; min-height: 42.75rem; }   /* 684px */
  #faq      { height: auto; min-height: 57.5625rem; } /* 921px */
}

@media (width <= 750px) {
  .hero-title br,
  .hero-lead br,
  .menu-lead br,
  .price-lead p br,
  .visit-step:nth-child(n+2) p br,
  .footer-brand > p:first-child br { display: revert; }
}

@media (width >= 751px) {
  .visit-step p {
    white-space: normal;
    max-width: 37rem;
  }
}

@media (width >= 751px) {
  .visit-img-3 {
    top: auto;
    bottom: -20.8125rem; /* -333px */
  }
}

@media (width >= 751px) {
  .location-info dd {
    max-width: 29rem; /* 464px */
  }
}

@media (width >= 751px) {
  #why .heading-en {
    font-size: 3.5rem;   /* 56px */
    white-space: nowrap;
  }
}

@media (width >= 751px) {
  .faq-q h3,
  .faq-a {
    white-space: normal;
  }
}
