.company-fv {
  position: relative;
  min-height: 24.7vw;
  color: #ffffff;
  background: url("../images/webp/company_02.webp") center center / cover no-repeat;
}

.company-fv__content {
  position: absolute;
  top: 11.2vw;
  left: 50%;
  color: #ffffff;
  text-align: center;
  transform: translateX(-50%);
}

.company-fv__en {
  margin: 0;
  color: #ffffff;
  font-family: var(--font-expanded);
  font-size: 1.85vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.18vw;
}

.company-fv__title {
  margin-top: 1vw;
  color: #ffffff;
  font-size: 1.12vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.22vw;
}

.company-profile,
.company-access {
  background: #f5f5f5;
}

.company-profile {
  padding: 4.2vw 0 0;
}

.company-profile__inner,
.company-access__inner {
  width: 80vw;
  margin: 0 auto;
  background: #ffffff;
}

.company-profile__inner {
  padding: 5.2vw 8vw 5.8vw;
}

.company-section-heading {
  text-align: center;
}

.company-section-heading__title {
  display: inline-block;
  margin: 0;
  padding-bottom: 0.6vw;
  color: #1a1a1a;
  font-size: 1.12vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08vw;
  border-bottom: 0.0625rem solid currentColor;
}

.company-profile__list {
  margin: 4vw 0 0;
}

.company-profile__row {
  display: grid;
  grid-template-columns: 8.8vw 1fr;
  gap: 4.8vw;
  padding: 1.5vw 0;
  border-bottom: 0.0625rem solid #d8d8d8;
}

.company-profile__row:first-child {
  border-top: 0.0625rem solid #d8d8d8;
}

.company-profile__row dt,
.company-profile__row dd {
  margin: 0;
  color: #1a1a1a;
  font-size: 0.84vw;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05vw;
}

.company-profile__row dd {
  font-weight: 500;
}

.company-profile__row p {
  margin: 0;
}

.company-profile__row p + p {
  margin-top: 0.2vw;
}

.company-access {
  padding: 4.4vw 0 7.4vw;
}

.company-access__inner {
  padding: 5.2vw 4.6vw 5.2vw;
}

.company-access__list {
  display: grid;
  gap: 4vw;
  margin-top: 3.4vw;
}

.company-access__map {
  aspect-ratio: 3.35 / 1;
  background: #1a1a1a;
}

.company-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1);
}

.company-access__info {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 3vw;
  width: 64%;
  margin: 1.4vw auto 0;
  color: #1a1a1a;
}

.company-access__info h3,
.company-access__info p {
  margin: 0;
  color: #1a1a1a;
  font-size: 0.74vw;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.04vw;
}

.company-access__info p {
  font-weight: 500;
}

@media (max-width: 767px) {
  .company-fv {
    min-height: 57vw;
  }

  .company-fv__content {
    top: 25vw;
  }

  .company-fv__en {
    font-size: 5.2vw;
    letter-spacing: 0.35vw;
  }

  .company-fv__title {
    margin-top: 3vw;
    font-size: 3.2vw;
    letter-spacing: 0.35vw;
  }

  .company-profile {
    padding-top: 8vw;
  }

  .company-profile__inner,
  .company-access__inner {
    width: 90vw;
  }

  .company-profile__inner {
    padding: 11vw 6vw 12vw;
  }

  .company-section-heading__title {
    padding-bottom: 1.8vw;
    font-size: 3.8vw;
    letter-spacing: 0.18vw;
  }

  .company-profile__list {
    margin-top: 8vw;
  }

  .company-profile__row {
    grid-template-columns: 1fr;
    gap: 2vw;
    padding: 4.8vw 0;
  }

  .company-profile__row dt,
  .company-profile__row dd {
    font-size: 3.1vw;
    line-height: 1.85;
    letter-spacing: 0.08vw;
  }

  .company-profile__row dt {
    font-weight: 600;
  }

  .company-profile__row p + p {
    margin-top: 0.8vw;
  }

  .company-access {
    padding: 8vw 0 12vw;
  }

  .company-access__inner {
    padding: 10vw 5vw 11vw;
  }

  .company-access__list {
    gap: 8vw;
    margin-top: 8vw;
  }

  .company-access__map {
    aspect-ratio: 1.75 / 1;
  }

  .company-access__info {
    grid-template-columns: 1fr;
    gap: 2vw;
    width: 100%;
    margin-top: 3.2vw;
  }

  .company-access__info h3,
  .company-access__info p {
    font-size: 2.8vw;
    line-height: 1.75;
  }

}
