/*--------------------------------------------------------------
  RELATED
--------------------------------------------------------------*/
.p-related .l-main {
  overflow: hidden;
}
.p-related .introduction {
  position: relative;
  z-index: -1;
}
.p-related .introduction .bg-container {
  width: 26.6666666667%;
  position: absolute;
  top: 0;
  right: 0;
}
.p-related .introduction .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(50px, 3.125rem, 13.3333333333vw);
}
.p-related .introduction .text {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2; */
  font-size: min(18px, 1.125rem, 4.8888888vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-related .recycling .inner {
  display: flex;
  flex-direction: column-reverse;
  row-gap: min(30px, 1.875rem, 8vw);
  width: 92%;
  margin-inline: auto;
  padding-top: min(65px, 4.0625rem, 17.3333333333vw);
}
.p-related .recycling .title-container {
  display: flex;
  flex-direction: column;
  padding-left: min(22px, 1.375rem, 5.8666666667vw);
  position: relative;
  z-index: 0;
}
.p-related .recycling .title-container::before {
  content: "";
  display: block;
  background-image: linear-gradient(to top, #00C85B, #00ADAC);
  width: min(5px, 0.3125rem, 1.3333333333vw);
  height: min(52px, 3.25rem, 13.8666666667vw);
  position: absolute;
  top: 0;
  left: 0;
}
.p-related .recycling .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  color: #00c85b;
}
.p-related .recycling .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  margin-top: min(5px, 0.3125rem, 1.3333333333vw);
}
.p-related .recycling .text {
  font-size: min(18px, 1.125rem, 4.8888888vw);
  line-height: calc(38/18);
  font-weight: 500;
  width: 95.652173913%;
  margin-top: min(16px, 1rem, 4.2666666667vw);
}
.p-related .vending .inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  width: 92%;
  margin-inline: auto;
  padding-top: min(65px, 4.0625rem, 17.3333333333vw);
  padding-bottom: min(45px, 2.8125rem, 12vw);
}
.p-related .vending .text-container {
  grid-column: 1;
  grid-row: 2;
  margin-top: min(30px, 1.875rem, 8vw);
}
.p-related .vending .title-container {
  display: flex;
  flex-direction: column;
  padding-left: min(22px, 1.375rem, 5.8666666667vw);
  position: relative;
  z-index: 0;
}
.p-related .vending .title-container::before {
  content: "";
  display: block;
  background-image: linear-gradient(to top, #00C85B, #00ADAC);
  width: min(5px, 0.3125rem, 1.3333333333vw);
  height: min(52px, 3.25rem, 13.8666666667vw);
  position: absolute;
  top: 0;
  left: 0;
}
.p-related .vending .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  color: #00c85b;
}
.p-related .vending .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  margin-top: min(5px, 0.3125rem, 1.3333333333vw);
}
.p-related .vending .text {
  font-size: min(18px, 1.125rem, 4.8888888vw);
  line-height: calc(38/18);
  font-weight: 500;
  width: 95.652173913%;
  margin-top: min(16px, 1rem, 4.2666666667vw);
}
.p-related .vending .image-container {
  grid-column: 1;
  grid-row: 1;
}
.p-related .vending .list-container {
  grid-column: 1;
  grid-row: 3;
  margin-top: min(80px, 5rem, 21.3333333333vw);
}
.p-related .vending .list {
  display: flex;
  flex-direction: column;
  row-gap: min(25px, 1.5625rem, 6.6666666667vw);
}
.p-related .vending .item {
  display: flex;
  flex-direction: column;
  row-gap: min(20px, 1.25rem, 5.3333333333vw);
}
.p-related .vending .head {
  padding-left: min(29.5px, 1.84375rem, 7.8666666667vw);
  position: relative;
}
.p-related .vending .head img {
  width: min(21px, 1.3125rem, 5.6vw);
  position: absolute;
  top: min(4px, 0.25rem, 1.0666666667vw);
  left: 0;
}
.p-related .vending .head span {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.4444444444;
}
.p-related .vending .box {
  background-color: #f5f5f5;
  padding-top: min(28px, 1.75rem, 7.4666666667vw);
  padding-bottom: min(30px, 1.875rem, 8vw);
}
.p-related .vending .list-text {
  font-size: min(18px, 1.125rem, 4.8vw);
  font-weight: 500;
  line-height: calc(38/18);
  letter-spacing: 0.05em;
  width: 91.3043478261%;
  margin-inline: auto;
}
.p-related .c-contact {
  background-color: transparent;
}

@media (768px <= width) {
  .p-related {
    width: 100%;
    margin-inline: auto;
  }
  .p-related .introduction .bg-container {
    width: min(344px, 21.5rem, 23.8888888889vw);
  }
  .p-related .introduction .inner {
    width: min(1200px, 75rem, 83.3333333333vw);
    margin-inline: auto;
    padding-top: min(86px, 5.375rem, 5.9722222222vw);
  }
  .p-related .introduction .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 2;
    letter-spacing: 0.1em;
    width: min(856px, 53.5rem, 59.4444444444vw);
  }
  .p-related .recycling .inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: min(1200px, 75rem, 83.3333333333vw);
    padding-top: min(50px, 3.125rem, 3.4722222222vw);
  }
  .p-related .recycling .text-container {
    width: min(531px, 33.1875rem, 36.875vw);
    margin-top: min(46px, 2.875rem, 3.1944444444vw);
  }
  .p-related .recycling .title-container {
    padding-left: min(53px, 3.3125rem, 3.6805555556vw);
  }
  .p-related .recycling .title-container::before {
    width: min(10px, 0.625rem, 0.6944444444vw);
    height: min(97px, 6.0625rem, 6.7361111111vw);
  }
  .p-related .recycling .lead {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.2352941176;
    margin-top: min(14px, 0.875rem, 0.9722222222vw);
  }
  .p-related .recycling .title {
    font-size: min(38px, 2.375rem, 2.6388888889vw);
    line-height: 1.4473684211;
    margin-top: 0;
  }
  .p-related .recycling .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.8888888889;
    width: 100%;
    margin-top: min(50px, 3.125rem, 3.4722222222vw);
  }
  .p-related .recycling .image-container {
    width: min(560px, 35rem, 38.8888888889vw);
  }
  .p-related .vending .inner {
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: min(94px, 5.875rem, 6.5277777778vw);
    width: min(1200px, 75rem, 83.3333333333vw);
    padding-top: min(22px, 1.375rem, 1.5277777778vw);
    padding-bottom: min(83px, 5.1875rem, 5.7638888889vw);
  }
  .p-related .vending .text-container {
    grid-column: 1;
    grid-row: 1;
    width: min(546px, 34.125rem, 37.9166666667vw);
    margin-top: min(46px, 2.875rem, 3.1944444444vw);
  }
  .p-related .vending .title-container {
    padding-left: min(53px, 3.3125rem, 3.6805555556vw);
  }
  .p-related .vending .title-container::before {
    width: min(10px, 0.625rem, 0.6944444444vw);
    height: min(97px, 6.0625rem, 6.7361111111vw);
  }
  .p-related .vending .lead {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.2352941176;
    margin-top: min(14px, 0.875rem, 0.9722222222vw);
  }
  .p-related .vending .title {
    font-size: min(38px, 2.375rem, 2.6388888889vw);
    line-height: 1.4473684211;
    margin-top: 0;
  }
  .p-related .vending .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.8333333333;
    width: 100%;
    margin-top: min(50px, 3.125rem, 3.4722222222vw);
  }
  .p-related .vending .image-container {
    grid-column: 2;
    grid-row: 1;
    width: min(560px, 35rem, 38.8888888889vw);
  }
  .p-related .vending .list-container {
    grid-column: 1/-1;
    grid-row: 2;
    margin-top: min(90px, 5.625rem, 6.25vw);
  }
  .p-related .vending .list {
    display: grid;
    grid-template-columns: repeat(2, 580fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: min(38px, 2.375rem, 2.6388888889vw);
    grid-row-gap: min(14px, 0.875rem, 0.9722222222vw);
  }
  .p-related .vending .item {
    row-gap: min(18px, 1.125rem, 1.25vw);
  }
  .p-related .vending .item:nth-of-type(2n + 1) .list-text {
    width: 84.8275862069%;
  }
  .p-related .vending .head {
    padding-left: min(38px, 2.375rem, 2.6388888889vw);
  }
  .p-related .vending .head img {
    width: min(25px, 1.5625rem, 1.7361111111vw);
    top: min(7px, 0.4375rem, 0.4861111111vw);
  }
  .p-related .vending .head span {
    font-size: min(24px, 1.5rem, 1.6666666667vw);
    line-height: 1.4583333333;
  }
  .p-related .vending .box {
    display: flex;
    align-items: center;
    height: min(170px, 10.625rem, 11.8055555556vw);
    padding-block: 0;
  }
  .p-related .vending .list-text {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.6470588235;
    letter-spacing: 0.1em;
    width: 79.3103448276%;
  }
}
@media (1441px <= width) {
  .p-related .introduction .bg-container {
    width: 23.889%;
  }
}
