
.flexbox main ol.process {
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
}

.no-flexbox main ol.process {
  word-spacing: -5px;
}

.no-flexbox main ol.process li {
  display: inline-block;
  vertical-align: bottom;
}

main ol.process li {
  width: 32.39%;
  margin-right: 1.408%;
  padding-bottom: 21.55%; /* 153(height) / 710(width of parent) */
  position: relative;
  margin-bottom: 20px;
}

main ol.process li.no-visual {
  padding-bottom: 0;
}

main ol.process li:nth-child(3n) {
  margin-right: 0;
}

.no-flexbox main ol.process li {
  width: 32%;
  margin-left: 0.5%;
  margin-right: 0.5%;
}

main ol.process li .visual {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0px;
  left: 0px;
}

main ol.process li .visual img {
  width: 100%;
  height: auto;
}

main ol.process li .caption {
  color: #333333;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 5px;
}

main ol.process li .caption .order {
  color: #0453e4;
  margin-right: 0.5em;
}

main ol.process li .description {
  font-size: 12px;
  margin-bottom: 5px;
}

@media screen and (max-width:639px){

main ol.process li {
  width: 48%;
  margin-right: 2%;
  padding-bottom: 32%; /* 48(%) * 153(height)/230(width) */
  margin-bottom: 20px;
}

main ol.process li:nth-child(3n) {
  margin-right: 2%;
}

main ol.process li:nth-child(2n) {
  margin-right: 0;
}

.no-flexbox main ol.process li {
  width: 48%;
  margin-left: 0.5%;
  margin-right: 0.5%;
}

main ol.process li .caption {
  font-size: 10px;
}

main ol.process li .description {
  font-size: 10px;
}

}
