/*****************************************************
Webfont
*****************************************************/
@font-face {
  font-family: "NunitoSans-Italic";
  font-style: italic;
  font-weight: 200;
  src: url("/assets/font/NunitoSans-Italic-VariableFont.woff") format("woff"), url("/assets/font/NunitoSans-Italic-VariableFont.woff2") format("woff2"), url("/assets/font/NunitoSans-Italic-VariableFont.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "NunitoSans";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/font/NunitoSans-VariableFont.woff") format("woff"), url("/assets/font/NunitoSans-VariableFont.woff2") format("woff2"), url("/assets/font/NunitoSans-VariableFont.ttf") format("truetype");
  font-display: swap;
}
/* ----------------------------------------
.l-main
---------------------------------------- */
.l-main.-sustainability {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
}

/* ----------------------------------------
Background
---------------------------------------- */
.l-pageHeader.-sustainability {
  background-color: #000;
  background-image: url("/assets/images/sustainability/bg_sustainability.jpg");
}

.l-section.-full2 {
  margin-top: 0;
  padding: 8rem 0 9rem;
}
.l-section.-message {
  background: url("/assets/images/sustainability/bg_topmessage3.jpg") 50% 50%/cover no-repeat;
  padding: 10rem 0 11rem;
}
.l-section.-ourSustainability {
  background: url("/assets/images/sustainability/bg_sustainability2.jpg") 50% 50%/cover no-repeat;
}
.l-section.-humanresources {
  background: url("/assets/images/sustainability/bg_humanresources.jpg") 50% 50%/cover no-repeat;
  padding: 12rem 0 13rem;
}
.l-section.-solution {
  background: url("/assets/images/sustainability/bg_solution.jpg") 50% 50%/cover no-repeat;
  padding: 14rem 0 17rem;
}
.l-section.-esg {
  background-color: #f2f5f9;
  background-image: url("/assets/images/sustainability/bg_sustainability_icon.svg"), url("/assets/images/sustainability/bg_sustainability_icon.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: top -34% left 7%, top -200% right -6%;
  background-size: 311px auto, 622px auto;
}
@media screen and (max-width: 1024px) {
  .l-section.-full2 {
    padding: 3rem 0 6rem;
  }
  .l-section.-message {
    padding: 3rem 0 4rem;
  }
  .l-section.-esg {
    padding: 6rem 0 6rem;
  }
}
@media screen and (max-width: 768px) {
  .l-section.-full2 {
    padding: 65% 0 4rem;
  }
  .l-section.-message {
    background: #162333 url("/assets/images/sustainability/bg_topmessage3_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .l-section.-ourSustainability {
    background: #014eb6 url("/assets/images/sustainability/bg_sustainability2_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .l-section.-humanresources {
    background: #2d5a7b url("/assets/images/sustainability/bg_humanresources_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .l-section.-solution {
    background: #2d5a7b url("/assets/images/sustainability/bg_solution_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .l-section.-esg {
    background-position: top left -7%, bottom -5% right -10%;
    background-size: 15% auto, 31% auto;
    padding: 6rem 0 6rem;
  }
}
@media screen and (max-width: 500px) {
  .l-section.-full2 {
    padding-top: 65%;
  }
  .l-section.-humanresources {
    padding-top: 51%;
  }
  .l-section.-esg {
    padding: 6rem 0 6rem;
  }
}

.sustainability-grid_col.-environment {
  background: url("/assets/images/sustainability/bg_environment.jpg") 50% 0/cover no-repeat;
}
.sustainability-grid_col.-society {
  background: url("/assets/images/sustainability/bg_society.jpg") 50% 0/cover no-repeat;
}
.sustainability-grid_col.-governance {
  background: url("/assets/images/sustainability/bg_governance.jpg") 50% 0/cover no-repeat;
}
@media screen and (max-width: 768px) {
  .sustainability-grid_col.-environment {
    background: #305999 url("/assets/images/sustainability/bg_environment_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .sustainability-grid_col.-society {
    background: #00529b url("/assets/images/sustainability/bg_society_sp.jpg") 50% 0/100% auto no-repeat;
  }
  .sustainability-grid_col.-governance {
    background: #14252c url("/assets/images/sustainability/bg_governance_sp.jpg") 50% 0/100% auto no-repeat;
  }
}

/* ----------------------------------------
.l-container
---------------------------------------- */
.l-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.l-container.-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.l-container .sustainability-inner {
  width: 60%;
  padding: 0 3rem;
}
.-solution .l-container .sustainability-inner {
  width: 65%;
}
@media screen and (max-width: 1024px) {
  .l-container .sustainability-inner {
    width: 60%;
  }
}
@media screen and (max-width: 900px) {
  .l-container {
    display: block;
  }
  .l-container .sustainability-inner {
    width: 100%;
  }
  .-solution .l-container .sustainability-inner, .-humanresources .l-container .sustainability-inner {
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  .-message .l-container .sustainability-inner {
    padding-left: 40%;
  }
}
@media screen and (max-width: 768px) {
  .l-container .sustainability-inner {
    padding: 0 2rem;
  }
}

/* ----------------------------------------
.l-section
---------------------------------------- */
.l-section.-ourSustainability .sustainability-inner {
  min-width: 746px;
}
.l-section.-message .sustainability-title,
.l-section.-message .sustainability-lead,
.l-section.-message .sustainability-lead02,
.l-section.-message .sustainability-lead_english {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.75);
}
.l-section.-humanresources .sustainability-title .-en {
  line-height: 0.9;
  margin-bottom: 0.5rem;
}
.l-section.-btn-section {
  margin-top: 8rem;
}
.l-section.-btn-section > .l-container {
  display: block;
  padding: 0 2.4rem;
}
@media screen and (max-width: 900px) {
  .l-section.-ourSustainability .sustainability-inner {
    min-width: initial;
  }
  .l-section.-btn-section {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 500px) {
  .l-section.-btn-section > .l-container {
    padding: 0 1.5rem;
  }
}

/* ----------------------------------------
title
---------------------------------------- */
.sustainability-title {
  margin-bottom: 2.4rem;
  color: #fff;
}
.sustainability-title .-en {
  display: block;
  font-family: "NunitoSans-Italic", sans-serif;
  font-size: 8rem;
  font-weight: 200;
  font-style: italic;
  line-height: 1.1;
}
.sustainability-title .-jp {
  display: block;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 400;
}
.sustainability-grid_col .sustainability-title {
  margin-top: 0;
  margin-bottom: 0.4rem;
}
.sustainability-grid_col .sustainability-title .-en {
  font-size: 7rem;
}
.sustainability-grid_col .sustainability-title .-en.-only {
  font-size: 6rem;
}
@media screen and (max-width: 1024px) {
  .sustainability-title .-en {
    font-size: 6rem;
  }
  .sustainability-title .-jp {
    font-size: 2.2rem;
  }
  .sustainability-grid_col .sustainability-title .-en {
    font-size: 5.2rem;
  }
  .sustainability-grid_col .sustainability-title .-en.-only {
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 768px) {
  .sustainability-title {
    margin-bottom: 1.2rem;
  }
  .sustainability-title .-en {
    font-size: 5rem;
  }
  .sustainability-title .-jp {
    font-size: 2.1rem;
  }
  .sustainability-grid_col .sustainability-title .-en {
    font-size: 4.5rem;
  }
  .sustainability-grid_col .sustainability-title .-en.-only {
    font-size: 4.5rem;
  }
}

@media screen and (max-width: 768px) {
  .-ourSustainability .sustainability-link .sustainability-title .-jp {
    padding-right: 2rem;
    font-size: 2rem;
  }
  .-ourSustainability .sustainability-link .sustainability-title .-jp::after {
    right: 0.6rem;
  }
}
@media screen and (max-width: 500px) {
  .-esg .c-heading {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
}
/* ----------------------------------------
link
---------------------------------------- */
.sustainability-link:hover {
  text-decoration: none;
}
.sustainability-link:hover .sustainability-title .-jp {
  text-decoration: underline;
}
.sustainability-link:hover .sustainability-title .-en.-only {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  text-decoration-thickness: 2px;
}
.sustainability-link .sustainability-title .-jp {
  position: relative;
  display: inline-block;
  padding-right: 4rem;
}
.sustainability-link .sustainability-title .-jp::after {
  display: block;
  position: absolute;
  top: 0;
  right: 1.8rem;
  bottom: 0;
  width: 1rem;
  height: 1rem;
  margin: auto 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  content: "";
}
.sustainability-link .sustainability-title .-en.-only {
  position: relative;
  display: inline-block;
}
.sustainability-link .sustainability-title .-en.-only::after {
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  margin: 0 0 0.2rem 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  content: "";
}
@media screen and (max-width: 1024px) {
  .sustainability-link .sustainability-title .-en.-only::after {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 3px;
  }
}
@media screen and (max-width: 768px) {
  .sustainability-link .sustainability-title .-jp {
    padding-right: 3.4rem;
  }
  .sustainability-link .sustainability-title .-jp::after {
    width: 0.7rem;
    height: 0.7rem;
    border-width: 2px;
  }
  .sustainability-link .sustainability-title .-en.-only::after {
    width: 1.4rem;
    height: 1.4rem;
    border-width: 2px;
  }
}

/* ----------------------------------------
lead
---------------------------------------- */
.sustainability-lead {
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 500px) {
  .sustainability-lead + p.sustainability-lead02 {
    margin-top: 1.2rem;
  }
}

.sustainability-lead02 {
  margin-bottom: 0.6rem;
  color: #fff;
  font-size: 1.4rem;
  line-height: 2.3;
}
.sustainability-lead02 .president-name {
  margin-left: 1rem;
}

.sustainability-lead_english {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: right;
}
.sustainability-lead_english .president-name {
  display: block;
  font-size: 2rem;
}

/* ----------------------------------------
grid
---------------------------------------- */
.sustainability-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sustainability-grid_col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 33.3333333333%;
  padding: 6rem 2.4rem 4rem;
}
.sustainability-grid_inner {
  width: max(394px, 63%);
}
@media screen and (max-width: 940px) {
  .sustainability-grid {
    display: block;
  }
  .sustainability-grid_col {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .sustainability-grid_col {
    padding: 40% 1.5rem 4rem;
  }
  .sustainability-grid_inner {
    width: 80%;
  }
}
@media screen and (max-width: 500px) {
  .sustainability-grid_inner {
    width: 100%;
  }
}

.c-grid.-gutterXsmall {
  margin-left: -1rem;
  margin-bottom: -1rem;
}
.c-grid.-gutterXsmall > .c-grid_col {
  margin-left: 1rem;
  margin-bottom: 1rem;
}
.c-grid.-gutterXsmall.-division2 > .c-grid_col {
  width: calc(49.9750124938% - 1rem);
}
@media screen and (max-width: 768px) {
  .c-grid.-gutterXsmall {
    margin-left: 0;
    margin-bottom: 0;
  }
  .c-grid.-gutterXsmall.-division2 > .c-grid_col {
    margin: 0 0 1rem;
    width: auto;
  }
}

/* ----------------------------------------
box
---------------------------------------- */
.sustainability-box {
  background: #fff;
  margin-top: 1rem;
  padding: 1.8rem 4rem;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 940px) {
  .sustainability-box {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .sustainability-box {
    padding: 1.8rem 2rem;
  }
}
@media screen and (max-width: 500px) {
  .sustainability-box {
    padding: 1.8rem 1.2rem;
  }
}

/* ----------------------------------------
btn
---------------------------------------- */
.c-btn.-mediumSmall {
  margin-top: 3.6rem;
  min-width: 21.2em;
}
@media screen and (max-width: 768px) {
  .c-btn.-mediumSmall {
    margin-top: 2.4rem;
  }
}