.wrap690 {
  width: 690px;
  margin-left: auto;
  margin-right: auto;
}
.reg-period {
  display: flex;
  gap: 10px;
  font-weight: bold;
}
.reg-table__contaner {
  width: 100%;
}
.tbl-width100 {
  width: 100%;
}
.tbl-width80 {
  width:80%;
}

.tbl-width50 {
  width: 50%;
}
.tbl-style01.w100{
width:100%;
margin-block: 10px;
}
.tbl-style01 thead th {
  background-color: #DDD;
  border: 1px #CCCCCC;
  border-style: solid;
  padding: .5em .3em;
}
.tbl-style01 tbody th,
.tbl-style01 tbody td {
  border: 1px #CCCCCC;
  border-style: solid;
}
.tbl-style01 tbody.thc th,
.tbl-style01 tbody.tdc td{
text-align:center;
vertical-align:middle;
}
.tbl-style01 tbody th {
  background-color: #EEEEEE;
  padding: .5em .3em;
}
.tbl-style01.bg_blue tbody th {
background:#689BCC;
color:#fff;
font-size:16px;
}
.tbl-style01.reg_tbl th:first-child {
  width: 26%;
}
.tbl-style01.reg_tbl th:nth-child(2),
.tbl-style01.reg_tbl th:nth-child(3) {
  width: 37%;
}


.tbl-style01 tbody td {
  background-color: #FFFFFF;
  padding: .5em .2em;
}
.th-c-m th {
  text-align: center;
  vertical-align: middle;
}

.th-l-m th {
  text-align: left;
  vertical-align: middle;
}

.th-l-t th {
  text-align: left;
  vertical-align: top;
}

.td-c-m td {
  text-align: center;
  vertical-align: middle;
}

.td-l-m td {
  text-align: left;
  vertical-align: middle;
}

.td-l-t td {
  text-align: left;
  vertical-align: top;
}
.reg-dl {
  display: flex;
}
.flow-img {
  max-width: 640px;
  margin-inline: auto;
  img {
      width: 100%;
      height: auto;
  }
}
.flow_wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}
.flow_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 80px;
    border-radius: 10px;
    padding: 5px 0;
    color: #fff;
    h4 {
        text-align: center;
        display: block;
        font-weight: bold;
    }
    p {
        text-align: center;
        font-weight: bold;
        margin-block: auto;
    }
}
.flow_item:first-of-type {
  background-color: #5b9bd5;
}
.flow_item:nth-child(3) {
  background-color: #52cab8;
}
.flow_item:nth-child(5) {
  background-color: #49bf64;
}
.flow_item:nth-child(7) {
  background-color: #70ad47;
}
.reg_btn_wrapper {
  display: flex;
  justify-content: center;
  gap: 20px 40px;
  margin: 20px auto;
}
.reg_btn_wrapper a {
  width: auto;
  text-decoration: none;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  background-color: #0066cc;
  padding: 15px 20px;
  border-radius: 6px;
  box-shadow: 0 2px 5px 0 #aaa;
}
.reg_btn_wrapper a:hover {
  opacity: 0.75;
}
.reg_btn_wrapper a.btn_red {
  background-color: #ee0000;
}
.reg_btn_wrapper a.btn_yellow {
  background-color: #ffe600;
  color: #333;
}
.reg_btn_wrapper a.btn_green {
  background-color: #00a706;
}
.arrow_img {
  width: 40px;
  height: 28px;
  margin-inline: auto;
  position: relative;
}
.arrow_img::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 15px;
  height: 15px;
}
.arrow_img.arrow_1::before {
  background-color: #5b9bd5;
}
.arrow_img.arrow_2::before {
  background-color: #4dc58d;
}
.arrow_img.arrow_3::before {
  background-color: #70ad47;
}
.arrow_img::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-bottom: 0;
}
.arrow_img.arrow_1::after {
  border-top: 15px solid #5b9bd5;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
}
.arrow_img.arrow_2::after {
  border-top: 15px solid #4dc58d;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
}
.arrow_img.arrow_3::after {
  border-top: 15px solid #70ad47;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
}

@media screen and (max-width: 640px){
  .tbl-style01{
		font-size:0.9em;
	}
  .reg-table__container {
    overflow-x: auto;
  }
  .reg-period {
    flex-direction: column;
  }
  .tbl-style01.reg_tbl th:first-child {
    width: 22%;
  }
  .tbl-style01.reg_tbl th:nth-child(2),
  .tbl-style01.reg_tbl th:nth-child(3) {
    width: 39%;
  }
  .reg_btn_wrapper {
    flex-direction: column;
  }
}

@media (min-width: 641px) {
  .flow_wrapper {
      flex-direction: row;
      align-items: stretch;
      .flow_item {
          width: 22%;
          height: auto;
          p {
            font-size: 0.82em;
            padding: 0 5px;
          }
      }
  }
  .arrow_img {
    width: 40px;
    height: auto;
  }
  .arrow_img::before {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
  }
  .arrow_img::after {
    left: auto;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(270deg);
    width: 0;
    height: 0;
    border-bottom: 0;
  }
}
