.company_section-wrapper {
  display: flex;
  flex-direction: column;
  gap: 180px;

  @media screen and (max-width: 768px) {
    gap: 110px;
  }
}

/* -----------------------------
   company-hero
------------------------------ */
.company-hero {
  .company-hero__inner {
    display: grid;
    grid-template-columns: 1fr 0.28fr;
    gap: 60px;

    .company-hero__image {
      width: 100%;

      img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
      }
    }

    .company-hero__text {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      font-size: 3rem;
      line-height: 2;
      letter-spacing: 6px;
    }
  }
}

@media screen and (max-width: 768px) {
  .company-hero {
    .company-hero__inner {
      display: flex;
      flex-direction: column-reverse;
      gap: 10px;

      .company-hero__image {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
      }

      .company-hero__text {
        writing-mode: horizontal-tb;
        font-size: 2rem;
        line-height: 1.9;
        letter-spacing: 1.2px;
      }
    }
  }
}

/* -----------------------------
   company-greeting
------------------------------ */
.company-greeting {
  .company-greeting__inner {
    width: 75%;

    .company-greeting__text {
      display: flex;
      flex-direction: column;
      gap: 30px;
      margin-top: 55px;

      p {
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
	margin: 0;
      }

      .name__wrapper {
        display: flex;
        gap: 45px;
        align-items: center;

        img {
          width: 150px;
          border-radius: 50%;
        }

        .name__text {
          .name__text_position {
            font-size: 1.4rem;
            margin: 0;
          }
          .name__text_name {
            font-size: 2rem;
            margin: 5px 0 0;
          }
          .name__text_name-en {
            font-family: var(--font-Work-Sans);
            font-size: 1.2rem;
            margin: 0;
          }
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .company-greeting {
    .company-greeting__inner {
      width: 100%;

      .company-greeting__text {
        margin-top: 20px;
      }
    }
  }
}

/* -----------------------------
   company-about
------------------------------ */
.company-about {
  .company-about__inner {
    display: flex;
    gap: 60px;

    .company-about__left {
      width: 34%;
    }

    .company-about__right {
      width: 62%;

      .company-detail {
        width: 100%;
        font-size: 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 30px;

        .company-detail__row {
          padding: 0;
          letter-spacing: 0.7px;
          line-height: 1.9;
          font-size: 1.39rem;
          display: block;
        }

        .company-detail__row dt {
          margin-bottom: 9px;
        }

        .company-detail__row dd {
          padding-top: 15px;
          margin: 0;
          border-top: 1px solid #111;
        }
      }
    }
  }

  .company-about__left_buttons {
    .company-about__entry-btn {
      display: block;
      width: max-content;
      padding: 10px 25px;
      background: #092956;
      color: #fff;
      border-radius: 999px;
      font-size: 1.6rem;
      margin: 33px 0 23px;
    }
    .company-about__back-link {
      display: inline-block;
      margin-top: 10px;
      font-size: 1.3rem;
      color: #666;
    }
  }
}

@media screen and (max-width: 768px) {
  .company-about {
    .company-about__inner {
      flex-direction: column;
      gap: 30px;

      .company-about__left,
      .company-about__right {
        width: 100%;
      }

      .company-detail {
        .company-detail__row {
          font-size: 1.36rem;
        }
      }
    }
  }
}

/* -----------------------------
   company-introduction
------------------------------ */
.company-introduction {
  .company-introduction__inner {
    .introduction-list {
      padding: 80px 0;

      .introduction-list__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
      }

      .introduction-card {
        background: #fff;
        padding: 40px 40px 20px;
        text-align: center;

        .introduction-title {
          font-family: var(--font-Zen-Kaku-Gothic-New);
          font-size: 2rem;
          font-weight: 600;
        }

        .introduction-image {
          width: 60%;
          margin: 35px auto 30px;

          img {
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
          }
        }

        .introduction-text {
          font-size: 1.4rem;
          line-height: 2;
          text-align: left;
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .company-introduction {
    .company-introduction__inner {
      .introduction-list {
        padding: 30px 0 0;

        .introduction-list__inner {
          grid-template-columns: 1fr;
          gap: 40px;
        }

        .introduction-card {
          padding: 35px 20px 20px;

          .introduction-title {
            font-size: 2rem;
          }

          .introduction-image {
            width: 70%;
            margin: 35px auto 30px;
          }

          .introduction-text {
            font-size: 1.35rem;
            line-height: 2.1;
          }
        }
      }
    }
  }
}
/* -----------------------------
   company-staff
------------------------------ */
.company-staff {
  .company-staff__inner {
    .staff-list {
      padding: 80px 0 0;
      background: var(--color-bg);

      .staff-list__inner {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 80px 40px;
      }

      .staff-card {
        text-align: center;

        .staff-image {
          width: 100%;
          height: auto;
          margin: 0 auto 20px;
          overflow: hidden;
          border-radius: 50%;

          img {
            width: 100%;
            height: 100%;
            object-fit: contain;
          }
        }

        .staff-position {
          font-size: 1.4rem;
          margin: 0;
        }

        .staff-name {
          font-size: 2rem;
          margin: 5px 0;
        }

        .staff-name-en {
          font-family: var(--font-Work-Sans);
          font-size: 1.2rem;
          margin: 0;
        }

        .staff-tags {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 8px;
          margin-top: 13px;

          span {
            font-size: 1.17rem;
            padding: 0 8px;
            background: var(--color-gray);
            white-space: nowrap;
          }
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .company-staff {
    .company-staff__inner {
      .staff-list {
        padding: 60px 0 0;

        .staff-list__inner {
          grid-template-columns: repeat(2, 1fr);
          gap: 60px 20px;
        }

        .staff-card {
          .staff-position {
            font-size: 1.3rem;
          }
          .staff-name {
            font-size: 1.8rem;
          }
          .staff-tags {
            margin-top: 10px;

            span {
              font-size: 1.1rem;
            }
          }
        }
      }
    }
  }
}

/* -----------------------------
   company-group
------------------------------ */
.company-group {
  .company-group__inner {
    .group-detail {
      padding: 60px 0;

      .group-detail__inner {
        padding: 40px;
        background: #fff;
        display: grid;
        grid-template-columns: 0.3fr 0.7fr;
        column-gap: 40px;
        align-items: flex-start;

        .group-detail__image {
          img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
          }
        }

        .group-detail__content {
          .group-detail__name {
            font-family: var(--font-Zen-Kaku-Gothic-New);
            font-size: 2rem;
            font-weight: 600;
            margin: 0 0 20px;
          }

          .group-detail__lead {
            font-size: 1.4rem;
            line-height: 1.8;
            margin: 0 0 30px;
          }

          .group-detail__info {
            margin: 0;
          }

          .group-detail__row {
            display: flex;
            align-items: center;
            gap: 24px;
            margin-bottom: 10px;
            font-size: 1.4rem;
            line-height: 1.7em;
            dt {
              width: 90px;

              span {
                padding: 5px 8px;
                font-size: 1.2rem;
                background: var(--color-gray);
              }
            }

            dd {
              margin: 0;
              letter-spacing: 0.6px;
              font-weight: 300;
            }
          }
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .company-group {
    .company-group__inner {
      .group-detail {
        padding: 20px 0;

        .group-detail__inner {
          grid-template-columns: 1fr;
          gap: 30px;
          padding: 40px 20px;

          .group-detail__image {
            width: 90%;
            margin: 0 auto;
          }

          .group-detail__content {
            .group-detail__row {
              align-items: start;
              flex-direction: column;
              gap: 3px;
              font-size: 1.3rem;

              dt {
                span {
                  padding: 3px 7px;
                }
              }
            }
          }
        }
      }
    }
  }
}
