@charset "UTF-8";

.main {
  /* =====================
    MV
  ===================== */
  .u-mv {
    &::after {
      background-image: url('../img/sdgs/mv.png');
    }
  }

  /* =====================
    What is SDGs?
  ===================== */
  .introduction {
    position: relative;
    padding-block: 126px 94px;

    @media (width <= 768px) {
      padding-block: calc((100 / 390) * 64 * 1vw);
    }

    .u-inner {
      position: relative;

      .description {
        margin-block-start: 54px;
        padding-inline: 160px;

        @media only screen and (width <= 768px) {
          margin-block-start: calc((100 / 390) * 32 * 1vw);
          padding-inline: calc((100 / 390) * 16 * 1vw);
        }
      }

      .sdgs-img {
        inline-size: fit-content;
        border: 1px solid #d1d2d5;
        padding-inline: 40px;
        padding-block: 40px;
        margin-inline: auto;
        margin-block-start: 64px;

        @media only screen and (width <= 768px) {
          padding-inline: calc((100 / 390) * 24 * 1vw);
          padding-block: calc((100 / 390) * 24 * 1vw);
          margin-block-start: calc((100 / 390) * 32 * 1vw);
        }

        .img {
          display: block flow;
        }
      }
    }
  }

  /* =====================
    取り組んでいるSDGs
  ===================== */
  .action {
    position: relative;
    padding-block: 0 112px;

    @media only screen and (width <= 768px) {
      padding-block: 0 calc((100 / 390) * 64 * 1vw);
    }

    .u-inner {
      .action-list {
        .item {
          position: relative;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center;
          background-image: url('../img/sdgs/action_bg.png');
          padding-inline: 120px;
          padding-block: 70px 64px;

          @media only screen and (width <= 768px) {
            padding-inline: calc((100 / 390) * 24 * 1vw);
            padding-block: calc((100 / 390) * 48 * 1vw);
          }

          .u-hgroup {
            & span[lang='en'] {
              background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
            }
            & h2.title {
              font-weight: 500;
              letter-spacing: unset;
              text-align: center;
              margin-block-start: 17px;

              @media only screen and (width <= 768px) {
                font-size: calc((100 / 390) * 16 * 1vw);
                margin-block-start: calc((100 / 390) * 8 * 1vw);
                line-height: 1.6;
              }
            }
          }

          .img {
            display: block flow;
            margin-inline: auto;
            margin-block-start: 41px;

            @media only screen and (width <= 768px) {
              margin-block-start: calc((100 / 390) * 32 * 1vw);
              inline-size: calc((100 / 390) * 310 * 1vw);
            }
          }

          .wrap {
            margin-block-start: 48px;
            display: block flex;
            align-items: center;
            gap: 80px;

            @media only screen and (width <= 768px) {
              margin-block-start: calc((100 / 390) * 32 * 1vw);
              flex-direction: column;
              gap: calc((100 / 390) * 32 * 1vw);
            }

            .icon-list {
              display: block flex;
              flex-direction: column;
              gap: 24px;
              flex-shrink: 0;

              @media only screen and (width <= 768px) {
                flex-direction: row;
                gap: calc((100 / 390) * 24 * 1vw);

                & img {
                  inline-size: calc((100 / 390) * 80 * 1vw);
                }
              }
            }
            .unit {
              .description {
                color: #fff;

                & + .description {
                  margin-block-start: 1.6em;
                }
              }
            }
          }

          & + .item {
            margin-block-start: 56px;

            @media only screen and (width <= 768px) {
              margin-block-start: calc((100 / 390) * 48 * 1vw);
            }
          }
        }
      }
    }
  }
}
