.self-section {
  /* background-color: #f9f9f9; */
  padding: 40px 0px;
}

.self-header {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  overflow: hidden; /* オーバーフローを防ぐ */
}

.self-background {
  font-size: clamp(30px, 10vw, 80px); /* 動的なフォントサイズ調整 */
  color: rgba(0, 122, 204, 0.1); /* 薄い青色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  white-space: nowrap;
}

.self-title {
  position: relative;
  z-index: 1;
  font-size: 24px;
  color: #333;
}

.self-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px; /* テキストと画像の間隔 */
  text-align: left; /* テキストを左寄せ */
  padding: 20px;
  /* background-color: #f0f8ff; */
}


.self-description {
  font-size: 16px;
  color: #555;
  line-height: 1.4;
}



.self-header {
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  overflow: hidden; /* オーバーフローを防ぐ */
}

.self-background {
  font-size: clamp(30px, 10vw, 80px); /* 動的なフォントサイズ調整 */
  color: rgba(0, 122, 204, 0.1); /* 薄い青色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  white-space: nowrap;
}

.self-title {
  position: relative;
  z-index: 1;
  font-size: 24px;
  color: #333;
}

.self-container {
  display: flex;
  justify-content: center;
  padding: 50px;
  gap:50px;
}

.self-text {
  max-width: 450px;
  text-align: left;
}

.self-feature {
  font-size: 18px;
  color: #007acc;
  margin-bottom: 10px;
  text-align: center;
}

.self-content {
  text-align: left; /* 左寄せ */
  margin: 0; /* 不要な余白を削除 */
  gap:10px;
}

.self-heading {
  font-size: 20px;
  color: #333;
  margin: 0; /* 上下の余白を削除 */
  line-height: 1.5; /* 行間を調整 */
  text-align: center;
}

.self-divider {
  width: 100%;
  /* max-width: 200px; */
  border: 1px solid rgba(192,192,192);
  margin: 10px 0; /* 上下の余白 */
}


.self-image {
  max-width: 450px;
  text-align: center;
}


.self-photo {
  width: 100%;
  max-width: 400px;
  height: auto;
}

.self-text .highlight {
  color: #00aaff;
}

.self-banner-img {
  width: 100%; /* 画像を親要素の幅にフィット */
  max-width: 750px; /* 最大幅を指定 */
  height: auto; /* アスペクト比を維持 */
  margin: 0 auto; /* 中央寄せ */
  display: block; /* ブロック要素として扱う */
  margin-bottom: 20px;
}

/* スマホ用スタイル */
@media screen and (max-width: 768px) {

  .self-header {
    margin-bottom: 0px;
  }

  .self-title {
    font-size: 20px; /* タイトルのフォントサイズを縮小 */
  }

  .self-background {
    font-size: clamp(20px, 20vw, 60px); /* さらに小さい画面用に調整 */
  }

  .self-container {
    flex-direction: column;
    padding: 20px;
    gap:0px;
  }

  .self-photo {
    margin-top: 20px;
  }

  .self-description {
    font-size: 13px;
  }

  .reverse {
    flex-direction: column-reverse; /* テキストを画像の下に配置 */
  }

  .self-content {
    text-align: left; /* 左寄せ */
    margin: 0; /* 不要な余白を削除 */
    padding:0px; /* 左側に20pxの余白を追加 */
  }


}
