.hero-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
      at 16% 22%,
      hsla(0, 2%, 66%, 0.64) 0px,
      transparent 50%
    ),
    radial-gradient(at 0% 100%, hsla(22, 0%, 91%, 1) 0px, transparent 50%),
    radial-gradient(at 92% 82%, hsla(0, 47%, 56%, 0.78) 0px, transparent 50%);
  opacity: 0; /* 最初は白だけが見える */
  animation: gradIn 4s forwards;
  animation-delay: 1.2s; /* final-message と同じタイミングにするならここ調整 */
  z-index: -1; /* 背景として扱う */
}

.content-container {
  max-width: 90%; /* 横幅を広めにとる */
  margin: 0 auto;
  padding: 0 20px;
}

/* 上段イントロはそのまま幅100% */
.profile-intro {
  margin-bottom: 60px;
  line-height: 1.6;
}

/* 下段：左右2カラム */
.profile-bottom {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  width: 100%;
}

.profile-image {
  width: 100%;
  max-width: 200px; /* 最大サイズを制限 */
}

.profile-image img {
  width: 100%;
  height: auto; /* 縦横比を保つ */
  border-radius: 16px;
  object-fit: cover;
}
/* 右カラム（テキスト縦並び） */
.profile-side-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .profile-bottom {
    display: flex;
    flex-direction: column; /* 縦並びに変更 */
    align-items: center; /* 中央寄せ */
    gap: 40px; /* 画像とテキストの余白 */
  }

  .profile-image {
    order: -1; /* 画像を一番上にする */
    margin: 0 auto; /* 中央寄せ */
    border-radius: 16px;
  }

  .profile-side-text {
    width: 90%; /* テキスト幅を広めに */
    margin: 0 auto; /* 横中央寄せ */
    text-align: left; /* 読みやすさ重視なら左寄せ */
    line-height: 1.6; /* 行間調整 */
  }

  .profile-side-text p {
    margin-bottom: 16px; /* 段落間余白を統一 */
  }
}
