.pageHero {
  @media screen and (max-width: 767px) {
    .container1040 {
      padding-inline: 3rem;
    }
  }
}

.pageMission__lead {
  font-size: 1.6rem;
  line-height: 2.125;
  letter-spacing: 0.033em;
  margin-top: 2rem;
  text-align: center;
  @media screen and (max-width: 767px) {
    margin-inline: 2rem;
    line-height: 1.75;
  }
}

.pageContainer {
  margin-block: 2.2rem 0;
  .mission-tree {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    .mission-tree-1 {
      background-image: url(../../images/common/img_bg_left-tree.webp);
      width: 27rem;
      height: 131rem;
      top: 205rem;
      left: 0;
      z-index: -1;
      opacity: 1;
    }
    .mission-tree-2 {
      background-image: url(../../images/common/img_bg_right-tree.webp);
      width: 24rem;
      height: 57rem;
      top: 331rem;
      right: 0;
      z-index: -1;
      opacity: 1;
    }
    .mission-tree-3 {
      background-image: url(../../images/common/img_bg_left-tree.webp);
      width: 27rem;
      height: 131rem;
      bottom: 144rem;
      left: 0;
      z-index: -1;
      opacity: 1;
    }
    .mission-tree-4 {
      background-image: url(../../images/common/img_bg_right-tree.webp);
      width: 24rem;
      height: 57rem;
      bottom: 80rem;
      right: 0;
      z-index: -1;
      opacity: 1;
    }
  }
  @media screen and (max-width: 767px) {
    .mission-tree {
      display: none;
    }
  }
}

.pageHero__bg-leaf {
  .leaf-3 {
    display: none;
  }
}

.pageContents {
  .leaf-3 {
    background-image: url(../../images/common/img_bg_contents-leaf-1.webp);
    width: 8.1rem;
    height: 4.9rem;
    bottom: 67rem;
    left: -13rem;
    animation: fall-left-leaf3 1.4s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    animation-delay: 0.8s;
  }
  @media screen and (max-width: 767px) {
    .leaf-1 {
      right: 1rem;
      top: 49.5rem;
    }
  }
}

@keyframes fall-left-leaf3 {
  0% {
    transform: translate(60px, -60px) rotate(145deg);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0) rotate(135deg);
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .container1040 {
    padding-inline: 1rem;
  }

  .pageHero-h2 {
    line-height: 1.2;
  }
}

#credo-map {
  padding-top: 2rem;
  .credoMap__inner {
    background: var(--colorWhite);
    border-radius: 1.5rem;
    padding: 1.5rem 0 4rem 0rem;
    margin-top: 2.5rem;
    .credoMap__img {
      padding-inline: 0.8rem 2.8rem;
    }
    .credoMap__img--button {
      display: none;
    }
    .credoMap__text {
      font-size: 1.6rem;
      letter-spacing: 0.033em;
      line-height: 2.125;
      padding-left: 6rem;
    }
  }
  @media screen and (max-width: 767px) {
    padding-inline: 2rem;
    .credoMap__inner {
      border-radius: 1rem;
      padding: 1rem 0.8rem 3rem;
      margin-top: 1.5rem;
      .credoMap__img {
        padding-inline: 0;
      }
      .credoMap__img--button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        width: 10.4rem;
        height: 2.5rem;
        border-radius: 2rem;
        border: 1px solid var(--colorGreen);
        box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
        background: var(--colorWhite);
        font-size: 1.1rem;
        font-family: var(--familyZenMaruGothic);
        font-weight: 700;
        letter-spacing: -0.05em;
        margin: 1.5rem auto 0;
      }
      .credoMap__text {
        padding-inline: 1.1rem;
        margin-top: 2.5rem;
        line-height: 1.875;
      }
    }
    .modal {
      height: 110vw;
    }
    .modalBody__figure img {
      background: var(--colorWhite);
    }
  }
}

#credo {
  padding-top: 4.8rem;
  .credo__inner {
    padding: 4rem 4.8rem 0;
    margin-top: 3rem;
    background: var(--colorWhite);
    border-radius: 1.5rem;
    .credo__item {
      padding-bottom: 4.5rem;
      &.purpose {
        padding-bottom: 6rem;
        .credo__titleWrap {
          background: #80c65c;
        }
      }
      &.mission {
        padding-bottom: 3.5rem;
        .credo__titleWrap {
          background: #21a368;
        }
      }
      &.vision {
        .credo__titleWrap {
          background: #1ab7a8;
        }
        .credoList__inner {
          background: #f6f6f4;
          .credoList {
            .credoList__item {
              border-bottom: 2px dotted #18aa9c;
              .credoList__num {
                color: #18aa9c;
                &::before {
                  background: #18aa9c;
                }
              }
              .credoList__textarea {
                .credoList__head {
                  color: #18aa9c;
                }
              }
            }
          }
        }
      }
      &.value {
        .credo__titleWrap {
          background: #1a8baa;
        }
        .credoList__inner {
          background: #f6f6f4;
          .credoList {
            .credoList__item {
              border-bottom: 2px dotted #1a8baa;
              .credoList__num {
                color: #1a8baa;
                &::before {
                  background: #1a8baa;
                }
              }
              .credoList__textarea {
                .credoList__head {
                  color: #1a8baa;
                }
              }
            }
          }
        }
      }
      .credo__titleWrap {
        background: var(--colorGreen);
        border-radius: 1.5rem;
        padding: 1.2rem 2.5rem;
        display: flex;
        gap: 2rem;
        align-items: center;
        .credo__title {
          font-size: 2rem;
          font-family: var(--familyZenMaruGothic);
          font-weight: 700;
          letter-spacing: 0.042em;
          color: var(--colorWhite);
        }
        .credo__subtitle {
          font-size: 1.8rem;
          font-weight: 700;
          font-family: var(--familyZenMaruGothic);
          letter-spacing: 0.046em;
          line-height: 1.55;
          border-radius: 3rem;
          background: var(--colorWhite);
          padding-inline: 1.8rem;
          width: fit-content;
        }
      }
      .credoColumn {
        display: grid;
        align-items: center;
        grid-template-columns: 14.5% 34.5% auto;
        padding-inline: 0.5rem;
        gap: 1.7rem;
        margin-top: 2rem;
        .credoColumn__title {
          font-family: var(--familyZenMaruGothic);
          font-size: 2rem;
          font-weight: 700;
          line-height: 1.4;
          letter-spacing: 0.042em;
          color: var(--colorGreen);
        }
        .credoColumn__text {
          font-size: 1.6rem;
          line-height: 1.875;
          letter-spacing: 0.033em;
        }
      }
      .credoLead__wrap {
        display: grid;
        grid-template-columns: 39.5% auto;
        gap: 1rem;
        margin-top: 3.2rem;
        padding-right: 1rem;
        align-items: center;
        .credoLead {
          margin-top: 0;
        }
      }
      .credoLead {
        font-family: var(--familyZenMaruGothic);
        font-size: 2rem;
        font-weight: 700;
        letter-spacing: 0.0525em;
        line-height: 1.4;
        margin-top: 3.5rem;
        padding-left: 2.8rem;
      }
      .credoLead__text {
        font-size: 1.6rem;
        letter-spacing: 0.033em;
        line-height: 1.875;
      }
      .credoLead__link {
        font-size: 1.6rem;
        letter-spacing: 0.033em;
        line-height: 1.875;
        text-align: right;
        text-decoration: underline;
        color: var(--colorGreen);
        margin: 1rem 0 0 auto;
        width: fit-content;
        display: block;
      }
      .credoList__inner {
        padding: 3rem 3.5rem 4rem;
        margin-top: 2rem;
        background: #fdffe0;
        border-radius: 2rem;
        .credoList__title {
          font-size: 2.6rem;
          font-weight: 700;
          font-family: var(--familyZenMaruGothic);
          letter-spacing: 0.032em;
          color: #33A02C;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 1.3rem;
          margin-bottom: 2.5rem;
          &::before {
            content: "";
            background-image: url(../../images/mission/icon-leaf-left.svg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            width: 2.9rem;
            height: 2.3rem;
          }
          &::after {
            content: "";
            background-image: url(../../images/mission/icon-leaf-right.svg);
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            width: 2.9rem;
            height: 2.3rem;
          }
        }
        .credoList {
          display: grid;
          gap: 2rem;
          .credoList__item {
            display: flex;
            gap: 7rem;
            border-bottom: 2px dotted var(--colorGreen);
            padding-bottom: 1.8rem;
            .credoList__num {
              font-size: 7rem;
              font-weight: 500;
              font-family: var(--familyZenMaruGothic);
              color: var(--colorGreen);
              letter-spacing: 0.03em;
              line-height: 1;
              position: relative;
              padding-left: 0.5rem;
              &::before {
                content: "";
                position: absolute;
                top: 40%;
                right: -3rem;
                width: 1px;
                height: 6.985rem;
                background: var(--colorGreen);
                transform: translateY(-50%) rotate(33deg);
              }
            }
            .credoList__textarea {
              .credoList__head {
                font-size: 2rem;
                font-weight: 700;
                font-family: var(--familyZenMaruGothic);
                letter-spacing: 0.042em;
                line-height: 1.4;
                color: var(--colorGreen);
              }
              .credoList__text {
                font-size: 1.6rem;
                line-height: 1.667;
                letter-spacing: 0.033em;
                margin-top: 1rem;
              }
            }
          }
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    padding-top: 2.5rem;
    .pageHero-h2 {
      padding-inline: 2rem;
    }
    .credo__inner {
      margin-top: 0;
      padding: 1.5rem 2rem 0;
      .credo__item {
        padding-bottom: 2.5rem;
        &.origin {
          .credo__titleWrap {
            padding-block: 1.3rem;
          }
        }
        &.purpose {
          padding-bottom: 3.5rem;
        }
        &.mission {
          padding-bottom: 2.5rem;
        }
        .credo__titleWrap {
          display: grid;
          grid-template-columns: 1fr;
          padding: 1.2rem 1.5rem 2.1rem;
          gap: 0.8rem;
        }
        .credoColumn {
          display: flex;
          flex-wrap: wrap;
          gap: 3rem 1rem;
          .credoColumn__img {
            width: 9rem;
          }
          .credoColumn__title {
            letter-spacing: 0;
            width: calc(100% - 10rem);
          }
        }
        .credoList__inner {
          padding: 3rem 2rem 2.5rem;
          .credoList__title {
            font-size: 2.2rem;
            margin-bottom: 2rem;
            &::before {
              width: 2.483rem;
              height: 1.969rem;
            }
            &::after {
              width: 2.483rem;
              height: 1.969rem;
            }
          }
          .credoList {
            .credoList__item {
              gap: 4.5rem;
              padding-bottom: 2.5rem;
              .credoList__num {
                font-size: 5rem;
                letter-spacing: -0.05em;
                padding: 0;
                &::before {
                  width: 2px;
                  height: 4.6rem;
                  top: 1rem;
                  right: -2rem;
                  transform: rotate(30deg);
                }
              }
              .credoList__textarea {
                .credoList__text {
                  font-size: 1.8rem;
                  line-height: 1.778;
                  letter-spacing: -0.05em;
                  margin-top: 0.3rem;
                }
                &.text-indent {
                  .credoList__head {
                    margin-top: 1rem;
                  }
                  .credoList__text {
                    display: flex;
                    gap: 1rem;
                    margin: 1rem 0 -1rem -3rem;
                  }
                }
              }
            }
          }
        }
        .credoLead__wrap {
          grid-template-columns: 1fr;
          margin-top: 2.5rem;
        }
        .credoLead {
          letter-spacing: 0;
          margin-top: 2.5rem;
          padding-left: 0;
        }
        .credoLead__link {
          margin-top: 0.5rem;
        }
      }
    }
  }
}

#brand-story {
  padding-block: 5.8rem 10.5rem;
  .brand__inner {
    padding: 4rem 6rem 5.5rem;
    background: var(--colorWhite);
    border-radius: 1.5rem;
    margin-top: 4rem;
    .brandList {
      display: grid;
      .brandList__item {
        &:nth-child(2) {
          .brand__title {
            .brand__titleText {
              font-size: 1.8rem;
              margin-top: 3rem;
              margin-left: 2.5rem;
              letter-spacing: 0.04em;
            }
          }
        }
        .brand__title {
          border-bottom: 2px solid var(--colorGreen);
          padding-bottom: 1rem;
          display: flex;
          gap: 0.5rem;
          position: relative;
          &:after {
            content: "";
            background-color: #047f4a;
            display: block;
            height: 7px;
            width: 7px;
            position: absolute;
            bottom: -4.5px;
            right: 0;
            transform: rotate(45deg);
          }
          &:before {
            content: "";
            background-color: #047f4a;
            display: block;
            height: 7px;
            width: 7px;
            position: absolute;
            bottom: -4.5px;
            left: 0;
            transform: rotate(45deg);
          }

          .brand__num {
            font-size: 7rem;
            font-weight: 500;
            font-family: var(--familyZenMaruGothic);
            color: var(--colorGreen);
            letter-spacing: 0.03em;
            line-height: 1;
            position: relative;
            padding-left: 7.5rem;
            &::before {
              content: "";
              position: absolute;
              background-image: url(../../images/mission/icon-story.svg);
              background-position: center;
              background-repeat: no-repeat;
              background-size: cover;
              width: 5.6rem;
              height: 4.3rem;
              left: 1.5rem;
              bottom: 0;
            }
          }
          .brand__titleText {
            font-size: 2rem;
            font-weight: 700;
            font-family: var(--familyZenMaruGothic);
            color: #3c1f15;
            line-height: 1.4;
            letter-spacing: 0.0525em;
            margin-top: 3.5rem;
          }
        }
        .brandProfile {
          display: grid;
          grid-template-columns: auto 25.5%;
          gap: 4rem;
          margin-top: 3.2rem;
          padding-inline: 1rem 2rem;
          .brandProfile__text {
            font-size: 1.6rem;
            line-height: 1.875;
            letter-spacing: 0.03em;
          }
          .brandProfile__desc {
            margin-top: 0.5rem;
            .brandProfile__name {
              font-size: 1.6rem;
              font-weight: 500;
              margin-top: 2rem;
              .brandProfile__position {
                font-weight: 700;
              }
              .brandProfile__furigana {
                font-size: 1.2rem;
              }
            }
          }
        }
        &:nth-child(2) {
          .brandProfile {
            grid-template-columns: 25.5% auto;
            padding-inline: 0;
          }
        }
        .brandBottom {
          display: grid;
          grid-template-columns: 56% auto;
          gap: 2rem;
          margin-top: 2.2rem;
          .brandBottom__text {
            font-size: 1.6rem;
            letter-spacing: 0.033em;
            line-height: 1.875;
          }
          .brandBottom__img {
            margin-top: -3.2rem;
          }
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    padding-block: 2.5rem;
    margin-bottom: 5rem;
    .pageHero-h2 {
      padding-inline: 2rem;
    }
    .brand__inner {
      padding: 1rem 1rem 4rem;
      margin: 2rem 2rem 0;
      .brandList {
        gap: 4rem;
        .brandList__item {
          &:nth-child(2) {
            .brand__title {
              .brand__titleText {
                margin-top: 0.8rem;
                margin-left: 0;
              }
            }
          }
          .brand__title {
            padding-bottom: 1.5rem;
            .brand__num {
              font-size: 5.665rem;
              padding-left: 4.5rem;
              &::before {
                width: 4.37rem;
                height: 3.48rem;
                left: 0;
              }
            }
            .brand__titleText {
              margin-top: 0.8rem;
              font-size: 1.8rem;
              letter-spacing: 0.04em;
            }
          }
          .brandProfile {
            grid-template-columns: 1fr;
            margin-top: 2rem;
            padding-inline: 1.5rem;
            gap: 1.8rem;
            .brandProfile__desc {
              order: 0;
              padding-inline: 2.5rem 3rem;
              .brandProfile__name {
                margin-top: 1.8rem;
              }
            }
            .brandProfile__text {
              order: 1;
              letter-spacing: -0.01em;
              line-height: 1.75;
            }
          }
          &:nth-child(2) {
            .brandProfile {
              grid-template-columns: 1fr;
              padding-inline: 1.5rem;
            }
          }
          .brandBottom {
            display: flex;
            flex-direction: column-reverse;
            gap: 1.8rem;
            padding-inline: 1.5rem;
            .brandBottom__img {
              margin-top: 0;
            }
            .brandBottom__text {
              line-height: 1.75;
              letter-spacing: -0.01em;
            }
          }
        }
      }
    }
  }
}

#csv {
  padding-block: 6.5rem 15.5rem;
  position: relative;
  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--colorWhite);
    z-index: -2;
  }
  .csvTop {
    display: grid;
    grid-template-columns: 60% auto;
    gap: 2.8rem;
    padding: 3.5rem 4.5rem 3.5rem 5.2rem;
    border-radius: 2rem 2rem 0 2rem;
    background-color: var(--colorHoverGreen);
    margin-top: 4rem;
    .csvTop__text {
      color: #000;
      font-size: 1.6rem;
      line-height: 1.875;
      letter-spacing: 0.033em;
      span {
        color: var(--colorGreen);
        font-weight: 700;
      }
    }
    .csvTop__img {
      margin-top: 1.5rem;
    }
  }
  .csvBottom {
    margin-top: 5rem;
    .csvBottom__head {
      font-size: 2rem;
      font-weight: 700;
      font-family: var(--familyZenMaruGothic);
      letter-spacing: 0.042em;
      line-height: 1.4;
      border-left: 8px solid var(--colorGreen);
      padding: 0.5rem 2rem;
    }
    .csvBottom__column {
      display: grid;
      grid-template-columns: 57% auto;
      gap: 8rem;
      margin-top: 1.2rem;
      padding-right: 3rem;
      .csvBottom__text {
        font-size: 1.6rem;
        line-height: 1.875;
        letter-spacing: 0.033em;
        span {
          font-size: 1.8rem;
          font-weight: 700;
          letter-spacing: 0.03em;
          color: var(--colorGreen);
        }
      }
    }
  }
  @media screen and (max-width: 767px) {
    padding: 3rem 2rem 7rem;
    .pageHero-h2 {
      gap: 0;
    }
    .csvTop {
      margin-top: 2rem;
      grid-template-columns: 1fr;
      padding: 3rem 2rem;
      border-radius: 1.5rem 1.5rem 0 1.5rem;
      gap: 1rem;
      .csvTop__text {
        letter-spacing: -0.01em;
        line-height: 1.75;
      }
    }
    .csvBottom {
      margin-top: 6rem;
      .csvBottom__head {
        padding: 0 1.5rem;
      }
      .csvBottom__column {
        display: flex;
        flex-direction: column-reverse;
        gap: 1.8rem;
        padding-right: 0;
        margin-top: 2rem;
      }
    }
  }
}

@media screen and (max-width: 767px) {
  .footer {
    .bg-leaf {
      display: none;
    }
  }
}
