JSFiddle - React, Tailwind, and code Playground

HTML

<div class="accordion">
    <label>
        <input type="radio" name="accordion-radio" />
        <strong>Título 1</strong>
        <div>Conteúdo 1</div>
    </label>
    <label>
        <input type="radio" name="accordion-radio" />
        <strong>Título 2</strong>
        <div>Conteúdo 2</div>
    </label>
    <label>
        <input type="radio" name="accordion-radio" />
        <strong>Título 3</strong>
        <div>Conteúdo 3</div>
    </label> 
</div>

CSS

.accordion{
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 14px;
  margin-top: 40px;
}
  
    .accordion label{
      background: #f1f1f1;
      border: 1px solid #ccc;
      border-radius: 5px;
      box-sizing: border-box;
      display: block;
      margin-top: 1px;
      position: relative;
    }
      .accordion strong{
        box-sizing: border-box;
        display: block;
        height: 34px;
        margin-top: 1px;
        padding: 7px;
        position: relative;
      }  
        .accordion strong:after{
          content: '';
          border: 7px solid transparent;
          border-top: 10px solid #282828;
          position: absolute;
          top: 12px;
          right: 15px; 
          
          -webkit-transition: all .3s ease-out;
          transition: all .3s ease-out;
        }  
        .accordion input{
          height: 34px;
          left: 0;
          opacity: 0;
          position: absolute;
          top: 0;
          width: 100%;
          z-index: 1;
        }
        .accordion input:checked + strong:after{
          top: 4px;
          right: 15px;
          
          -ms-transform: rotate(180deg);
          -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
        }
        .accordion input:checked + strong + div{
          padding: 10px 20px;
          height: auto;
        }
      .accordion div{
        background: #fff;
        box-sizing: border-box;
        border-top: 1px solid #ccc;
        border-radius: 0 0 5px 5px;
        height: 0;
        padding: 0 20px;
        overflow: hidden;
        -webkit-transition: all .3s ease-out;
        transition: all .3s ease-out;
      }