/* ===== 会社概要 ===== */
.c-company-overview {
  padding: 120px 0;
}

.c-company-overview__heading {
  font-size: var(--font-size-5xl);
  font-weight: var(--font-weight-black);
  color: var(--color-text-dark);
  text-align: center;
  letter-spacing: 0.08em;
  margin: 0 0 80px;
}

.c-company-overview__table {
  max-width: 980px;
  margin: 0 auto;
  border-top: 0.5px solid var(--color-primary);
}

.c-company-overview__row {
  display: flex;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 0.5px solid var(--color-primary);
}

.c-company-overview__label {
  flex: 0 0 200px;
  font-size: var(--font-size-lg-ic);
  font-weight: var(--font-weight-black);
  color: var(--color-text-purple);
  margin: 0;
}

.c-company-overview__value {
  flex: 1 1 auto;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.c-company-overview__access-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-dark);
  margin: 0 0 4px;
}

.c-company-overview__access-text {
  margin: 0 0 16px;
  line-height: var(--line-height-normal);
}

.c-company-overview__access-text:last-of-type {
  margin-bottom: 16px;
  line-height: var(--line-height-normal);
}

.c-company-overview__map {
  border-radius: 0;
  overflow: hidden;
}

.c-company-overview__map iframe {
  display: block;
  width: 100%;
  aspect-ratio: 1.618 / 1;
  height: auto;
}

/* ===== 余白・サイズ調整 (1024px) ===== */
@media (max-width: 1024px) {
  .c-company-overview {
    padding: 40px 0;
  }

  .c-company-overview__heading {
    font-size: var(--font-size-2xl);
    margin-bottom: 40px;
  }

  .c-company-overview__row {
    gap: 24px;
    padding: 24px 0;
  }

  .c-company-overview__label {
    flex: 0 0 140px;
    font-size: var(--font-size-base);
  }
}

/* ===== モバイル (767px) ===== */
@media (max-width: 767px) {
  .c-company-overview__row {
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
  }

  .c-company-overview__label {
    flex: none;
  }
}

/* ===== Profile ===== */
.c-profile {
  padding: 0 0 80px;
}

.c-profile__card {
  position: relative;
  padding: 120px 0 ;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

/* 左端フラッシュ・右80px内側・右角丸100pxのグレー装飾オブジェクト（c-features-voice-wrap::before と同形状） */
.c-profile__card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * var(--edge-gap));
  right: calc(80px - var(--edge-gap));
  background: var(--color-bg-section);
  border-radius: 0 100px 100px 0;
  z-index: 0;
}

.c-profile__card > * {
  position: relative;
  z-index: 1;
}

.c-profile .c-section-heading {
  gap: 8px;
}

.c-profile__body {
  display: flex;
  align-items: center;
  gap: 48px;
}

.c-profile__image {
  flex: 0 0 400px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--color-bg-white);
}

.c-profile__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-profile__content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-profile__role {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-black);
  color: var(--color-text-dark);
  margin: 0;
}

.c-profile__name {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-black);
  color: var(--color-text-dark);
  letter-spacing: 0.05em;
  margin: 0;
}

.c-profile__name-en {
  font-family: var(--font-family-en);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-black);
  margin-left: 8px;
}

.c-profile__text {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-dark);
  line-height: var(--line-height-relaxed);
  margin: 0;
  text-align: justify;
}

/* ===== Activity ===== */
.c-profile__activity {
  background: var(--color-bg-white);
  border-radius: var(--radius-lg);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-profile__activity-heading {
  display: flex;
  align-items: center;
  gap: 24px;
}

.c-profile__activity-line {
  flex: 1 1 auto;
  height: 1px;
  background: var(--color-primary);
}

.c-profile__activity-title {
  flex: 0 0 auto;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-black);
  color: var(--color-text-purple);
  letter-spacing: 0.1em;
  margin: 0;
}

.c-profile__activity-list {
  max-width: 980px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
}

.c-profile__activity-list li {
  position: relative;
  padding-left: 24px;
  font-size: var(--font-size-lg-ic);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  line-height: var(--line-height-normal);
}

.c-profile__activity-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: var(--radius-full);
  background: var(--color-primary);
}

.c-profile__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.c-profile__gallery-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.c-profile__gallery-item img {
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
  border-radius: 0;
}

.c-profile__gallery-item figcaption {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  text-align: center;
  line-height: var(--line-height-normal);
}

/* ===== 余白 (1320px) ===== */
@media (max-width: 1320px) {
  .c-profile__card::before {
    right: calc(40px - var(--edge-gap));
  }
}

/* ===== 余白・サイズ調整 (1024px) ===== */
@media (max-width: 1024px) {
  .c-profile {
    padding: 0 0 40px;
  }

  .c-profile__card {
    padding: 40px 24px;
    gap: 40px;
  }

  .c-profile__card::before {
    right: calc(-1 * var(--edge-gap));
  }

  .c-profile__body {
    gap: 32px;
  }

  .c-profile__image {
    flex: 0 0 240px;
  }

  .c-profile__activity {
    padding: 24px;
    gap: 24px;
  }
}

/* ===== モバイル (767px) ===== */
@media (max-width: 767px) {
  .c-profile__card {
    padding: 40px 0;
  }

  .c-profile__card::before {
    right: calc(-1 * var(--edge-gap));
    border-radius: 0 100px 0 0;
  }

  .c-profile__body {
    flex-direction: column;
  }

  .c-profile__image {
    flex: none;
    width: 100%;
    max-width: 280px;
  }

  .c-profile__gallery {
    grid-template-columns: 1fr;
  }

  .c-profile__name {
    font-size: 21.33px;
  }

  .c-profile__activity-list li::before {
    top: 0.45em;
    transform: translateY(0);
  }
}
