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';
});
});
});