@charset "UTF-8";

.contents {
  padding: 0;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.ttl02.esg {
  background: #111;
  padding: 10px;
  border-left: none;
  text-align: center;
  color: #fff;
}
.btn:hover.esg {
  background: #111;
  border-color: #111;
  color: #fff;
}

@media (max-width: 767px) {
}


/* -------------------- advertorial_nikkei -------------------- */
/* 画像の親要素 */
.img-wrap {
  position: relative; /* 基準点にする */
  display: inline-block; /* 画像サイズに合わせる */
}

/* 画像 */
.img-wrap img {
  display: block; /* 余白をなくす */
  width: 100%; /* 必要に応じて調整 */
}

/* テキスト共通 */
.text-item {
  position: absolute; /* 画像（親要素）を基準に配置 */
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease, transform 1.2s ease; /* フェードをゆっくり */
}
/* item-3 だけさらに遅延を追加 */
.item-3.is-show {
  transition-delay: 0.8s; /* ← この秒数だけ遅れて表示 */
}
/* テキストごとの位置 ※数値はお好みで調整 */
.item-1 {
  top: 40%;
  left: 8%;
}

.item-2 {
  top: 20%;
  left: 15%;
}

.item-3 {
  top: 5%;
  right: 7%;
}

/* アニメーション発火時 */
.text-item.is-show {
  opacity: 1;
  transform: translateY(0);
}
.text-item-sp {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s ease, transform 1.2s ease; /* フェードをゆっくり */
}
.text-item-sp.is-show {
  opacity: 1;
  transform: translateY(0);
}


.fade-up {
opacity: 0;
transform: translateY(100px);
transition: opacity 1.2s ease-out, transform 1.4s ease-out;
}

.fade-up.visible {
opacity: 1;
transform: translateY(0);
}