1ステップずつ確認できる、ナンバリング式アコーディオン

A. 登録ページにアクセスして、メールアドレスとパスワードを入力しましょう。

A. ニックネームや自己紹介を入力し、プロフィール画像をアップロードします。

A. 設定が完了したら、サービスの利用を開始できます!

HTML
<div class="accordion-steps">
  <div class="accordion-item">
    <button class="accordion-question"><span class="step-num">1</span>アカウントを作成する</button>
    <div class="accordion-answer">
      <p>A. 登録ページにアクセスして、メールアドレスとパスワードを入力しましょう。</p>
    </div>
  </div>

  <div class="accordion-item">
    <button class="accordion-question"><span class="step-num">2</span>プロフィールを設定する</button>
    <div class="accordion-answer">
      <p>A. ニックネームや自己紹介を入力し、プロフィール画像をアップロードします。</p>
    </div>
  </div>

  <div class="accordion-item">
    <button class="accordion-question"><span class="step-num">3</span>利用を開始する</button>
    <div class="accordion-answer">
      <p>A. 設定が完了したら、サービスの利用を開始できます!</p>
    </div>
  </div>
</div>
CSS
.accordion-steps {
  max-width: 700px;
  margin: 60px auto;
  font-family: 'Noto Sans JP', sans-serif;
}

.accordion-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.accordion-question {
  background: #f9fafb;
  border: none;
  width: 100%;
  padding: 16px 20px;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.accordion-question:hover {
  background: #f1f5f9;
}

.step-num {
  background: #3b82f6;
  color: white;
  border-radius: 50%;
  padding: 6px 12px;
  margin-right: 12px;
  font-size: 14px;
  display: inline-block;
}

.accordion-question::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #999;
}

.accordion-question.active::after {
  content: '−';
}

.accordion-answer {
  display: none;
  background: #ffffff;
  padding: 16px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  border-top: 1px solid #eee;
}
JavaScript
document.addEventListener('DOMContentLoaded', function () {
  const questions = document.querySelectorAll('.accordion-steps .accordion-question');

  questions.forEach((btn) => {
    btn.addEventListener('click', () => {
      btn.classList.toggle('active');
      const answer = btn.nextElementSibling;
      answer.style.display = answer.style.display === 'block' ? 'none' : 'block';
    });
  });
});

🌟 有料会員限定素材を配布中!

ここでしか手に入らない特別デザイン素材を今すぐチェック!

有料会員ページを見る
目次