/* =====================================================
   Nikko Group Page Styles
===================================================== */

/* ----- Nikko Header ----- */
.nikko-header {
  text-align: left;
}

.nikko-header__title-en {
  font-size: 4rem;
  font-weight: 700;
  background: linear-gradient(90deg, #9ec231 0%, #45ac56 55%, #249336 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.nikko-header__title-ja {
  display: block;
  margin-top: 16px;
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-text);
  letter-spacing: -0.02em;
}

/* ----- Group Section ----- */
.group-section {
  margin-top: 60px;
}

.group-section__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.group-section__header-line {
  width: 4px;
  height: 57px;
  background-color: var(--color-text);
  flex-shrink: 0;
  margin-top: 4px;
}

.group-section__header-text {
  display: flex;
  flex-direction: column;
}

.group-section__label {
  font-family: var(--font-en);
  font-size: 1.6rem;
  font-weight: 700;
  color: #249336;
  letter-spacing: 0.01em;
  line-height: 1.8;
}

.group-section__title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 0.05em;
  line-height: 1.2;
}

/* ----- Group List ----- */
.group-list {
  margin-top: 24px;
  background-color: #fff;
}

.group-list__item {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 32px;
  padding: 20px 24px;
  border-top: 1px solid #e0e0e0;
}

.group-list__item:last-child {
  border-bottom: 1px solid #e0e0e0;
}

.group-list__company {
  font-size: 1.7rem;
  font-weight: 500;
  color: #249336;
  letter-spacing: -0.02em;
}

.group-list__desc {
  font-size: 1.5rem;
  line-height: 1.9;
  color: #000;
}

/* ----- Overseas Section ----- */
.group-section--overseas {
  margin-top: 80px;
}

.group-section__label--overseas {
  color: #007aab;
}

.group-list__company--overseas {
  color: #007aab;
}

/* ----- Responsive ----- */
@media screen and (max-width: 768px) {
  .nikko-header__title-en {
    font-size: 2.8rem;
  }

  .nikko-header__title-ja {
    font-size: 1.6rem;
    margin-top: 12px;
  }

  .group-section {
    margin-top: 40px;
  }

  .group-section__title {
    font-size: 2rem;
  }

  .group-list__item {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .group-list__company {
    font-size: 1.5rem;
  }

  .group-list__desc {
    font-size: 1.4rem;
  }
}
