.sustainabilityPage_title_wrap {
  padding-top: 6%;
}

.headline_bg {
  text-align: center;
}

/* msg */
.section_msg {
  padding-top: 14.93%;
}

.msg_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 81.06%;
}

.msg_title {
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
}

.msg_text {
  font-size: 3.7vw;
  line-height: 1.8;
  margin-top: 4vw;
  text-align: justify;
}

.msg_illust {
  margin-left: auto;
  margin-right: auto;
  margin-top: 12.5vw;
  width: 72vw;
}

/* approach */
.section_approach {
  background-color: #E8FCCB;
  margin-top: -15.93vw;
  padding-top: 42vw;
  padding-bottom: 41%;
}

.approach_wrap {
  margin-left: auto;
  margin-right: auto;
  width: 82%;
}

.approach_wrap:nth-child(n+2) {
  margin-top: 30.8%;
}

.approach_inner {
  margin-top: 9.6vw;
}

.approach_inner.food-waste {
  margin-top: 8.24vw;
}

.approach_inner.food-waste .approach_item.item-1 {
  margin-bottom: 10.66vw;
}

.approach_inner.food-waste .approach_item.item-2,
.approach_inner.food-waste-2 .approach_item.item-2 {
  margin-bottom: 0;
}

.approach_inner.food-waste-2,
.approach_inner.food-waste-3 {
  margin-top: 12.53vw;
}

.approach_inner.society-2 {
  margin-top: 11.98vw;
}

.approach_inner.society-3 {
  margin-top: 12.26vw;
}

.approach_inner.society-4 {
  margin-top: 12.66vw;
}

.approach_inner.food-waste-2 .approach_item.item-1 {
  margin-bottom: 9.16vw;
}

.approach_inner.food-waste-2 .approach_item.item-1 .approach_text {
  margin-top: 2.4vw;
}

.approach_subtitle {
  font-size: 5.3vw;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4vw;
}

.approach_subtitle::after {
  content: '';
  aspect-ratio: 608/2;
  background-color: #000;
  display: block;
  margin-top: 2.53%;
  width: 100%;
}

.approach_subtitle.pc {
  display: none;
}

.approach_subtitle.sp {
  display: block;
}

.approach_item {
  margin-bottom: 10.66%;
}

.approach_img {
  border-radius: 1.5vw;
  overflow: hidden;
}

.approach_text {
  font-size: 3.7vw;
  line-height: 1.8;
  margin-top: 5%;
  text-align: justify;
}

.approach_text a {
  text-decoration: underline;
  text-underline-offset: .2em;
  color: #0088FF;
}

.approach_text .notice {
  font-size: 3.2vw;
  line-height: 1.6;
}

.approach_text.mt-0 {
  margin-top: 0;
}

.approach_text.fw-700 {
  font-weight: 700;
}

.approach_text.txtCenter {
  text-align: center;
}

.approach_text.photoCredit {
  margin-top: 1.94vw;
  font-size: 3.2vw;
  text-align: center;
}

.approach_text.photoCreditTop {
  margin-top: 2.4vw;
}

.approach_text.isoCertTxt {
  margin-top: 5.60vw;
  text-align: center;
}

.approach_text.policyTxt {
  margin-top: 3.33vw;
  margin-bottom: 2.4vw;
}

.innerList {
  margin-top: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.innerList span {
  padding-right: 1.33vw;
  width: 100%;
  max-width: max-content;
}

.approach_name {
  font-size: 4.2vw;
  line-height: 1.6;
  margin-top: 6.93vw;
  text-align: right;
}

.approach_name .position {
  font-weight: 700;
}

.approach_name .name {
  font-size: 5.3vw;
  font-weight: 700;
}



@media screen and (min-width: 768px) {
  .sustainabilityPage_title_wrap {
    padding-top: min(4.27vw, 94px);
  }

  /* 共通 */
  .msg_container,
  .approach_container {
    margin-left: auto;
    margin-right: auto;
    max-width: 2200px;
  }

  .headline_bg {
    text-align: left;
  }

  /* msg */
  .section_msg {
    padding-top: min(4.13vw, 91px);
    padding-bottom: min(5.22vw, 115px);
  }

  .msg_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 70%;
  }

  .msg_text_box {
    width: min(915px, 41.59vw);
  }

  .msg_title {
    font-size: min(2.18vw, 48px);
  }

  .msg_text {
    font-size: min(1.27vw, 28px);
    margin-top: min(1.22vw, 27px);
  }

  .msg_illust {
    margin: 0;
    width: 37%;
  }

  /* approach */
  .section_approach {
    margin-top: 0;
    padding-top: min(9.09vw, 200px);
    padding-bottom: min(17.36vw, 382px);
  }

  .approach_wrap:nth-child(n+2) {
    margin-top: min(8.36vw, 184px);
  }

  .approach_inner {
    margin-top: min(4.63vw, 102px);
  }

  .approach_inner.food-waste {
    margin-top: min(4.68vw, 103px);
  }

  .approach_inner.food-waste .approach_item.item-1 {
    margin-bottom: min(3.13vw, 69px);
  }

  .approach_inner.food-waste .approach_item.item-2,
  .approach_inner.food-waste-2.approach_item.item-2 {
    margin-bottom: 0;
  }

  .approach_inner.food-waste-2 {
    margin-top: min(4.63vw, 102px);
  }

  .approach_inner.food-waste-3 {
    margin-top: min(4.68vw, 103px);
  }

  .approach_inner.society-2 {
    margin-top: min(4.63vw, 102px);
  }

  .approach_inner.society-3 {
    margin-top: min(4.77vw, 105px);
  }

  .approach_inner.society-4 {
    margin-top: min(3.59vw, 79px);
  }

  .approach_inner.food-waste-2 .approach_item.item-1 {
    margin-bottom: min(4.63vw, 102px);
  }

  .approach_inner.food-waste-2 .approach_item.item-1 .approach_text {
    margin-top: 0;
  }

  .approach_subtitle {
    font-size: min(1.81vw, 40px);
    margin-bottom: min(1.36vw, 30px);
  }

  .approach_subtitle::after {
    aspect-ratio: 1795/2;
    margin-top: min(0.77vw, 17px);
  }

  .approach_subtitle.pc {
    display: block;
  }

  .approach_subtitle.sp {
    display: none;
  }

  .approach_item {
    display: flex;
    justify-content: space-between;
    margin-bottom: min(3.13vw, 69px);
    position: relative;
  }

  .approach_item.item-reuse-info {
    margin-bottom: min(4.63vw, 102px);
  }

  .approach_item.float-pc {
    display: block;
  }

  .approach_item.float-pc .approach_img {
    float: right;
  }

  .approach_text a:hover {
    text-decoration: none;
  }

  .approach_text .notice {
    font-size: min(1.09vw, 24px);
  }

  .approach_text.photoCredit {
    position: absolute;
    bottom: min(-2.09vw, 46px);
    right: 0;
    font-size: min(1.09vw, 24px);
  }

  .approach_text.photoCreditTop {
    margin-top: 0;
  }

  .approach_text.isoCertTxt {
    margin-top: min(2.68vw, 59px);
    text-align: left;
  }

  .approach_text.policyTxt {
    margin-top: min(0.90vw, 20px);
    margin-bottom: min(0.59vw, 13px);
    font-size: min(1.22vw, 27px);
  }

  .innerList span {
    padding-right: min(0.45vw, 10px);
  }

  .approach_img {
    border-radius: min(.5vw, 10px);
    flex-shrink: 0;
    order: 2;
    margin-left: min(4.04vw, 89px);
    width: min(904px, 41.09vw);
  }

  .approach_text {
    font-size: min(1.3vw, 28px);
    margin-top: 0;
  }

  .approach_name {
    font-size: min(1.5vw, 32px);
    margin-top: min(2.86vw, 63px);
  }

  .approach_name .name {
    font-size: min(1.8vw, 40px);
  }
}
