/* Final PC header rules for the open two-row navigation design. */
@media (min-width: 1201px) {
  body,
  body:not(.language-page-body),
  body.language-page-body--en,
  body.language-page-body--zh {
    --header-h: 117px !important;
  }

  .site-header,
  .site-header:not(.is-solid),
  .site-header.is-solid,
  body:not(.language-page-body) .site-header,
  body:not(.language-page-body) .site-header.is-solid,
  body.language-page-body .site-header,
  body.language-page-body .site-header.is-solid {
    --header-design-nav-width: 511.16px;
    --header-design-menu-font-size: 13px;
    --header-design-menu-padding-x: 4px;
    --header-design-contact-font-size: 12px;
    --header-design-language-font-size: 14px;
    --header-design-right-width: 160px;
    --header-design-language-column: 91px;
    --header-design-nav-action-gap: 28px;
    --header-design-language-inset: 23px;
    box-sizing: border-box !important;
    height: 117px !important;
    min-height: 117px !important;
    padding-top: 20px !important;
    padding-right: 0 !important;
    padding-bottom: 20px !important;
    padding-left: 0 !important;
    background: #ffffff !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body.language-page-body--en .site-header {
    --header-design-nav-width: 660px;
    --header-design-menu-font-size: 11px;
    --header-design-menu-padding-x: 8px;
    --header-design-contact-font-size: 12.8px;
    --header-design-language-font-size: 15px;
  }

  body.language-page-body--zh .site-header {
    --header-design-nav-width: 522.16px;
    --header-design-menu-font-size: 11px;
    --header-design-contact-font-size: 12.8px;
    --header-design-language-font-size: 15px;
  }

  .site-header .header-inner,
  body:not(.language-page-body) .site-header .header-inner,
  body.language-page-body .site-header .header-inner {
    display: grid !important;
    grid-template-columns:
      max-content
      minmax(0, 1fr)
      var(--header-design-right-width)
      var(--header-design-language-column) !important;
    grid-template-areas: "brand nav right language" !important;
    align-items: center !important;
    column-gap: 0 !important;
    width: min(1498px, calc(100% - 160px)) !important;
    max-width: 1498px !important;
    height: 77px !important;
    margin-top: 0 !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    margin-left: max(80px, calc((100vw - 1446px) / 2)) !important;
  }

  body.language-page-body--en .site-header .brand {
    transform: none !important;
  }

  .site-header .site-nav,
  body:not(.language-page-body) .site-header .site-nav,
  body.language-page-body .site-header .site-nav {
    display: grid !important;
    grid-template-columns: var(--header-design-nav-width) !important;
    grid-template-rows: 33px 33px !important;
    grid-template-areas:
      "nav-upper"
      "nav-lower" !important;
    align-items: center !important;
    justify-items: stretch !important;
    justify-self: end !important;
    row-gap: 8px !important;
    width: var(--header-design-nav-width) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 74px !important;
    margin: 0 var(--header-design-nav-action-gap) 0 0 !important;
    padding: 0 !important;
  }

  body:not(.language-page-body) .site-header .site-nav::before,
  body.language-page-body .site-header .site-nav::before,
  body:not(.language-page-body) .site-header .main-nav--upper::before,
  body:not(.language-page-body) .site-header .main-nav--upper::after,
  body:not(.language-page-body) .site-header .main-nav--lower::before,
  body:not(.language-page-body) .site-header .main-nav--lower::after,
  body.language-page-body .site-header .main-nav--upper::before,
  body.language-page-body .site-header .main-nav--upper::after,
  body.language-page-body .site-header .main-nav--lower::before,
  body.language-page-body .site-header .main-nav--lower::after {
    content: none !important;
  }

  .site-header .main-nav--upper,
  .site-header .main-nav--lower,
  body:not(.language-page-body) .site-header .main-nav--upper,
  body:not(.language-page-body) .site-header .main-nav--lower,
  body.language-page-body .site-header .main-nav--upper,
  body.language-page-body .site-header .main-nav--lower {
    display: grid !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    justify-self: stretch !important;
    gap: 0 !important;
    width: var(--header-design-nav-width) !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 33px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .site-header .main-nav--upper,
  body:not(.language-page-body) .site-header .main-nav--upper,
  body.language-page-body .site-header .main-nav--upper {
    grid-area: nav-upper;
    grid-template-columns: 86.3692fr 85.801fr 66.8452fr 84.6646fr 87.166fr 100.314fr !important;
    justify-content: start !important;
  }

  .site-header .main-nav--lower,
  body:not(.language-page-body) .site-header .main-nav--lower,
  body.language-page-body .site-header .main-nav--lower {
    grid-area: nav-lower;
    grid-template-columns: 197.18fr 126.5fr 72fr 70.5fr 44.98fr !important;
    justify-content: start !important;
  }

  body.language-page-body--en .site-header .main-nav--upper {
    grid-template-columns: repeat(6, max-content) !important;
  }

  body.language-page-body--en .site-header .main-nav--lower {
    grid-template-columns: repeat(5, max-content) !important;
  }

  body.language-page-body--zh .site-header .main-nav--upper {
    grid-template-columns: 82.8521fr 82.2621fr 70.9243fr 92.6515fr 89.7765fr 103.6935fr !important;
  }

  body.language-page-body--zh .site-header .main-nav--lower {
    grid-template-columns: 205.81fr 122.88fr 74.11fr 72.41fr 46.95fr !important;
  }

  .site-header .main-nav--upper > li,
  .site-header .main-nav--lower > li,
  body:not(.language-page-body) .site-header .main-nav--upper > li,
  body:not(.language-page-body) .site-header .main-nav--lower > li,
  body.language-page-body .site-header .main-nav--upper > li,
  body.language-page-body .site-header .main-nav--lower > li {
    box-sizing: border-box !important;
    display: block !important;
    min-width: 0 !important;
    height: 33px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    border-right: 2px solid #111111 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
  }

  body:not(.language-page-body) .site-header .main-nav--upper > li:first-child,
  body:not(.language-page-body) .site-header .main-nav--lower > li:first-child,
  body.language-page-body .site-header .main-nav--upper > li:first-child,
  body.language-page-body .site-header .main-nav--lower > li:first-child {
    border-left: 2px solid #111111 !important;
  }

  .site-header .main-nav--upper > li:has(> a.is-current),
  .site-header .main-nav--lower > li:has(> a.is-current),
  body:not(.language-page-body) .site-header .main-nav--upper > li:has(> a.is-current),
  body:not(.language-page-body) .site-header .main-nav--lower > li:has(> a.is-current),
  body.language-page-body .site-header .main-nav--upper > li:has(> a.is-current),
  body.language-page-body .site-header .main-nav--lower > li:has(> a.is-current) {
    background: #0079c4 !important;
  }

  .site-header .main-nav--upper > li > a,
  .site-header .main-nav--lower > li > a,
  body:not(.language-page-body) .site-header .main-nav--upper > li > a,
  body:not(.language-page-body) .site-header .main-nav--lower > li > a,
  body.language-page-body .site-header .main-nav--upper > li > a,
  body.language-page-body .site-header .main-nav--lower > li > a {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 33px !important;
    height: 33px !important;
    margin: 0 !important;
    padding: 0 var(--header-design-menu-padding-x) !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    font-size: var(--header-design-menu-font-size) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .site-header .main-nav--upper > li > a.is-current,
  .site-header .main-nav--lower > li > a.is-current,
  .site-header .main-nav--upper > li > a.is-current:hover,
  .site-header .main-nav--lower > li > a.is-current:hover,
  .site-header .main-nav--upper > li > a.is-current:focus-visible,
  .site-header .main-nav--lower > li > a.is-current:focus-visible,
  body:not(.language-page-body) .site-header .main-nav--upper > li > a.is-current,
  body:not(.language-page-body) .site-header .main-nav--lower > li > a.is-current,
  body.language-page-body .site-header .main-nav--upper > li > a.is-current,
  body.language-page-body .site-header .main-nav--lower > li > a.is-current {
    min-height: 33px !important;
    height: 33px !important;
    padding: 0 var(--header-design-menu-padding-x) !important;
    background: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .site-header .main-nav--upper > li > a.is-current::before,
  .site-header .main-nav--lower > li > a.is-current::before {
    content: none !important;
  }

  .site-header .main-nav--upper > li:nth-child(3) > a {
    text-transform: uppercase;
  }

  .site-header .main-nav--upper > li > a:hover,
  .site-header .main-nav--upper > li > a:focus-visible,
  .site-header .main-nav--lower > li > a:hover,
  .site-header .main-nav--lower > li > a:focus-visible {
    color: #0079c4 !important;
    -webkit-text-fill-color: #0079c4 !important;
  }

  .site-header .header-right,
  body:not(.language-page-body) .site-header .header-right,
  body.language-page-body .site-header .header-right {
    grid-area: right;
    display: grid !important;
    grid-template-columns: var(--header-design-right-width) !important;
    grid-template-rows: 28px 36px !important;
    align-items: center !important;
    justify-items: stretch !important;
    align-self: center !important;
    row-gap: 10px !important;
    width: var(--header-design-right-width) !important;
    min-width: var(--header-design-right-width) !important;
    height: 74px !important;
    margin: 0 !important;
  }

  .site-header .sns-list--header,
  body:not(.language-page-body) .site-header .sns-list--header,
  body.language-page-body .site-header .sns-list--header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: var(--header-design-right-width) !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .sns-list--header img[src*="sns/you.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/you.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/you.png"] {
    width: 36px !important;
    height: auto !important;
  }

  .site-header .sns-list--header img[src*="sns/ins.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/ins.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/ins.png"] {
    width: 26px !important;
    height: 26px !important;
  }

  .site-header .sns-list--header img[src*="sns/note.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/note.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/note.png"] {
    width: 58px !important;
    height: auto !important;
  }

  .site-header .header-actions,
  body:not(.language-page-body) .site-header .header-actions,
  body.language-page-body .site-header .header-actions {
    display: block !important;
    width: var(--header-design-right-width) !important;
    min-width: var(--header-design-right-width) !important;
    min-height: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .header-actions .btn.primary,
  body:not(.language-page-body) .site-header .header-actions .btn.primary,
  body.language-page-body .site-header .header-actions .btn.primary {
    width: var(--header-design-right-width) !important;
    min-width: var(--header-design-right-width) !important;
    min-height: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-radius: 0 !important;
    background: #c71555 !important;
    color: #ffffff !important;
    font-size: var(--header-design-contact-font-size) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .site-header .header-language--desktop,
  body:not(.language-page-body) .site-header .header-language--desktop,
  body.language-page-body .site-header .header-language--desktop {
    grid-area: language;
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, 26px) !important;
    align-content: center !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    row-gap: 0 !important;
    width: var(--header-design-language-column) !important;
    min-width: var(--header-design-language-column) !important;
    height: 78px !important;
    margin: 0 !important;
    padding: 0 0 0 var(--header-design-language-inset) !important;
    transform: none !important;
  }

  .site-header .header-language--desktop .header-language__link,
  body:not(.language-page-body) .site-header .header-language--desktop .header-language__link,
  body.language-page-body .site-header .header-language--desktop .header-language__link {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    border: 0 !important;
    border-bottom: 2px solid #111111 !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    font-size: var(--header-design-language-font-size) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .site-header .header-language--desktop .header-language__link:last-child,
  body:not(.language-page-body) .site-header .header-language--desktop .header-language__link:last-child,
  body.language-page-body .site-header .header-language--desktop .header-language__link:last-child {
    border-bottom: 0 !important;
  }
}

@media (min-width: 1201px) and (max-width: 1399px) {
  .site-header,
  .site-header:not(.is-solid),
  .site-header.is-solid,
  body:not(.language-page-body) .site-header,
  body.language-page-body .site-header {
    --header-design-nav-width: 462.15px;
    --header-design-menu-font-size: 13px;
    --header-design-right-width: 128px;
    --header-design-language-column: 70px;
    --header-design-nav-action-gap: 16px;
    --header-design-language-inset: 12px;
  }

  body.language-page-body--en .site-header {
    --header-design-nav-width: 620px;
    --header-design-menu-font-size: 11px;
    --header-design-menu-padding-x: 4px;
  }

  body.language-page-body--zh .site-header {
    --header-design-nav-width: 452.14px;
    --header-design-menu-font-size: 11px;
  }

  .site-header .main-nav--upper,
  body:not(.language-page-body) .site-header .main-nav--upper {
    grid-template-columns: 78.4647fr 77.9806fr 60.4825fr 77.0123fr 78.0923fr 90.1177fr !important;
  }

  .site-header .main-nav--lower,
  body:not(.language-page-body) .site-header .main-nav--lower {
    grid-template-columns: 179.25fr 114.69fr 64.7fr 63.45fr 40.06fr !important;
  }

  body.language-page-body--en .site-header .main-nav--upper {
    grid-template-columns: repeat(6, max-content) !important;
  }

  body.language-page-body--en .site-header .main-nav--lower {
    grid-template-columns: repeat(5, max-content) !important;
  }

  body.language-page-body--zh .site-header .main-nav--upper {
    grid-template-columns: 71.5125fr 71.045fr 61.896fr 81.7665fr 76.7878fr 89.1322fr !important;
  }

  body.language-page-body--zh .site-header .main-nav--lower {
    grid-template-columns: 180.21fr 106.01fr 63.68fr 62.32fr 39.92fr !important;
  }

  .site-header .header-inner,
  body:not(.language-page-body) .site-header .header-inner,
  body.language-page-body .site-header .header-inner {
    width: calc(100% - 48px) !important;
    max-width: none !important;
    margin-right: 24px !important;
    margin-left: 24px !important;
  }

  .site-header .sns-list--header img[src*="sns/you.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/you.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/you.png"] {
    width: 30px !important;
  }

  .site-header .sns-list--header img[src*="sns/ins.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/ins.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/ins.png"] {
    width: 22px !important;
    height: 22px !important;
  }

  .site-header .sns-list--header img[src*="sns/note.png"],
  body:not(.language-page-body) .site-header .sns-list--header img[src*="sns/note.png"],
  body.language-page-body .site-header .sns-list--header img[src*="sns/note.png"] {
    width: 48px !important;
  }

  .site-header .header-right,
  body:not(.language-page-body) .site-header .header-right,
  body.language-page-body .site-header .header-right,
  .site-header .sns-list--header,
  body:not(.language-page-body) .site-header .sns-list--header,
  body.language-page-body .site-header .sns-list--header,
  .site-header .header-actions,
  body:not(.language-page-body) .site-header .header-actions,
  body.language-page-body .site-header .header-actions,
  .site-header .header-actions .btn.primary,
  body:not(.language-page-body) .site-header .header-actions .btn.primary,
  body.language-page-body .site-header .header-actions .btn.primary {
    width: var(--header-design-right-width) !important;
    min-width: var(--header-design-right-width) !important;
  }

  .site-header .sns-list--header,
  body:not(.language-page-body) .site-header .sns-list--header,
  body.language-page-body .site-header .sns-list--header {
    gap: 10px !important;
  }

}
