section.mv {
  background: url(/sustainability/index/img/mv_bg.jpg) no-repeat center center/cover;
}
@media screen and (max-width: 768px) {
  section.mv {
    background-position: left center;
  }
}

ul.anch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 30px;
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 60px;
}
@media screen and (max-width: 768px) {
  ul.anch {
    gap: 8px 18px;
    margin-bottom: 26px;
  }
}
ul.anch li a {
  display: inline-flex;
  align-items: center;
  gap: 0 10px;
  padding-bottom: 4px;
  color: var(--bc-blue);
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  ul.anch li a {
    gap: 0 8px;
  }
}
ul.anch li a:not(:hover) {
  border-bottom: 1px solid var(--bc-blue);
}
ul.anch li a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  rotate: 45deg;
}
@media screen and (max-width: 768px) {
  ul.anch li a::after {
    width: 6px;
    height: 6px;
  }
}

section.lead {
  margin-bottom: 25px;
  padding: 0 5% 120px;
  background: url(/sustainability/index/img/lead_img.jpg) no-repeat right bottom/min((100% - 500px) / 2, 500px) auto;
}
@media screen and (max-width: 768px) {
  section.lead {
    margin-bottom: 18px;
    background-size: 240px auto;
  }
}
section.lead .inner {
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
  padding: 70px 5%;
  background: var(--bc-yellow);
  filter: drop-shadow(5px 5px 46px rgba(0, 0, 0, 0.1));
  mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
  section.lead .inner {
    padding: 34px 5% 62px;
  }
}
section.lead .inner p {
  max-width: 620px;
  width: 100%;
  margin: 0 auto;
  line-height: 1.8;
}
section.lead .inner p span {
  background: linear-gradient(110deg, #000 50%, rgba(204, 204, 204, 0.753) 50%) no-repeat 100% 0/225%;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}

.bg {
  margin-bottom: 100px;
  padding: 0 5%;
  background-color: #f6f6f6;
}
@media screen and (max-width: 768px) {
  .bg {
    margin-bottom: 68px;
    padding: 18px 5%;
  }
}
.bg section {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .bg section {
    flex-direction: column;
    gap: 18px 0;
    padding: 38px 0;
  }
}
.bg section:nth-of-type(n + 2) {
  border-top: 1px solid #a5a5a5;
}
.bg section hgroup {
  width: 380px;
}
.bg section hgroup h2 {
  font-size: 34px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .bg section hgroup h2 {
    font-size: 26px;
  }
}
.bg section hgroup p {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .bg section hgroup p {
    font-size: 16px;
  }
}
.bg section .txt {
  max-width: 710px;
  width: calc(100% - 400px);
}
@media screen and (max-width: 768px) {
  .bg section .txt {
    width: 100%;
  }
}
.bg section .txt p {
  line-height: 1.8;
}
.bg section .txt dl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 20px;
}
.bg section .txt dl:nth-of-type(1) {
  padding-bottom: 20px;
  border-bottom: 1px solid #a5a5a5;
}
.bg section .txt dl dt {
  display: flex;
  align-items: center;
  gap: 0 10px;
  margin-bottom: 10px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .bg section .txt dl dt {
    gap: 0 8px;
    margin-bottom: 8px;
  }
}
.bg section .txt dl dt i {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--bc-blue);
  background-color: #fff;
  color: var(--bc-blue);
  font-size: 26px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .bg section .txt dl dt i {
    min-width: 30px;
    min-height: 30px;
    padding-bottom: 3px;
    font-size: 22px;
  }
}
.bg section .txt dl dt span {
  font-weight: bold;
}
.bg section .txt dl dd {
  padding-left: 50px;
}
@media screen and (max-width: 768px) {
  .bg section .txt dl dd {
    padding-left: 40px;
  }
}
.bg section .txt dl dd ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px 0;
}
.bg section .txt dl dd ul li {
  padding-left: 20px;
  text-indent: -20px;
}
.bg section .txt dl dd ul li::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  margin: 0 8px 0 3px;
  border: 5px solid #000;
  rotate: 45deg;
}

section.activity {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 100px;
  background-color: #f6f6f6;
  clip-path: polygon(80px 0, calc(100% - 80px) 0, 100% 80px, 100% calc(100% - 80px), calc(100% - 80px) 100%, 80px 100%, 0 calc(100% - 80px), 0 80px);
}
@media screen and (max-width: 768px) {
  section.activity {
    margin: 0 auto 58px;
    clip-path: polygon(50px 0, calc(100% - 50px) 0, 100% 50px, 100% calc(100% - 50px), calc(100% - 50px) 100%, 50px 100%, 0 calc(100% - 50px), 0 50px);
  }
}
@media screen and (max-width: 500px) {
  section.activity {
    clip-path: polygon(30px 0, calc(100% - 30px) 0, 100% 30px, 100% calc(100% - 30px), calc(100% - 30px) 100%, 30px 100%, 0 calc(100% - 30px), 0 30px);
  }
}
section.activity .inner {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  section.activity .inner {
    padding: 48px 0;
  }
}
section.activity h2 {
  margin-bottom: 60px;
  line-height: 1;
  font-size: 45px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  section.activity h2 {
    margin-bottom: 42px;
    font-size: 28px;
  }
}
section.activity .cntWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap {
    flex-direction: column;
    gap: 26px 0;
  }
}
section.activity .cntWrap:nth-of-type(1) {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #a5a5a5;
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap:nth-of-type(1) {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
}
section.activity .cntWrap h3 {
  display: flex;
  align-items: center;
  gap: 0 10px;
  width: 280px;
  line-height: 1;
  font-size: 32px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap h3 {
    font-size: 22px;
  }
}
section.activity .cntWrap h3::before {
  content: "";
  min-width: 30px;
  min-height: 30px;
  background: url(/sustainability/index/img/activity_mark.png) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap h3::before {
    min-width: 24px;
    min-height: 24px;
  }
}
section.activity .cntWrap .cntBox {
  max-width: 690px;
  width: calc(100% - 300px);
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap .cntBox {
    width: 100%;
  }
}
section.activity .cntWrap .cntBox p {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  section.activity .cntWrap .cntBox p {
    margin-bottom: 18px;
  }
}
section.activity .cntWrap .cntBox .picWrap {
  display: flex;
  justify-content: space-between;
}
section.activity .cntWrap .cntBox .picWrap img {
  width: calc(50% - 5px);
}
/*# sourceMappingURL=style.css.map */
