/* --------------------------------- */
.wrapper {
  overflow: hidden;
}

.environment {
  margin-block-start: clamp(80px, 10vw, 120px);
  display: flex;
  flex-direction: column;
  gap: clamp(80px, 10vw, 120px);
}
.environment__section {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 40px);
}
.environment .title {
  display: flex;
  align-items: center;
  gap: clamp(15px, 2vw, 30px);
  line-height: 1.4;
  color: var(--accent-color);
}
.environment .title:before {
  content: "";
  width: 1px;
  height: 24px;
  display: block;
  background-color: var(--accent-color);
  order: 1;
}
.environment .title .jp {
  font-size: clamp(1.5rem, 1.328rem + 0.64vw, 2rem);
  font-weight: 700;
  order: 0;
}
.environment .title .en {
  font-size: clamp(0.875rem, 0.832rem + 0.16vw, 1rem);
  font-weight: 600;
  order: 2;
}
.environment .swiper {
  width: 100%;
  aspect-ratio: 16/9;
}
.environment .swiper-wrapper {
  padding: 0;
  list-style: none;
}
.environment .swiper-slide {
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  overflow: hidden;
}
.environment .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .environment .swiper-slide {
    border-radius: 20px;
  }
}
.environment .inner {
  gap: 20px;
}
@media screen and (min-width: 1024px) {
  .environment .inner {
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    gap: clamp(15px, 2vw, 30px);
  }
}
.environment .inner .u-text-m {
  grid-column: 1/9;
}
.environment .info {
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
  grid-column: 1/9;
  gap: 0 20px;
  background-color: rgba(0, 190, 185, 0.1);
  border-radius: 10px;
}
@media screen and (min-width: 1024px) {
  .environment .info {
    padding: 20px;
  }
}
.environment .info span {
  font-size: clamp(0.9375rem, 0.916rem + 0.08vw, 1rem);
}
.environment .info .map a {
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}