@import url("https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;700&family=Jost:wght@300&family=Lato:wght@700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
#contents {
  padding: 0;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.opening {
  padding: 103px 0;
  line-height: 2;
}

.opening-body {
  color: #06346E;
  font-size: 16px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .opening {
    padding: 60px 8% 70px;
  }
}

.box {
  background: #06346E;
  width: 85%;
  max-width: 650px;
  margin: auto;
  padding: 57px 0 54px;
  color: #fff;
  text-align: center;
}

.box-ttl {
  font-size: 24px;
  font-family: 'Lato', sans-serif;
  position: relative;
}

.box-ttl::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translateX(-50%);
  display: block;
  width: 50px;
  height: 1px;
  background: #fff;
}

.box-txt {
  margin-top: 41px;
  font-size: 14px;
  line-height: 2.2;
}

.box-txt--head {
  margin-top: 42px;
  font-size: 24px;
  line-height: 2.5;
  font-family: 'Lato', sans-serif;
}

.box-txt--body {
  line-height: 2;
}

.box-list {
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .box {
    padding: 35px 5% 36px;
  }
  .box-ttl::after {
    width: 30px;
    height: 1px;
    bottom: 0;
  }
  .box-txt {
    margin-top: 28px;
    line-height: 1.75;
  }
}

.mission {
  padding: 100px 0 130px;
  background: url(../../images/esg-mission.svg) center/cover no-repeat;
}

.mission-logo {
  text-align: center;
}

.mission .box {
  margin: 80px auto 0;
}

@media screen and (max-width: 768px) {
  .mission {
    padding: 73px 0 101px;
  }
  .mission-logo {
    max-width: 270px;
    margin: auto;
  }
  .mission .box {
    margin: 62px auto 0;
  }
}

.section-pic {
  display: block;
  margin-top: 38px;
  margin-left: auto;
  width: 82vw;
  max-width: 850px;
}

.section-pic__img {
  display: block;
  width: 100%;
  margin-right: auto;
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
  .section-pic {
    width: 60vw;
  }
}

.inner-head {
  margin: 0 auto;
  width: 100%;
  max-width: 1366px;
}

.section-heading img {
  height: 250px;
}

@media screen and (max-width: 1366px) {
  .section-heading img {
    height: 18.3vw;
  }
}

@media screen and (max-width: 768px) {
  .section-heading img {
    height: 71px;
  }
}

.section-heading__img {
  display: block;
  width: auto;
  height: 100%;
}

.inner-txt {
  width: 85%;
  max-width: 983px;
  margin: auto;
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
  .inner-txt {
    margin: 90px auto 0;
  }
}

.section-list__ttl {
  position: relative;
  padding-left: 45px;
  color: #1782CC;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  height: 30px;
  display: flex;
  align-items: center;
  letter-spacing: 0;
}

.section-list__ttl::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../../images/esg-icon.svg) center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%);
}

.section-list__ttl::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1782CC;
}

.section-list__ttl:nth-child(n + 2) {
  margin-top: 60px;
}

@media screen and (max-width: 768px) {
  .section-list__ttl {
    height: auto;
    padding-left: 38px;
    line-height: 1.3;
    flex-direction: column;
    align-items: flex-start;
  }
  .section-list__ttl::before {
    top: 0;
    transform: none;
  }
  .section-list__ttl:nth-child(n + 2) {
    margin-top: 80px;
  }
}

.section-list__txt {
  margin-top: 40px;
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .section-list__txt {
    margin-top: 26px;
  }
}

.env {
  padding-top: 130px;
  background: url(../../images/esg-section.svg) no-repeat;
  background-position: left top 325px;
  background-size: 75%;
}

@media screen and (max-width: 1366px) {
  .env {
    background-position: left top calc(130px + 14.3vw);
    background-size: 85.36%;
  }
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
  .env {
    padding: 140px 0 0;
    background-position: left top 255px;
  }
}

.env .section-heading {
  margin-left: 6.8vw;
}

.env .section-pic {
  margin-top: 38px;
}

.env .inner-txt {
  margin: 90px auto 0;
}

@media screen and (max-width: 768px) {
  .env {
    padding-top: 109px;
    background-position: left top 163px;
    background-size: 92.53%;
  }
  .env .inner-txt {
    margin: 85px auto 0;
  }
}

.social {
  padding-top: 130px;
  background: url(../../images/esg-section.svg) no-repeat;
  background-position: left top 317px;
  background-size: 75%;
}

@media screen and (max-width: 1366px) {
  .social {
    background-position: left top calc(130px + 13.8vw);
    background-size: 85.36%;
  }
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
  .social {
    padding: 140px 0 0;
    background-position: left top calc(140px + 13.8vw);
  }
}

.social .section-heading {
  margin-left: 4.8vw;
}

.social .section-pic {
  margin-top: 33px;
}

.social .inner-txt {
  margin: 90px auto 0;
}

@media screen and (max-width: 768px) {
  .social {
    padding-top: 178px;
    background-position: left top 230px;
    background-size: 92.53%;
  }
  .social .section-pic {
    margin-top: 35px;
  }
  .social .inner-txt {
    margin: 86px auto 0;
  }
}

.gov {
  padding: 130px 0 170px;
  margin-bottom: 120px;
  background: url(../../images/esg-section.svg) no-repeat;
  position: relative;
  background-size: 75%;
  background-position: left top 315px;
}

@media screen and (max-width: 1366px) {
  .gov {
    background-position: left top calc(130px + 13.8vw);
    background-size: 85.36%;
  }
}

.gov .section-heading {
  max-width: 1100px;
  margin-left: 2.2vw;
}

.gov .section-pic {
  margin-top: 34px;
}

.gov .inner-txt {
  margin: 90px auto 0;
}

.gov .section-list__ttl-sub {
  margin-left: 14px;
}

.gov .box {
  max-width: 800px;
  margin-top: 60px;
  padding: 50px 0 45px;
}

.gov .box-ttl::after {
  bottom: -19px;
}

.gov .box-txt--body {
  margin-top: 7px;
  line-height: 2.9;
  font-size: 16px;
}

.gov .box--guideline {
  padding: 50px 0 54px;
}

.gov .box--guideline .box-list {
  width: 95%;
  max-width: 680px;
  margin: 49px auto 0;
  font-size: 16px;
  list-style: none;
  text-align: left;
  line-height: 2.7;
}

.gov .box + .box {
  margin-top: 60px;
}

.gov-bg {
  position: absolute;
  display: block;
  bottom: 0;
  left: 34.6%;
  width: 62vw;
  z-index: -1;
  max-width: 893px;
}

@media screen and (max-width: 768px) {
  .gov-bg {
    width: 280%;
    max-width: none;
  }
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
  .gov {
    padding: 140px 0 463px;
    background-position: left top calc(140px + 13.5vw);
  }
}

@media screen and (max-width: 768px) {
  .gov {
    padding: 180px 0 74px;
    background-position: left top 233px;
    background-size: 92.53%;
    overflow: hidden;
    width: 100%;
  }
  .gov .section-heading {
    width: 86vw;
    margin-left: 6.2vw;
  }
  .gov .section-list__ttl {
    flex-direction: column;
  }
  .gov .section-list__ttl-sub {
    margin-top: 4px;
    margin-left: 0;
    font-size: 19px;
  }
  .gov .inner-txt {
    margin: 86px auto 0;
    padding: 57px 0 45px;
  }
  .gov .box {
    width: 100%;
    margin-top: 82px;
    padding: 37px 0 45px;
  }
  .gov .box-ttl {
    bottom: -16px;
  }
  .gov .box-txt {
    margin-top: 67px;
  }
  .gov .box-txt--head {
    margin-top: 67px;
  }
  .gov .box-txt--body {
    margin-top: 18px;
  }
  .gov .box + .box {
    margin-top: 82px;
  }
  .gov .box--guideline {
    padding: 42px 0 45px;
  }
  .gov .box--guideline .box-ttl::after {
    bottom: -18px;
  }
  .gov .box--guideline .box-list {
    width: 79%;
    margin: 72px auto 0;
  }
  .gov .box--guideline .box-item {
    line-height: 2;
    text-indent: -1em;
    padding-left: 1em;
  }
  .gov .box--guideline .box-item + .box-item {
    margin-top: 24px;
  }
}

@media screen and (max-width: 480px) {
  .gov .section-list__ttl-sub {
    display: block;
  }
}
