吹き出し風アコーディオンでやさしく伝えるQ&A

A. 吹き出しのような見た目で、親しみやすいデザインです。

A. よくある質問・コメント紹介など、会話風コンテンツにぴったりです。

HTML
<div class="accordion-balloon">
  <div class="accordion-item">
    <button class="accordion-question">Q. このアコーディオンの特徴は?</button>
    <div class="accordion-answer">
      <p>A. 吹き出しのような見た目で、親しみやすいデザインです。</p>
    </div>
  </div>

  <div class="accordion-item">
    <button class="accordion-question">Q. 使用シーンの例は?</button>
    <div class="accordion-answer">
      <p>A. よくある質問・コメント紹介など、会話風コンテンツにぴったりです。</p>
    </div>
  </div>
</div>
CSS
.accordion-balloon {
  max-width: 640px;
  margin: 60px auto;
  font-family: 'Yu Gothic', sans-serif;
}

.accordion-item {
  position: relative;
  margin-bottom: 24px;
}

.accordion-question {
  background: #e0f7fa;
  border: none;
  border-radius: 16px;
  padding: 16px 20px;
  width: 100%;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  color: #00796b;
  position: relative;
  cursor: pointer;
  transition: background 0.3s ease;
}

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

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

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

.accordion-answer {
  display: none;
  margin-top: 10px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 16px;
  border: 2px solid #e0f7fa;
  color: #333;
  font-size: 15px;
  line-height: 1.6;
  position: relative;
}

.accordion-answer::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 30px;
  border-width: 0 10px 10px 10px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
}

.accordion-answer::after {
  content: '';
  position: absolute;
  top: -12px;
  left: 28px;
  border-width: 0 12px 12px 12px;
  border-style: solid;
  border-color: transparent transparent #e0f7fa transparent;
}
JavaScript
document.addEventListener('DOMContentLoaded', function () {
  const questions = document.querySelectorAll('.accordion-balloon .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';
    });
  });
});

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

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

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