<div class="accordion">

  <div class="faq">
    <input type="checkbox" id="faq01" class="toggle">
    <label class="question" for="faq01"><span>Q</span>質問01</label>
    <div class="anser">
      <div><span>A</span>質問01のA</div>
   </div>
  </div>

  <div class="faq">
    <input type="checkbox" id="faq02" class="toggle">
    <label class="question" for="faq02"><span>Q</span>質問02</label>
      <div class="anser">
      <div><span>A</span>質問02のA</div>
    </div>
  </div>
  
  <div class="faq">
    <input type="checkbox" id="faq03" class="toggle">
    <label class="question" for="faq03"><span>Q</span>質問03</label>
    <div class="anser">
      <div><span>A</span>質問03のA</div>
    </div>
  </div>
</div>
.accordion {
  margin: 4rem auto;
  max-width: 80%;
}

.toggle {
  display: none;
}

.faq {
  position: relative;
  margin-bottom: 1rem;
}

.question,.anser {
  transform: translateZ(0);
  transition: all 0.3s;
}

.question {
  border: solid 1px #999;
  padding: 1rem 2.2rem 1rem 1rem;
  display: block;
  color: #333;
}

.question span,.anser span {
    font-size: 160%;
    padding-right: 0.6rem;
    color: #c30a01;
    line-height: 0;
}

.question:after,.question:before {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 2px;
  height: 0.75rem;
  background-color: #999;
  transition: all 0.3s;
}

.question:after {
  transform: rotate(90deg);
}

.anser {
  max-height: 0;
  overflow: hidden;
}

.anser div {
  margin: 0;
  padding: 2rem 1rem 2rem;
  line-height: 1.8;
}

.toggle:checked + .question + .anser {
  max-height: 500px;
  transition: all 1.5s;
}

.toggle:checked + .question:before {
  transform: rotate(90deg) !important;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.