JSFiddle - React, Tailwind, and code Playground

HTML

<div class="main">
  <div class="box">1</div>
</div>
<br>
<div class="main">
  <div class="box">1</div>
  <div class="box">1</div>
</div>
<br>
<div class="main">
  <div class="box">1</div>
  <div class="box">1</div>
  <div class="box">1</div>
  <div class="box">1</div>
</div>
<br>
<div class="main">
  <div class="box">1</div>
  <div class="box">1</div>
  <div class="box">1</div>
  <div class="box">1</div>
  <div class="box">1</div>
</div>

CSS

.main {
  background: #999;
  margin: 0 auto;
  width: 500px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.box {
  background: #7ab9d7;
  color: #555;
  height: 30px;
  width: 30%;
  margin-bottom: 30px;
  text-align: center;
  font-size: 30px;
  padding-top: 120px;
}

.main::before {
  height: 0;
  width: 30%;
  content: "";
  background: red;
  order: 1;
}
.main::after {
  height: 0;
  width: 100%;
  content: "";
  background: red;
  order: 2;
}

.main div:only-child {                /*  added rule  */
  order: 3;
  margin-left: auto;
  margin-right: auto;
}

/* two items */
.main div:first-child:nth-last-child(2) {
  order: 3;
  margin-left: auto;
}
.main div:first-child:nth-last-child(2) + div {
  order: 3;
  margin-left: auto;
  margin-right: auto;
}