A. 左にアクセントラインのある柔らかいカード風デザインです。
A. はい、複数同時に開くことができます。
HTML
<div class="accordion-line">
<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-line {
max-width: 600px;
margin: 50px auto;
font-family: sans-serif;
}
.accordion-item {
background: #fff;
border-left: 4px solid #4f46e5; /* アクセントカラー */
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
margin-bottom: 16px;
overflow: hidden;
}
.accordion-question {
background: none;
border: none;
width: 100%;
text-align: left;
padding: 16px 20px;
font-size: 16px;
font-weight: 600;
color: #333;
cursor: pointer;
position: relative;
transition: background-color 0.2s ease;
}
.accordion-question:hover {
background-color: #f9f9f9;
}
.accordion-question::after {
content: '+';
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
font-weight: bold;
font-size: 18px;
transition: transform 0.3s ease;
}
.accordion-question.active::after {
content: '−';
}
.accordion-answer {
display: none;
padding: 20px 16px;
font-size: 14px;
color: #555;
line-height: 1.6;
background: #fff;
}
JavaScript
document.querySelectorAll('.accordion-question').forEach(btn => {
btn.addEventListener('click', () => {
const answer = btn.nextElementSibling;
btn.classList.toggle('active');
answer.style.display = answer.style.display === 'block' ? 'none' : 'block';
});
});