@charset "utf-8";
.flow {
    margin: 50px auto;

}

.flow h3 {  /*背景の指定*/
    font-size: 200%;
    font-weight: 600;
    position: relative;
    padding: 5px 20px 10px;
    background: #00A0E9;
    text-align: center;
    width: 60%;
    margin: 0 auto 40px auto;
    display: flex;
    justify-content: center; /* 水平方向の中央寄せ */
    color: white;
    border-radius: 10px;
}
 
.flow h3:before { /*線の指定*/
    position: absolute;
    content: '';
    top: -15px;
    left: -6px;
    width: 100%; 
    height: 100%;
    border: 3px solid #036eb8;
    margin: 10px auto;
    border-radius: 10px;
}

.step > li {
  position: relative;
}
.step > li:not(:last-child) {
  margin-bottom: 30px;
}
.step > li dl {
  width: 100%;
  padding: 10px 0;
  display: flex;
  align-items: center;
  border: 2px solid;
  border-radius: 15px;
  position: relative;
  background: white;
  flex-direction: column;
}
.step > li:nth-child(1) dl {
  border-color: #00A0E9;
}
.step > li:nth-child(2) dl {
  border-color: #036eb8;
}
.step > li:nth-child(3) dl {
  border-color: #1d2088;
}
.step > li:nth-child(4) dl {
  border-color: #f8b62d;
}
.step > li:nth-child(5) dl {
  border-color: #f39800;
}
.step > li:nth-child(6) dl {
  border-color: #e83828;
}
.step > li:nth-child(7) dl {
  border-color: #7f4f21;
}
.step > li:not(:last-of-type) dl::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -30px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: -2px auto;
  border-style: solid;
  border-color: #00a0e9 transparent transparent transparent;
  border-width: 30px 20px 0 20px;
}

.step > li dl dt {
  font-weight: 600;
  color: ;
  line-height: 200%;
  flex-basis: 20%;
  text-align: center;
  margin: 0;
  font-size: 110%;
}
.step > li dl dd {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  width: 100%;
  font-weight: 600;
  font-size: 110%;
}
.step > li dl dd img {
  width: ;
  height: ;
  object-fit: cover;
  margin: 0;
}
.step .waku {
  background: #036eb8;
  border-radius: 0;
  padding: 8px 12px;
  color: #fff;
}
@media (min-width:61em) {
.flow h3 {  /*背景の指定*/
    width: 30%;
}
  .step > li:not(:first-child)::before {
    left: -webkit-calc(8% + 30px - 2px);
    left: calc(8% + 30px - 2px);
  }
  .step > li dl {
    flex-direction: row;
    padding: 7px 0 0 0;

  }
  .step > li dl dd {
    flex-direction: row;
  }
  .step > li dl dd img {
    margin: 0;
  }
  .step > li:not(:last-of-type) dl::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -30px;
  left: -84%;
}
}

.conditions {
  margin: 50px auto;
}
.conditions h3 {  /*背景の指定*/
    font-size: 200%;
    font-weight: 600;
    position: relative;
    padding: 5px 20px 10px;
    background: #00A0E9;
    text-align: center;
    width: 60%;
    margin: 0 auto 40px auto;
    display: flex;
    justify-content: center; /* 水平方向の中央寄せ */
    color: white;
    border-radius: 10px;
}
.conditions table{
  margin: 50px auto;
  width: 100%;
border-collapse:separate;
  border-spacing: 5px;
}


.conditions table th,table td{
  border-radius: 5px;
  padding: 10px;
}

.conditions table td:first-child{
  background-color: #036eb8;
  color: white;
  border:solid 2px #00A0E9;
  text-align: center;
  width: 30%;
  font-weight: 600;
}

.conditions table td:last-child{
  border:solid 2px #00A0E9;
  text-align: left;
}
.conditions h3:before { /*線の指定*/
    position: absolute;
    content: '';
    top: -15px;
    left: -6px;
    width: 100%; 
    height: 100%;
    border: 3px solid #036eb8;
    margin: 10px auto;
    border-radius: 10px;
}

@media (min-width:61em) {
.conditions h3 {  /*背景の指定*/
    width: 30%;
}
.conditions table td:first-child{
  width: 20%;
  font-size: 110%;
  }
}