/* ===== Swiper（全画面風） ===== */
.swiper-fullscreen {
  width: 100%;
  height: min(80vh, 760px);
}
@media (max-width: 1024px) {
  .swiper-fullscreen {
    height: 68vh;
  }
}
@media (max-width: 640px) {
  .swiper-fullscreen {
    height: 52vh;
  }
}
.swiper-fullscreen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===== Greeting ===== */
.greeting-section {
  background-color: #ffffff;
  text-align: center;
}
.greeting-title {
  font-size: clamp(18px, 3vw, 24px);
  font-weight: 400;
  letter-spacing: 1px;
}
.greeting-text {
  font-size: clamp(14px, 2.2vw, 15px);
  line-height: 1.8;
  margin-bottom: 20px;
}

/* ===== Feature（左右レイアウト→縦積み） ===== */
.feature-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(20px, 4vw, 40px);
  margin-bottom: clamp(36px, 6vw, 60px);
}

.feature-item.reverse {
  flex-direction: row-reverse;
}

.feature-section {
  background: color-mix(in srgb, var(--main-color) 8%, white);
}


/* 画像ラッパー */
.feature-image-wrap img {
  width: clamp(260px, 38vw, 420px);
  aspect-ratio: 16/9;
  height: auto;
  object-fit: cover;
  box-shadow: var(--global-shadow);
  border-radius: 5px;
}

/* テキスト */
.feature-text {
  flex: 1;
  text-align: left;
  font-size: 14px;
  line-height: 1.9;
}
.feature-point {
  font-size: clamp(18px, 2.6vw, 20px);
  color: var(--main-color);
  font-weight: 500;
}

/* 900px以下で縦積み */
@media (max-width: 900px) {
  .feature-item,
  .feature-item.reverse {
    flex-direction: column;
    align-items: flex-start;
  }
  .feature-image-wrap img {
    width: 100%;
  }
}

/* ===== News ===== */
.news-section {
  text-align: center;
  background: #fff;
}
.news-list {
  list-style: none;
  max-width: 720px;
  margin: 0 auto clamp(16px, 3vw, 30px);
  padding: 0;
}
.news-item {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.news-meta {
  font-size: 12px;
  color: var(--text-color);
  margin-bottom: 6px;
  display: block;
}
.news-title {
  font-size: clamp(15px, 2.6vw, 16px);
  color: var(--text-color);
  text-decoration: none;
}
.news-title:hover {
  text-decoration: underline;
}

/* スマホ調整 */
@media (max-width: 640px) {
  .news-item {
    padding: 12px 0;
  }
  .news-meta {
    font-size: 11px;
  }
}

/* ===== Nice-to-have: 画像ぼかし読み込み時の見え方向上 ===== */
img {
  image-rendering: auto;
}
