@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Medium.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-SemiBold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-ExtraBold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 800;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Black.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 900;
}

/*
 * Montserratは数字の字面が大きいため、数字だけ88%へ補正する。
 * 英字は通常サイズのMontserratをそのまま使用する。
 */
@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-Regular.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 400;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-Medium.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 500;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-SemiBold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 600;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-Bold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 700;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-Bold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 800;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

@font-face {
  font-family: "Montserrat Digits";
  src: url("../fonts/Montserrat-Bold.otf") format("opentype");
  font-display: block;
  font-style: normal;
  font-weight: 900;
  size-adjust: 88%;
  unicode-range: U+0030-0039;
}

/*
 * Shared JOURNEY COACHING typography
 * Latin letters use Montserrat on every page.
 * Numerals use Montserrat with the visual weight capped at Bold.
 * Japanese glyphs use Noto Sans JP, capped at Bold by the loaded font weights.
 */
body.journey-page,
body.journey-page *,
body.journey-page *::before,
body.journey-page *::after {
  font-family:
    "Montserrat Digits",
    "Montserrat",
    "Noto Sans JP",
    "Noto Sans CJK JP",
    "Hiragino Sans",
    "Yu Gothic",
    Arial,
    Helvetica,
    sans-serif !important;
  font-synthesis: none;
}

/* Japanese page headings use Noto Sans JP ExtraBold. */
body.journey-page h1,
body.journey-page h2 {
  font-weight: 800 !important;
  text-wrap: balance;
  word-break: auto-phrase;
}
