.flow{
  padding-top:30px;
  padding-bottom:0px;
}

.flow-header{
  text-align:center;
  width:95%;
  margin:auto;
  padding:5px 0 15px 0;
}

.flow-header h2{
  font-size:32px;
  color:#333333;
  line-height:1.8;
  margin-bottom:0;
}

.flow-header-image{
  display:flex;
  width:95%;
  margin:auto;
  justify-content:center;
}

.flow-contents{
  width:95%;
  margin:0px auto 15px; auto;
  border-bottom:0.5px dashed #999999;
}

.flow-content{
  padding:10px 0 30px 45px;
  border-top:0.5px dashed #999999;
}

.flow-content h2 {
  position: relative;
  padding-left:22px;
  font-size: 28px;
  color:#316262;
  border-radius: 0 10px 10px 0;
}

.flow-content h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f101";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white;
  background-color:#77BABA;
  font-weight: 900;
  width: 45px;
  text-align: center;
  height: 45px;
  line-height: 45px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}

.flow-content-parent{
  display:flex;
}

.flow-content-left{
  width:60%;
  padding-right:3%;
}

.flow-content-left p{
  font-size:18px;
  margin:0;
  color:#444444;
}

.flow-content-left p br{
  display:block;
  content:"";
  margin-top:2ex;
}

.flow-content-right{
  width:40%;
}

.flow-content-right img{
  width:100%;
}

.flow-content-appendix{
  padding: 0.5em 1em;
  color: #666666;
  background: white;
  border-top: solid 5px #DB8574;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
  margin:30px 0 40px 45px;
}

.flow-content-appendix h3{
  margin:10px 0;
}

.flow-content-appendix p{
  padding-left:1em;
  margin:10px 0;
}

.flow-content-appendix ul{
  font-size:14px;
  padding-left:2em;
  margin:10px 0;
}

@media all and (max-width:1100px){

  .flow-header h2{
    font-size:24px;
  }

}

@media all and (max-width:890px){

  .subject-area-parent{
    flex-direction:column-reverse;
  }

  .subject-area-left{
    width:95%;
    padding-right:0;
    padding-top:15px;
  }

  .subject-area-right{
    width:95%;
    margin:auto;
  }

}

@media all and (max-width:800px){
  
  .flow-content h2 {
    padding-left:20px;
    font-size: 20px;
  }
  
  .flow-content h2:before {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }

  .flow-content-parent{
    flex-direction:column-reverse;
  }

  .flow-content-left{
    width:95%;
    padding-right:0;
    padding-top:15px;
  }

  .flow-content-right{
    width:95%;
  }

  .flow-content-appendix{
    margin:10px 0 30px 0px;
  }

}

@media all and (max-width:670px){

  .flow-content{
    padding-bottom:30px;
  }

}

@media all and (max-width:525px){

  .flow-content h2 {
    padding-left:20px;
    font-size: 16px;
  }
  
  .flow-content h2:before {
    width: 30px;
    height: 30px;
    line-height: 30px;
  }

}

@media all and (max-width:440px){

  .flow-header h2{
    font-size:17.5px;
  }

  .flow-content{
    padding-left:30px;
  }

  .flow-content-br{
    display:block;
  }

  .flow-content h2{
    font-size:16px;
    padding-left:15px;
  }
  
  .flow-content h2:before {
    width: 25px;
    height: 25px;
    line-height: 25px;
  }

}