@charset "UTF-8";
.wrapper_right {
  max-width: calc(100% - 210px);
  margin-left: auto;
  background: #fff;
}
.page_visual {
  background: url("../img/page_visual.webp") no-repeat center;
  background-size: cover;
}
.title_box {
  .t_main {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 3.2px;
    line-height: 1.5;
    text-align: center;
  }
  .t_sub {
    color: #E4007F;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
  }
}
/* intro */
.intro {
  margin-top: 25px;
  background: url(../img/main_bg.webp) no-repeat center;
  background-size: cover;
}
.int_inner {
  padding: 55px 0 124px;
  .first_text {
    font-size: 2.8rem;
    line-height: 1.75;
    letter-spacing: 2.8px;
    font-weight: bold;
    text-align: center;
  }
}
/* about */
.about {
  background: #BFDDC9;
}
.abo_inner {
  max-width: 840px;
  margin: 0 auto;
  padding: 48px 65px;
  background: #FFF;
  border-top: 3px solid #007A28;
  position: relative;
  top: -70px;
}
.content_box {
  figure , p {
    margin-top: 25px;
  }
}
/* strength */
.str_inner {
  max-width: 980px;
  margin: 0 auto;
  padding-top: 60px;

  .top_icon_outer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    .top_icon_box {
      width: 230px;
      height: 230px;
      background: #EFEFEF;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      p {
        font-size: 2rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 2.4px;
        text-align: center;
        span {
          color: #007A28;
          font-size: 2.4rem;
          line-height: 2;
          text-align: center;
        }
      }
      figure {
        margin-top: 8px;
      }
    }
  }

  .str_contents {
    margin-top: 100px;
    .sc_box {
      display: flex;
      justify-content: center;
      &:nth-child(odd) {
        border-left: 3px solid #007A28;
      }
      &:nth-child(even) {
        border-right: 3px solid #007A28;
        flex-direction: row-reverse;
      }
      &:not(:first-child) {
        margin-top: 68px;
      }
      .left {
        padding: 0 40px;
        .title {
          font-size: 2rem;
          font-weight: bold;
          text-align: center;
          color: #007A28;
          display: flex;
          justify-content: center;
          align-items: center;
          line-height: 1.5;
          @media screen and (max-width: 767px) {
            line-height: 2;
          }
          span {
            font-size: 5rem;
            margin-right: 30px;
          }
        }
      }
    }
  }
}
.sc_btn {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.more_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 204px;
  height: 40px;
  background: #007A28;
  color: #fff;
  position: relative;
  &::after {
    content: "";
    background: url(/common/img/arrow_white.svg) no-repeat center;
    background-size: cover;
    width: 11px;
    height: 11px;
    position: absolute;
    top: calc(50% - 5.5px);
    right: 20px;
  }
  &:hover::after {
    right: 15px;
    transition: .5s all;
  }
}

@media screen and (max-width: 767px) {
  .wrapper_right {
    max-width: 100%;
    margin-left: 0;
  }
  .title_box {
    .t_main {
      font-size: 2.4rem;
      letter-spacing: 2.4px;
    }
    .t_sub {
      font-size: 1.4rem;
    }
  }
  img {
    width: 100%;
    height: auto;
  }
  /* intro */
  .int_inner {
    padding: 55px 5% 60px;
    .first_text {
      font-size: 2.4rem;
      text-align: center;
    }
  }
  /* about */
  .about {
    padding: 0 5%;
  }
  .abo_inner {
    padding: 40px 5%;
    top: -50px;
  }
  .content_box {
    &:not(:first-child) {
      margin-top: 25px;
    }
    h3 {
      text-align: center;
      line-height: 1.5;
    }
    .sdgs_icon_box {
      flex-wrap: wrap;
      max-width: 335px;
      margin: 24px auto 0;
      justify-content: flex-start;
      gap: 5px;
    }
    .flex_box {
      flex-direction: column-reverse;
      align-items: center;
      gap: 10px;
      margin-top: 16px;
      .right_text {
        padding: 18px 5%;
        .title {
          margin-bottom: 10px;
        }
      }
    }
  }

  /* strength */
  .str_inner {
    padding: 50px 5% 0;
    .top_icon_outer {
      flex-wrap: wrap;
      gap: 10px;
      .top_icon_box {
        width: 160px;
        height: 160px;
        p {
          font-size: 1.4rem;
          margin-top: 16px;
          span {
            font-size: 1.6rem;
          }
        }
        figure {
          margin-top: 0;
        }
      }
    }
    .str_contents {
      margin-top: 50px;
      .sc_box {
        display: flex;
        justify-content: center;
        border-top: 3px solid #007A28;
        &:nth-child(odd) {
          border-left: none;
          flex-direction: column;
        }
        &:nth-child(even) {
          border-right: none;
          flex-direction: column;
        }
        &:not(:first-child) {
          margin-top: 34px;
        }
        .left {
          padding: 0 5%;
          margin-bottom: 20px;
          .title {
            font-size: 1.8rem;
            justify-content: flex-start;
            span {
              font-size: 4rem;
              margin-right: 10px;
            }
          }
        }
      }
    }
  }
}
@media print {
}