
.flex p img{
  width:120px;
}


.item_wrapper {
  padding: 0% 0% 0% 0%;
  list-style-type: none;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin: 10px 1vw 1vw;
}

.item_wrapper li {
  width: calc(100% / 3 - 2 * 1vw);
  margin: 1vw;
}
li main{
position: absolute;
bottom: 0;
margin: 0;
padding: 0;
}
@media screen and (min-width: 425px) {
  .item_wrapper li {
    width: calc(100% / 4 - 2 * 1vw);
  }
}

@media screen and (min-width: 980px) {
  .item_wrapper li {
    width: calc(100% / 5 - 2 * 1vw);
  }
}

.item_wrapper img {
  vertical-align: bottom;
  max-height: 120px;
}
#section3 .rank2 li{
  counter-increment: rank;
  position: relative;
  overflow: hidden;
  margin: 0px 0px 0px 0%;
}

.rank2 li::before {
    content: "";
  background-color: #ef555f;
  display: block;
  width: 100%;
  height: 2rem;
  transform: rotate(-45deg);
  position: absolute;
  left: -50%;
  top: 0;
}

.rank2 li::after {
  content: counter(rank);
  color: white;
  font-size: .6rem;
  font-weight: 700;
  line-height: initial;
  text-align: center;
  width: 1.5em;
  position: absolute;
  left: .3em;
  top: .3em;
}

@media screen and (min-width: 768px) {
  .rank2 li::after {
    font-size: .8rem;
  }
  .item_wrapper {
  padding: 0% 5% 0% 5%;
  margin-top: 10px;
  }
}