/* Sustainability page only. The existing site's body typography is unchanged. */
.sustain-page {
  color: #333;
  font-family: 'Noto Sans CJK JP', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.85;
}
.sustain-page * { box-sizing: border-box; }
.sustain-page img { display: block; max-width: 100%; height: auto; }
.sustain-photo-picture { display: contents; }
.sustain-education > .sustain-photo-picture,
.sustain-detail-with-image > .sustain-photo-picture { display: block; width: 100%; }
.sustain-page h1, .sustain-page h2, .sustain-page h3, .sustain-page h4,
.sustain-page p { margin: 0; }
.sustain-hero { margin: 0; }
.sustain-hero img { width: 100%; height: 380px; object-fit: cover; object-position: center; }
.sustain-container { max-width: 1024px; margin: 0 auto; padding: 0 24px 100px; }
.sustain-container--before-environment,
.sustain-container--environment-before,
.sustain-container--environment-after { padding-bottom: 0; }
.sustain-container--environment-after .sustain-block:last-child { margin-bottom: 0; }
.sustain-container--after-environment { padding-top: 88px; }
.sustain-container--after-environment > .sustain-esg:first-child { margin-top: 0; }
.sustain-intro { margin: 55px 0 58px !important; text-align: center; font-size: 32px; line-height: 1.6; font-weight: 700; }
.sustain-materiality { margin-bottom: 90px; padding: 30px 36px 35px; border: 1px solid #d7d7d7; box-shadow: 0 2px 8px #0002; }
.sustain-materiality > h2 { margin-bottom: 26px; font-size: 24px; font-weight: 400; }
.sustain-materiality-grid { display: grid; grid-template-columns: 43% 1fr; gap: 12px; align-items: center; }
.sustain-sdg-grid { width: 100%; }
.sustain-materiality-copy { font-size: 14px; line-height: 1.6; }
.sustain-materiality-copy > p { font-weight: 700; margin-bottom: 10px; font-size: 18px; }
.sustain-materiality-copy ol { padding: 0; margin: 0 0 12px; list-style: none; font-size: 14.5px; }
.sustain-materiality-copy h3 { font-size: 14px; font-weight: 400; margin-bottom: 7px; }
.sustain-related-sdgs { display: flex; flex-wrap: wrap; gap: 5px; }
.sustain-related-sdgs img { width: 56px; height: 56px; }
.sustain-esg { margin-top: 88px; }
.sustain-environment { margin-top: 0; }
.sustain-esg > h2, .sustain-environment > .sustain-container > h2 { padding-bottom: 12px; margin-bottom: 0; font-size: 31px; font-weight: 400; letter-spacing: .06em; }
.sustain-section-line {
  width: 100%;
  height: 25px;
  box-sizing: border-box;
  border-top: 1px solid #153a6b;
  border-left: 1px solid #153a6b;
  margin-bottom: 22px;
}
.sustain-block { margin-bottom: 62px; }
.sustain-block h3, .sustain-social-group h4, .sustain-labor-content h4,
.sustain-social-group > h3 + h3, .sustain-social-group > h3 ~ h3,
.sustain-labor-content > h3, .sustain-community-content > h3,
.sustain-detail h3, .sustain-governance-copy h4 {
  font-size: 19px; font-weight: 700; line-height: 1.55; margin-bottom: 6px;
}
.sustain-block p + p, .sustain-social-group p + p, .sustain-labor-content p + p { margin-top: 5px; }
.sustain-photos { display: flex; gap: 0; }
.sustain-photos img { width: 50%; object-fit: cover; }
.sustain-block.sustain-solar-copy { margin-bottom: 0; }
.sustain-solar-gallery {
  display: flex;
  width: 100%;
  max-width: 1200px;
  aspect-ratio: 3.7;
  margin: 0 auto;
  margin-top: 28px;
  margin-bottom: 60px;
}
.sustain-solar-gallery img { height: 100%; object-fit: cover; }
.sustain-solar-gallery .sustain-solar-aerial { width: 64%; }
.sustain-solar-gallery .sustain-solar-panels { width: 36%; }
.sustain-side-by-side { display: grid; grid-template-columns: 19% 1fr; align-items: start; gap: 36px; }
.sustain-side-by-side .sustain-photos img { width: 50%; }
.sustain-education { grid-template-columns: 62% 1fr; gap: 36px; }
.sustain-education .sustain-education-image { width: 100%; }
.sustain-social-panel { padding: 0; }
.sustain-social-group { padding: 40px 30px 34px 29px; border-top: 1px solid #cad8e3; border-left: 1px solid #cad8e3; }
.sustain-social-group + .sustain-social-group { margin-top: 38px; }
.sustain-labor { margin-top: 38px; }
.sustain-labor-heading { padding-bottom: 0; }
.sustain-labor-heading .sustain-cert-mark { width: 210px; height: auto; margin-right: auto; margin-bottom: 0; margin-left: 0; }
.sustain-labor-content { width: 100%; max-width: 1024px; margin-top: 28px; margin-left: auto; margin-right: auto; }
.sustain-community { margin-top: 48px; }
.sustain-community-heading { padding-bottom: 0; }
.sustain-community-heading .sustain-certificates { margin-bottom: 0; width: 50%; }
.sustain-community-content { width: 100%; max-width: 1024px; margin-top: 25px; margin-left: auto; margin-right: auto; }
.sustain-social-group > h3, .sustain-governance-copy > h3 { font-size: 21px; font-weight: 700; margin-bottom: 10px; }
.sustain-cert-caption { font-size: 14px; }
.sustain-cert-mark { width: 210px; margin: 8px 0 0 20px; }
.sustain-detail { margin-top: 30px; }
.sustain-detail-with-image { display: grid; grid-template-columns: 1fr 185px; gap: 40px; align-items: start; }
.sustain-detail-with-image .sustain-flyer { width: 100%; }
.sustain-detail-seminar { grid-template-columns: 220px 1fr; }
.sustain-certificates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; column-gap: 28px; margin: 14px 0 25px; }
.sustain-certificates figure { display: grid; grid-template-rows: subgrid; grid-row: span 2; min-width: 0; margin: 0; }
.sustain-certificates img { grid-row: 2; width: 210px; height: auto; margin-top: 16px; justify-self: left; }
.sustain-certificates figcaption { grid-row: 1; font-size: 16px; line-height: 1.4; }
.sustain-community-photos-frame { display: flow-root; margin: 26px 0; }
.sustain-community-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; gap: 2px; }
.sustain-community-photos .sustain-photo-picture { display: block; }
.sustain-community-photos img { width: 100%; }
.sustain-governance-copy { padding: 0 0 20px; }
.sustain-governance-copy h4, .sustain-governance-copy h3:not(:first-child) { margin-top: 28px; }
@media (min-width: 769px) {
  .sustain-community-photos-frame { position: relative; left: 50%; transform: translateX(-50%); width: calc(100vw - 48px); max-width: 1200px; }
}
@media (max-width: 768px) {
  .sustain-page { font-size: 16px; line-height: 1.75; }
  .sustain-hero img { height: 140px; }
  .sustain-container { padding: 0 20px 70px; }
  .sustain-container--before-environment,
  .sustain-container--environment-before,
  .sustain-container--environment-after { padding-bottom: 0; }
  .sustain-container--after-environment { padding-top: 48px; }
  .sustain-intro { margin: 30px 0 30px !important; font-size: 18.5px; line-height: 1.55; text-align: left; }
  .sustain-intro br { display: none; }
  .sustain-materiality { margin-bottom: 42px; padding: 6px 12px 22px; }
  .sustain-materiality > h2 { margin-bottom: 0px; font-size: 18px; line-height: 1.6; }
  .sustain-materiality-grid { display: block; }
  .sustain-sdg-grid { margin-bottom: 0px; }
  .sustain-materiality-copy { font-size: 13px; }
  .sustain-materiality-copy > p { margin-bottom: 8px; font-size: 17px; }
  .sustain-related-sdgs { gap: 3px; }
  .sustain-related-sdgs img { width: calc((100% - 15px)/6); height: auto; }
  .sustain-esg { margin-top: 48px; }
  .sustain-esg > h2, .sustain-environment > .sustain-container > h2 { font-size: 20px; padding-bottom: 11px; }
  .sustain-section-line { margin-bottom: 10px; }
  .sustain-block { margin-bottom: 42px; }
  .sustain-block h3, .sustain-social-group h4, .sustain-labor-content h4,
  .sustain-social-group > h3 ~ h3, .sustain-labor-content > h3,
  .sustain-community-content > h3,
  .sustain-detail h3 { font-size: 16px; }
  .sustain-solar-gallery { display: block; overflow: hidden; aspect-ratio: auto; margin-top: 18px; margin-bottom: 42px; }
  .sustain-solar-gallery .sustain-solar-aerial { width: 100%; height: auto; margin-bottom: 1px; }
  .sustain-solar-gallery .sustain-solar-panels { width: 100%; height: auto; }
  .sustain-side-by-side, .sustain-education,
  .sustain-detail-with-image { display: block; }
  .sustain-education { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 0; }
  .sustain-side-by-side .sustain-photos img { width: 100%; margin-bottom: 1px; }
  .sustain-side-by-side .sustain-photos { display: block; margin-top: 15px; }
  .sustain-education .sustain-education-image { margin-top: 18px; margin-bottom: 0; }
  .sustain-social-group { padding: 20px 12px 20px 11px; }
  .sustain-labor-heading { padding-bottom: 0; }
  .sustain-labor-heading .sustain-cert-mark { width: 58%; }
  .sustain-community-heading { padding-bottom: 0; }
  .sustain-social-group > h3, .sustain-governance-copy > h3 { font-size: 16px; }
  .sustain-cert-mark { width: 105px; margin: 10px 0 20px; }
  .sustain-labor-content { margin-top: 20px; }
  .sustain-detail { margin-top: 22px; }
  .sustain-detail-with-image .sustain-flyer { width: 190px; max-width: 100%; margin: 15px auto 0; }
  .sustain-detail-seminar { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 0; }
  .sustain-detail-seminar .sustain-flyer { margin: 15px auto 0; }
  .sustain-certificates { column-gap: 14px; }
  .sustain-certificates figure:first-child img { width: 100%; }
  .sustain-certificates figure:last-child img { width: 100%; }
  .sustain-community-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sustain-community-heading .sustain-certificates { width: 100%; }
}
