/* EN / ZH translation shared CSS. Route-specific rules live in language-top.css, language-products.css, and language-product.css. */
/* =========================================================
   EN / ZH translation pages
   ========================================================= */

.language-page {
  background: #fff;
  color: #050505;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
}

.language-page a {
  color: inherit;
}

.language-hero {
  position: relative;
  overflow: hidden;
  background: #0079c4;
  color: #fff;
}

.language-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(0, 121, 196, 0.98) 0 58%, rgba(24, 14, 14, 0.96) 58% 100%);
}

.language-hero__inner,
.language-section__inner {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 80px), 1160px);
  max-width: 1160px;
  margin: 0 auto;
  box-sizing: border-box;
}

.language-hero__inner {
  min-height: 360px;
  padding: 96px 0 76px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.language-hero--sub .language-hero__inner {
  min-height: 260px;
  padding: 78px 0 64px;
}

.language-hero__eyebrow {
  margin: 0 0 22px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.language-hero__title {
  max-width: 920px;
  margin: 0;
  font-size: clamp(36px, 4.2vw, 62px);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0;
}

.language-hero__company {
  margin: 34px 0 0;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.language-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

.language-switch a {
  min-width: 96px;
  padding: 10px 18px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.language-switch a.is-current {
  background: #fff;
  color: #0079c4;
}

.language-section {
  padding: 90px 0;
  background: #fff;
}

.language-section--blue {
  background: #dff0f7;
}

.language-section--dark {
  background: #050505;
  color: #fff;
}

.language-section__label {
  margin: 0 0 18px;
  color: #0079c4;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.language-section--dark .language-section__label {
  color: #83c6e9;
}

.language-section h2 {
  margin: 0 0 28px;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0;
}

.language-split {
  display: grid;
  grid-template-columns: 34% 1fr;
  gap: 70px;
  align-items: start;
}

.language-richtext p,
.language-section__text,
.language-lead {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.02em;
}

.language-lead {
  margin: 0;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.55;
}

.language-center {
  text-align: center;
}

.language-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: center;
  margin: 36px 0 0;
}

.language-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 50px;
  padding: 12px 24px;
  border: 2px solid #0079c4;
  background: #0079c4;
  color: #fff !important;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.language-button--light {
  border-color: #fff;
  background: #fff;
  color: #0079c4 !important;
}

.language-button--outline {
  background: #fff;
  color: #0079c4 !important;
}

@media (max-width: 1023px) {
  .language-hero__inner,
  .language-section__inner {
      width: min(calc(100% - 32px), 1160px);
  
  }

  .language-hero__inner {
      min-height: 280px;
      padding: 70px 0 54px;
  
  }

  .language-section {
      padding: 64px 0;
  
  }

  .language-split {
      grid-template-columns: 1fr;
      gap: 34px;
  
  }
}

/* Language routes keep the Japanese layout widths, but translated text may wrap. */

body.language-page-body {
  overflow-wrap: anywhere;
  word-break: normal;
}

body.language-page-body img,
body.language-page-body video,
body.language-page-body iframe,
body.language-page-body canvas,
body.language-page-body svg {
  overflow-wrap: normal;
}

@media (min-width: 1024px) {
  body.language-page-body .site-header .site-nav {
      min-width: 0;
  
  }

  body.language-page-body .site-header .main-nav {
      flex-wrap: wrap;
      white-space: normal;
      row-gap: 4px;
  
  }

  body.language-page-body .site-header .main-nav li,
  body.language-page-body .site-header .main-nav li a {
      min-width: 0;
  
  }

  body.language-page-body .site-header .main-nav li a {
      display: inline-block;
      white-space: normal;
      line-height: 1.25;
      text-align: center;
  
  }
}

body.language-page-body .page-article--with-title-banner .page-title-banner__title {
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* TOP EN/ZH: translated copy is longer, so keep the JP frame and prevent overlaps. */

@media (min-width: 881px) {
  body.language-page-body .site-header .header-inner {
      gap: 40px;
  
  }

  body.language-page-body .site-header .site-nav {
      width: clamp(500px, 62vw, 500px);
      gap: 10px;
      margin-left: auto;
      margin-right: 10px;
  
  }

  body.language-page-body .site-header .main-nav,
  body.language-page-body .site-header .main-nav--upper,
  body.language-page-body .site-header .main-nav--lower {
      width: 100%;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      gap: 0;
      margin-left: 0;
  
  }

  body.language-page-body .site-header .main-nav li {
      flex: 0 1 auto;
      display: block;
  
  }

  body.language-page-body .site-header .main-nav li a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      max-width: 100%;
      font-size: clamp(9px, 0.76vw, 11px);
      line-height: 1.12;
      white-space: nowrap;
      text-align: center;
  
  }

  body.language-page-body--en .site-header .header-inner {
      gap: 24px;
  
  }

  body.language-page-body--en .site-header .site-nav {
      width: clamp(440px, calc(100vw - 434px), 760px);
      margin-left: auto;
      margin-right: 8px;
      align-items: flex-start;
  
  }

  body.language-page-body--en .site-header .main-nav,
  body.language-page-body--en .site-header .main-nav--upper,
  body.language-page-body--en .site-header .main-nav--lower {
      justify-content: center;
      gap: clamp(12px, 1.4vw, 22px);
  
  }

  body.language-page-body--en .site-header .main-nav.main-nav--upper {
      justify-content: center;
  
  }

  body.language-page-body--en .site-header .main-nav li {
      flex: 0 0 auto;
  
  }

  body.language-page-body--en .site-header .main-nav li a {
      padding: 0;
      font-size: 11px;
      font-weight: 400;
      line-height: 1.15;
      letter-spacing: 0;
  
  }

  body.language-page-body--en .site-header .main-nav li a.is-current,
  body.language-page-body--en .site-header .main-nav li a.is-current:hover,
  body.language-page-body--en .site-header .main-nav li a.is-current:focus-visible {
      min-height: 30px;
      padding: 0 10px;
      background: #0079c4;
      color: #ffffff !important;
  
  }
}

@media (min-width: 1024px) {
  body.language-page-body--en .site-header .main-nav.main-nav--upper {
      gap: clamp(26px, 2.45vw, 33.4px);
  
  }
}

@media (min-width: 1500px) {
  body.language-page-body--en .site-header .site-nav {
      width: min(900px, calc(100vw - 560px));
  
  }

  body.language-page-body--en .site-header .main-nav,
  body.language-page-body--en .site-header .main-nav--upper,
  body.language-page-body--en .site-header .main-nav--lower {
      gap: 28px;
  
  }

  body.language-page-body--en .site-header .main-nav li a {
      font-size: 11px;
  
  }

  body.language-page-body--en .site-header .main-nav.main-nav--upper {
      gap: clamp(36px, 2.7vw, 40.9px);
  
  }
}

@media (min-width: 881px) and (max-width: 1200px) {
  body.language-page-body .page-article--with-title-banner .page-title-banner__breadcrumb {
      width: auto;
      max-width: calc(100vw - 88px);
      white-space: normal;
      overflow-wrap: anywhere;
  
  }
}

/* Header: keep the active page marker square on every page. */

.site-header .main-nav li a.is-current,
.site-header .main-nav li a.is-current:hover,
.site-header .main-nav li a.is-current:focus-visible {
  border-radius: 0 !important;
}

body.language-page-body .site-header .main-nav li a.is-current,
body.language-page-body .site-header .main-nav li a.is-current:hover,
body.language-page-body .site-header .main-nav li a.is-current:focus-visible {
  min-height: 0 !important;
  height: auto !important;
  padding-top: var(--header-current-extra-y, 3px) !important;
  padding-left: calc(18px + var(--header-current-extra-x, 3px)) !important;
  padding-right: calc(18px + var(--header-current-extra-x, 3px)) !important;
  padding-bottom: var(--header-current-extra-y, 3px) !important;
}

body.language-page-body--en .site-header .main-nav li a.is-current,
body.language-page-body--en .site-header .main-nav li a.is-current:hover,
body.language-page-body--en .site-header .main-nav li a.is-current:focus-visible {
  min-height: 0 !important;
  height: auto !important;
  padding-top: var(--header-current-extra-y, 3px) !important;
  padding-left: calc(10px + var(--header-current-extra-x, 3px)) !important;
  padding-right: calc(10px + var(--header-current-extra-x, 3px)) !important;
  padding-bottom: var(--header-current-extra-y, 3px) !important;
}

@media (min-width: 1201px) {
  body.language-page-body--en .site-header .main-nav--upper > li > a.is-current,
  body.language-page-body--en .site-header .main-nav--lower > li > a.is-current,
  body.language-page-body--en .site-header .main-nav--upper > li > a.is-current:hover,
  body.language-page-body--en .site-header .main-nav--lower > li > a.is-current:hover,
  body.language-page-body--en .site-header .main-nav--upper > li > a.is-current:focus-visible,
  body.language-page-body--en .site-header .main-nav--lower > li > a.is-current:focus-visible,
  body.language-page-body--zh .site-header .main-nav--upper > li > a.is-current,
  body.language-page-body--zh .site-header .main-nav--lower > li > a.is-current,
  body.language-page-body--zh .site-header .main-nav--upper > li > a.is-current:hover,
  body.language-page-body--zh .site-header .main-nav--lower > li > a.is-current:hover,
  body.language-page-body--zh .site-header .main-nav--upper > li > a.is-current:focus-visible,
  body.language-page-body--zh .site-header .main-nav--lower > li > a.is-current:focus-visible {
    min-height: var(--header-menu-cell-height) !important;
    height: var(--header-menu-cell-height) !important;
    padding: 0 var(--header-menu-cell-padding-x) !important;
  }
}

@media (max-width: 880px) {
  body.language-page-body .site-header .main-nav li a.is-current,
  body.language-page-body .site-header .main-nav li a.is-current:hover,
  body.language-page-body .site-header .main-nav li a.is-current:focus-visible {
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    align-self: stretch !important;
    justify-content: center !important;
    background: transparent !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    text-align: center !important;
  }
}

/* Language TOP: replace Japanese text baked into button images with translated labels. */

/* Language TOP: keep translated copy from colliding with fixed Japanese-positioned blocks. */

/* Language product/detail pages: allow translated labels to wrap inside existing components. */

@media (min-width: 881px) {
  body.language-page-body--en .site-header .main-nav,
  body.language-page-body--en .site-header .main-nav--upper,
  body.language-page-body--en .site-header .main-nav--lower {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }
}

body.language-page-body--en .page-article--with-company-nav-banner .page-title-banner--about nav.company-nav[aria-label="会社概要ページナビ"].quality-nav,
body.language-page-body--en .page-article--with-company-nav-banner .page-title-banner--about nav.company-nav[aria-label="会社概要ページナビ"].quality-nav a {
  font-size: 12px !important;
}

/* English company pages: do not use Japanese text baked into menu images. */
@media (min-width: 1024px) {
  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav {
    width: min(calc(100% - 80px), 1160px) !important;
    max-width: 1160px !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    ul {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    li {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 84px !important;
    height: 84px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    border: 2px solid #0079c4 !important;
    border-left-width: 0 !important;
    border-radius: 0 !important;
    background:
      linear-gradient(126deg, transparent 0 66%, rgba(183, 215, 228, 0.4) 66% 100%),
      #ffffff !important;
    color: #0079c4 !important;
    -webkit-text-fill-color: #0079c4 !important;
    font-family: "Noto Sans CJK JP", "Noto Sans JP", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    font-variation-settings: "wght" 900 !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    li:first-child
    a {
    border-left-width: 2px !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a:hover,
  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a:focus-visible {
    background:
      linear-gradient(126deg, transparent 0 66%, rgba(183, 215, 228, 0.4) 66% 100%),
      #ffffff !important;
    color: #0079c4 !important;
    -webkit-text-fill-color: #0079c4 !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a.is-current {
    background: #0079c4 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a::before,
  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    a::after,
  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    li::before,
  body.language-page-body--en:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379)
    .page-title-banner--about
    .company-nav.quality-nav
    li::after {
    content: none !important;
    display: none !important;
  }
}

/* English message page: keep translated copy clear of fixed Japanese artboard positions. */
body.language-page-body--en.page-id-219 .page-content--about .message-greeting__name,
body.language-page-body--en.page-id-219 .page-content--about .message-greeting__text,
body.language-page-body--en.page-id-219 .page-content--about .message-business__row dt,
body.language-page-body--en.page-id-219 .page-content--about .message-business__row dd,
body.language-page-body--en.page-id-219 .page-content--about .message-philosophy2__copy {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.language-page-body--en.page-id-219 .page-content--about .message-shaze__song-qr figcaption {
  width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

@media (min-width: 1024px) {
  body.language-page-body--en.page-id-219 .page-content--about {
    height: 3450px !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__name {
    left: 482.78px !important;
    top: 519.23px !important;
    width: 620px !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-align: right !important;
    white-space: normal !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__text {
    left: 482.78px !important;
    top: 588px !important;
    width: 620px !important;
    font-size: 16.5px !important;
    line-height: 29px !important;
    letter-spacing: 0.02em !important;
    white-space: normal !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .message-business__row dt {
    width: 190px !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .message-business__row dd,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row:nth-child(1) dd,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row:nth-child(2) dd,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row:nth-child(3) dd,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row:nth-child(4) dd {
    left: 790px !important;
    width: 750px !important;
    font-size: 16px !important;
    line-height: 28px !important;
    letter-spacing: 0.02em !important;
    white-space: normal !important;
  }
}

@media (max-width: 860px) {
  body.language-page-body--en.page-id-219,
  body.language-page-body--en.page-id-219 .page-article,
  body.language-page-body--en.page-id-219 .page-content {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-219 .page-content--about .message-bartitle,
  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__catch,
  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__name,
  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__text,
  body.language-page-body--en.page-id-219 .page-content--about .message-shaze__title,
  body.language-page-body--en.page-id-219 .page-content--about .message-shaze__text,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row dt,
  body.language-page-body--en.page-id-219 .page-content--about .message-business__row dd,
  body.language-page-body--en.page-id-219 .page-content--about .message-philosophy2__lead,
  body.language-page-body--en.page-id-219 .page-content--about .message-philosophy2__copy {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .about-sidetitle {
    font-size: clamp(20px, 6.2vw, 28px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0.18em !important;
  }

  body.language-page-body--en.page-id-219 .page-content--about .message-greeting__name {
    text-align: left !important;
  }
}

/* English Saitama factory page: wrap translated copy inside the fixed artboard. */
body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li,
body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 1024px) {
  body.language-page-body--en.page-id-379 .page-content.page-content--with-title-banner.page-content--about .about-sidetitle {
    left: -46px !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.04em !important;
    text-orientation: mixed !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p {
    left: 160px !important;
    top: 172px !important;
    width: 880px !important;
    font-size: 16px !important;
    line-height: 28px !important;
    letter-spacing: 0.02em !important;
    text-align: center !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p br,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p br {
    display: none !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria {
    left: 300px !important;
    width: 800px !important;
    display: grid !important;
    gap: 18px !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li {
    height: auto !important;
    min-height: 32px !important;
    padding-left: 42px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.01em !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li::before {
    top: -2px !important;
    line-height: 1 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing {
    left: 300px !important;
    width: 800px !important;
    text-align: center !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note {
    left: 210px !important;
    width: 860px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4 {
    width: 560px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p {
    width: 560px !important;
    font-size: 15.5px !important;
    line-height: 27px !important;
    letter-spacing: 0.01em !important;
  }
}

@media (max-width: 860px) {
  body.language-page-body--en.page-id-379,
  body.language-page-body--en.page-id-379 .page-article,
  body.language-page-body--en.page-id-379 .page-content {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__columns,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__column,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__logo,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel p {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle {
    font-size: clamp(20px, 6vw, 28px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0.18em !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__logo {
    width: min(300px, 100%) !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle {
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.04em !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li {
    height: auto !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 860px) {
  body.language-page-body--en.page-id-379 .l-main,
  body.language-page-body--en.page-id-379 .page-container,
  body.language-page-body--en.page-id-379 .page-article,
  body.language-page-body--en.page-id-379 .page-content,
  body.language-page-body--en.page-id-379 .page-content--about {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama,
  body.language-page-body--en.page-id-379 .page-content--about .saitama > *,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__columns,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__column,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__logo,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__logo img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria {
    padding-left: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li {
    padding-left: 2.4em !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li::before {
    left: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact {
    display: grid !important;
    gap: 24px !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle {
    font-size: 21px !important;
    letter-spacing: 0.08em !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p {
    font-size: 12px !important;
    line-height: 1.65 !important;
    letter-spacing: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__logo {
    width: min(260px, calc(100vw - 64px)) !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li {
    font-size: 11.5px !important;
    letter-spacing: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4 {
    font-size: 15px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel p {
    font-size: 20px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.02em !important;
  }

  body.language-page-body--en.page-id-379 {
    --saitama-en-mobile-copy-width: min(260px, calc(100vw - 48px));
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel {
    width: var(--saitama-en-mobile-copy-width) !important;
    max-width: var(--saitama-en-mobile-copy-width) !important;
  }

  body.language-page-body--en.page-id-379 .page-content--about .about-sidetitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__lead,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__intro p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__bartitle,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__criteria li,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__closing,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__center-note,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note h4,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-note p,
  body.language-page-body--en.page-id-379 .page-content--about .saitama__contact-tel p {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }
}

@media (min-width: 700px) and (max-width: 860px) {
  body.language-page-body--en.page-id-379 {
    --saitama-en-mobile-copy-width: min(620px, calc(100vw - 96px));
  }
}

body.language-page-body--en .site-header .header-language__link,
body.language-page-body--zh .site-header .header-language__link {
  font-size: 15px !important;
}

body.language-page-body--zh.page-id-2 .page-content .wp-block-table.company-table {
  --msk-side-rail-tab-label: "公司简介";
}

body.language-page-body--zh.page-id-2 .page-content--about::after {
  content: "公司简介" !important;
}

body.language-page-body--zh.page-id-218 .page-content--about::after {
  content: "公司沿革" !important;
}

body.language-page-body--zh.page-id-219 .page-content--about::after {
  content: "社长致辞・社训・理念" !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
}

body.language-page-body--zh.page-id-27 .page-content--about::after {
  content: "大炮铸造历史" !important;
}

body.language-page-body--zh.page-id-379 .page-content--about::after {
  content: "埼玉县指定工厂" !important;
}

@media (min-width: 1024px) {
  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav {
    width: min(calc(100% - 80px), 1163px) !important;
    max-width: 1163px !important;
    height: 100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav ul {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    list-style: none !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav li {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav li::before,
  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav li::after {
    content: none !important;
    display: none !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav a {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 100px !important;
    height: 100px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    overflow: hidden !important;
    border: 2px solid #0079c4 !important;
    border-left-width: 0 !important;
    border-radius: 0 !important;
    background:
      linear-gradient(126deg, transparent 0 66%, rgba(183, 215, 228, 0.4) 66% 100%),
      #ffffff !important;
    color: #0079c4 !important;
    -webkit-text-fill-color: #0079c4 !important;
    font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    font-variation-settings: "wght" 900 !important;
    line-height: 1.24 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav li:first-child a {
    border-left-width: 2px !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav a:hover,
  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav a:focus-visible {
    background:
      linear-gradient(126deg, transparent 0 66%, rgba(183, 215, 228, 0.4) 66% 100%),
      #ffffff !important;
    color: #0079c4 !important;
    -webkit-text-fill-color: #0079c4 !important;
  }

  body.language-page-body--zh:is(.page-id-2, .page-id-218, .page-id-219, .page-id-27, .page-id-379) .page-title-banner--about .company-nav.quality-nav a.is-current {
    background: #0079c4 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

body.language-page-body--en.page-id-2 .page-content--about::after {
  content: "Company Profile" !important;
  text-orientation: mixed !important;
}

body.language-page-body--en.page-id-218 .page-content--about::after {
  content: "Company History" !important;
  text-orientation: mixed !important;
}

body.language-page-body--en.page-id-219 .page-content--about::after {
  content: "Message from the President, Company Motto & Philosophy" !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  text-orientation: mixed !important;
}

@media (min-width: 1024px) {
  body.language-page-body--en.page-id-219 .page-content--about .message-shaze__song-qr,
  body.language-page-body--zh.page-id-219 .page-content--about .message-shaze__song-qr {
    bottom: -97px !important;
  }
}

body.language-page-body--en.page-id-27 .page-content--about::after {
  content: "History of Cannon Casting" !important;
  text-orientation: mixed !important;
}

body.language-page-body--en.page-id-379 .page-title-banner--about nav.company-nav[aria-label="会社概要ページナビ"].quality-nav li:nth-child(3) a {
  font-size: 12px !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

body.language-page-body--en.page-id-379 .page-title-banner--about nav.company-nav[aria-label="会社概要ページナビ"].quality-nav li:nth-child(5) a {
  font-size: 12px !important;
  line-height: 1.18 !important;
  letter-spacing: 0.02em !important;
}
