JSFiddle - React, Tailwind, and code Playground

HTML

<div class="block">
<div>
  <input type="radio" name="item" id="item-one" hidden />
  <label for="item-one">Menu 1</label>
  <div>
      <p><a href="">Menu 1.1</a></p>
      <p><a href="">Menu 1.2</a></p>
      <p><a href="">Menu 1.3</a></p>
      <p><a href="">Menu 1.4</a></p>
      <p><a href="">Menu 1.5</a></p>
  </div>
</div>
<div>
  <input type="radio" name="item" id="item-two" hidden />
  <label for="item-two">Menu 2</label>
  <div>
      <p><a href="">Menu 2.1</a></p>
      <p><a href="">Menu 2.2</a></p>
      <p><a href="">Menu 2.3</a></p>
      <p><a href="">Menu 2.4</a></p>
  </div>
</div>
<div>
  <input type="radio" name="item" id="item-three" hidden />
  <label for="item-three">Menu 3</label>
  <div>
      <p><a href="">Menu 3.1</a></p>
      <p><a href="">Menu 3.2</a></p>
      <p><a href="">Menu 3.3</a></p>
  </div>
</div>
<div>
  <input type="radio" name="item" id="item-four" hidden />
  <label for="item-four">Menu 4</label>
  <div>
      <p><a href="">Menu 4.1</a></p>
  </div>
</div>
<div>
  <input type="radio" name="item" id="item-five" hidden />
  <label for="item-five">Menu 5</label>
  <div>
      <p><a href="">Menu 5.1</a></p>
      <p><a href="">Menu 5.2</a></p>
      <p><a href="">Menu 5.3</a></p>
  </div>
</div>
</div>

CSS

* {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    font-size: 14px;
    text-align: center;
}
.block {
  max-width: 360px;
  width: 100%;
  height: 100%;
  padding: 15px;
  z-index: 10;
  background-color: #fafafa;
  overflow: hidden;
  margin: 50px auto;
}

.block > div {
  display: block;
  position: relative;
  padding: 0 0 0 35px;
  border-top: 2px solid #ffffff;
  background-color: #b1b1b1;
  color: black;
}

.block > div:nth-child(1):before {
  content: "1";
  width: 22px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #466970;
  padding: 7.5px;
  margin: 0;
  color: white;
}

.block > div:nth-child(2):before {
  content: "2";
  width: 22px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #466970;
  padding: 7.5px;
  margin: 0;
  color: white;
}

.block > div:nth-child(3):before {
  content: "3";
  width: 22px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #466970;
  padding: 7.5px;
  margin: 0;
  color: white;
}

.block > div:nth-child(4):before {
  content: "4";
  width: 22px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #466970;
  padding: 7.5px;
  margin: 0;
  color: white;
}

.block > div:nth-child(5):before {
  content: "5";
  width: 22px;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #466970;
  padding: 7.5px;
  margin: 0;
  color: white;
}

.block > div>input + label {
  cursor: pointer;
  display: block;
  padding: 7.5px 15px;
  background-color: #e5903b;
  transition: background-color 0.5s;
  color: black;
}

.block > div>input ~ div {
  visibility: hidden;
  max-height: 0;
  padding: 0;
  opacity: 0;
  transition: all 0.5s;
}


.block > div>input:checked + label {
  background-color: #5988b7;
  transition: background-color 0.5s;
  color:...

JavaScript

/* Help Please */

/* I want to add another level to this menu. just like 
Menu 1
  Menu 1.1
    Menu 1.1.1
Menu 2
  Menu 2.1
    Menu 2.1.1
    Menu 2.1.2 
*/