@charset "utf-8";
/*------------------------------------*\
    サステナビリティ
\*------------------------------------*/
.greeting {
  position: relative;
  margin-bottom: 50px;
  padding-top: 30px
}
.greeting::before {
    content: "";
    position: absolute;
    right: 57%;
    top: 15%;
    z-index: -1;
    width: 100%;
    height: 95%;
    background: #ebf0f5;
  }
.greeting__heading {
  position: absolute;
  top: 0;
  left: 0;
  width: 7%;
  max-width: 32px;
}
.greeting__body {
  width: 86.81%;
  margin-left: auto;
}
.greeting__image {
  overflow: hidden;
  position: relative;
  border-radius: 6px
}
.greeting__image .message {
    position: absolute;
    top: 10%;
    left: 6%;
    width: 46.55%;
  }
.greeting__text {
  margin-bottom: 40px;
}
.csr-heading {
  margin-bottom: 40px;
  font-size: 2.4rem;
  line-height: 1.4
}
.csr-heading .en {
    color: #004898;
    font-size: 1.5rem;
  }
.csr-heading div.en {
    margin-top: 0.5em;
  }
.mind {
  position: relative;
  margin: 120px 0 60px 0;
  padding-bottom: 20px
}
.mind::before {
    content: "";
    position: absolute;
    top: 27%;
    bottom: 0;
    left: -6%;
    z-index: -1;
    width: 100vw;
    background: #f7f8f8;
  }
.mind__image img {
  border-radius: 6px;
}
.mind__body dt {
    color: #004898;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.15em;
  }
.mind__body dt::after {
    content: "";
    display: block;
    width: 5em;
    margin: 0.5em 0;
    border-bottom: 1px solid #004898;
  }
.mind__body dd {
    margin: 0;
  }
.mind__body ol {
    list-style: none;
    margin: 40px 0 0;
    padding: 0;
    counter-reset: number
  }
.mind__body ol > li {
      position: relative;
      margin-bottom: 1em;
      padding-left: 2.5em;
      counter-increment: number
    }
.mind__body ol > li::before {
        content: counter(number);
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 2em;
        height: 2em;
        border-radius: 6px;
        background: #004898;
        color: #fff;
        font-family: "Jost", sans-serif;
        font-weight: bold;
        text-align: center;
        line-height: 2;
      }
.mind__certification {
  margin-top: 40px;
  background: #fff;
  padding: 20px
}
.mind__certification dl {
    margin: 0;
  }
.mind__certification dt {
    margin-bottom: 1em;
    color: #004898;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: 0.075em;
  }
.mind__certification dd {
    margin: 0;
  }
.mind__certification .iso {
    max-width: 246px;
    margin-top: 30px;
  }
.initiative__header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  left: 50%;
  width: 100vw;
  height: 50vw;
  margin-bottom: 50px;
  margin-left: -50vw;
  background: url(../../sustainability/images/image02.jpg) no-repeat center center / cover;
  color: #fff;
}
.initiative-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  list-style: none;
  margin: 0 3%;
  padding: 0
}
.initiative-list > li {
    width: 47%;
    margin-bottom: 30px;
  }
.initiative01 {
  position: relative;
  margin-top: 60px;
  margin-bottom: 60px
}
.initiative01::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    height: 70%;
    margin-left: -50vw;
    border-radius: 6px;
    background: #f7f8f8;
  }
.initiative01__image {
  padding: 40px 20px;
}
.initiative02 {
  margin-bottom: 80px;
}
.initiative02-list {
  list-style: none;
  margin: 0;
  padding: 0
}
.initiative02-list > li {
    margin-bottom: 55px;
  }
.initiative02__goal {
  width: 100px;
  margin-bottom: 20px;
}
.contribution {
  padding-bottom: 0;
}
.contrib-list {
  list-style: none;
  margin: 0;
  padding: 0
}
.contrib-list > li {
    position: relative;
    margin-top: 65px;
    padding: 20px;
    background: #f3f6f9;
  }
.contrib-list__number {
  position: absolute;
  top: 0;
  left: 20px;
  transform: translateY(-50%);
  width: 60px;
}
.contrib-list__body {
  padding: 30px 0 20px
}
.contrib-list__body strong {
    display: inline-block;
    margin-bottom: 0.5em;
    color: #004898;
    font-size: 1.8rem;
    line-height: 1.5;
  }
.contrib-list__image {
  overflow: hidden;
  background: #fff;
  border-radius: 6px;
  text-align: center;
}
@media (min-width: 45.001em) {
  .mind__container {
    display: flex;
    justify-content: space-between;
  }
  .mind__image {
    flex: 1 0 32%;
    max-width: 32%;
  }
  .mind__body {
    flex: 1 0 64%;
    max-width: 64%;
  }
  .initiative__header {
    height: 30vw;
  }
    .initiative-list > li {
      width: 23%;
    }
    .initiative02-list > li {
      display: flex;
      justify-content: space-between;
    }
  .initiative02__goal {
    width: 21.09%;
    margin-bottom: 0;
  }
  .initiative02__body {
    width: 99%;
	margin-top: 25px;
  }
    .contrib-list > li {
      display: flex;
      justify-content: space-between;
    }
  .contrib-list__body {
    flex: 1 0 49%;
    max-width: 49%;
    align-self: center;
  }
  .contrib-list__image {
    flex: 1 0 47%;
    max-width: 47%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 60.001em) {
  .greeting {
    position: relative;
    margin-bottom: 100px;
    padding-top: 30px;
  }
  .greeting__heading {
    width: 3.81%;
    max-width: 42px;
  }
  .greeting__text {
  }
  .csr-heading {
    font-size: 3.2rem
  }
    .csr-heading .en {
      font-size: 1.8rem;
    }
  .mind {
    margin: 200px 0 140px 0;
    padding-bottom: 70px;
  }
  .mind__image {
    flex: 1 0 48.27%;
    max-width: 48.27%;
  }
  .mind__body {
    flex: 1 0 46.36%;
    max-width: 46.36%
  }
    .mind__body dl {
      display: flex;
    }
    .mind__body dt {
      flex: 1 0 5.5em;
      max-width: 5.5em;
      margin-right: 25px;
      margin-bottom: 1em;
      border-right: 1px solid;
      color: #004898;
      font-size: 2.6rem;
      font-weight: bold;
      letter-spacing: 0.075em
    }
      .mind__body dt::after {
        display: none;
      }
    .mind__body dd {
      flex: 1 0 auto;
    }
  .mind__certification {
    padding: 20px 2% 20px 3.63%
  }
    .mind__certification dl {
      display: flex;
      align-items: center;
    }
    .mind__certification dt {
      margin-bottom: 0;
      width: 7em;
    }
    .mind__certification .iso {
      margin-top: 0;
      margin-left: 20px;
    }
  .initiative__header {
    height: 370px;
    margin-bottom: 70px;
  }
  .initiative01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 120px
  }
    .initiative01::before {
      left: 31.81%;
      height: 100%;
      margin-left: 0;
      border-radius: 6px;
    }
  .initiative01__body {
    flex: 1 0 40.9%;
    max-width: 40.9%;
  }
  .initiative01__image {
    flex: 1 0 55%;
    max-width: 55%;
    padding: 140px 0;
  }
  .initiative02 {
    margin-bottom: 140px;
  }
    .contrib-list > li {
      padding: 32px;
    }
  .contrib-list__number {
    width: 84px;
  }
  .contrib-list__body {
    padding: 20px 0
  }
    .contrib-list__body strong {
      font-size: 2.2rem;
    }
  .contrib-list__body {
    flex: 1 0 47%;
    max-width: 47%;
    padding-left: 3%;
  }
  .contrib-list__image {
    flex: 1 0 49%;
    max-width: 49%;
  }
}
/*# sourceMappingURL=maps/sustainability.css.map */
