.english-page {
  font-family: Arial, 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0;
}

.english-page *,
.english-page *::before,
.english-page *::after {
  letter-spacing: 0;
}

.english-page :is(.block_header, .block_header_s) .box_header nav {
  font-family: 'Noto Sans JP', sans-serif;
}

.english-page :is(.block_header, .block_header_s) .box_header nav .gnav > ul {
  row-gap: 8px;
}

.english-page :is(.block_header, .block_header_s) .box_header nav .gnav > ul > li {
  font-size: 1.7rem;
  padding: 0 16px 5px;
}

.english-page :is(.block_header, .block_header_s) .box_header nav .gnav > ul > li > a {
  white-space: nowrap;
}

.english-page :is(.block_header, .block_header_s) .box_header nav .btn_contact a {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 204px;
  height: 69px;
  padding: 0;
  font-size: 1.7rem;
}

.english-page .btn_contact small {
  display: block;
  margin-top: 6px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3;
}

.english-page .block_header_s .ttl_contents h1 {
  font-size: 4.2rem;
  line-height: 1.25;
}

.english-page .page-intro h2 {
  font-size: 3.6rem;
  line-height: 1.3;
  text-wrap: balance;
}

.english-page .section-heading {
  font-size: 3.4rem;
  line-height: 1.3;
  text-wrap: balance;
}

.english-page .section-header > div,
.english-page .section-header > p {
  flex: 1;
  min-width: 0;
}

.english-page .page-intro .lead {
  line-height: 1.85;
}

.english-page .english-prose p + p {
  margin-top: 22px;
}

.english-page :is(.department-copy, .location-copy, .fact-list, .history-row, .action-link) {
  overflow-wrap: anywhere;
}

.english-page .department-media.is-original img {
  height: auto;
  object-fit: contain;
}

.english-page .action-link {
  box-sizing: border-box;
  max-width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
}

.english-page .english-signature {
  margin-top: 32px;
  text-align: right;
}

.english-page .positioning-map {
  text-wrap: initial;
}

.english-page .activity-chips span {
  box-sizing: border-box;
  padding: 5px;
  font-size: 1.05rem;
}

.english-page .domestic-market li {
  padding: 4px;
  box-sizing: border-box;
}

.english-page .division-link {
  font-size: 1.8rem;
}

.english-page .division-link.is-service {
  font-size: 1.35rem;
}

.english-page .supplier-rail,
.english-page .domestic-market strong {
  font-size: 1.4rem;
}

.english-page .block_footer .menu_footer ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.english-page .block_footer .menu_footer ul li {
  margin: 0;
  padding: 0;
}

.english-page .block_footer .menu_footer ul li a::before {
  content: none;
}

/* The later Font Awesome stylesheet replaces these offline fallbacks. */
.fas {
  font-family: Arial, sans-serif;
  font-style: normal;
}

.fa-arrow-right::before {
  content: '\2192';
}

.fa-arrow-down::before,
.fa-chevron-down::before {
  content: '\2193';
}

/* The home page shares the Japanese top layout; only English text fit differs. */
.english-home .block_header {
  height: calc(100svh - 160px);
  min-height: 500px;
}

.english-home .block_header .box_header .logo_header {
  flex-shrink: 0;
}

.english-home .box_ttl {
  max-width: calc(100% - 40px);
}

.english-home .block_conception .copy_conception p,
.english-home .block_hasso .ttl_hasso p,
.english-home .block_hasso .txt_hasso .inner p {
  font-size: 1.4rem;
  line-height: 1.8;
}

.english-home .block_hasso .ttl_hasso h2 {
  font-size: 5.6rem;
  line-height: 1.15;
}

.english-home .block_hasso .ttl_hasso p {
  max-width: 420px;
  padding-right: 30px;
}

.english-home .block_hasso .ttl_hasso .box_img {
  position: static;
  margin: 32px 40px 0 0;
  text-align: right;
}

.english-home .block_hasso .ttl_hasso .box_img img {
  max-width: 100%;
  height: auto;
}

.english-home .block_hasso .txt_hasso .inner dl {
  flex-wrap: wrap;
  gap: 8px 16px;
  padding-top: 16px;
}

.english-home .block_business .ttl_business h2 {
  font-size: 3.2rem;
  max-width: 780px;
}

@media (min-width: 1201px) {
  .english-page .positioning-core {
    grid-template-columns: minmax(125px, 0.75fr) minmax(170px, 1.2fr) minmax(150px, 0.9fr);
  }
}

@media (max-width: 1367px) {
  .english-page :is(.block_header, .block_header_s) .box_header nav .btn_contact a {
    width: 165px;
    height: 67px;
  }
}

@media (max-width: 1100px) {
  .english-page :is(.block_header, .block_header_s) .box_header nav .btn_contact a {
    width: 135px;
  }
}

@media (max-width: 1000px) and (min-width: 770px) {
  .english-page .block_header_s .box_header nav .icons {
    display: none;
  }

  .english-home .block_header .box_header .logo_header {
    width: 210px;
    margin-left: 20px;
  }

  .english-home .block_header .box_header nav .icons {
    display: none;
  }
}

@media (max-width: 769px) {
  .english-page {
    font-size: 1.5rem;
  }

  .english-page .block_header_s .ttl_contents h1 {
    font-size: 3rem;
    padding: 0 16px;
  }

  .english-page .block_header_s .ttl_contents {
    right: 0;
    left: 0;
    width: 100%;
    padding: 0;
  }

  .english-page .supplier-rail {
    box-sizing: border-box;
    padding: 8px;
    text-align: center;
  }

  .english-page .page-intro h2,
  .english-page .section-heading {
    font-size: 2.8rem;
  }

  .english-home .block_header {
    height: calc(100svh - 77px);
    min-height: 420px;
  }

  .english-home .box_ttl {
    left: 20px;
    right: 20px;
  }

  .english-home .block_hasso .ttl_hasso h2 {
    font-size: 3.6rem;
  }

  .english-home .block_hasso .ttl_hasso p {
    padding-right: 10px;
  }

  .english-home .block_hasso .txt_hasso .inner {
    padding: 20px;
  }

  .english-home .block_business .ttl_business h2 {
    font-size: 2.6rem;
  }
}
