/* -----------------------------------------------------------------
  セクション
----------------------------------------------------------------- */
#flow section {
  margin-bottom: 30px;
}

/* -----------------------------------------------------------------
  共通
----------------------------------------------------------------- */
#flow ol.flow {
  margin: 0;
  padding: 0;
}
#flow ol.flow > li {
  list-style: none;
  margin-left: 0;
  padding: 30px 0 0 0;
}
#flow ol.flow li:first-child {
  padding:0;
  background: none;
}
#flow ol.flow li > .att-box {
  min-height: 150px;
  position: relative;
}
#flow ol.flow li .att-box:before {
  border: 30px solid transparent;
  border-top: 20px solid #999;
  content: "";
  position: absolute;
  bottom: -65px;
  left: 46%;
}
#flow ol.flow li:last-child .att-box:before {
  border: 0;
}
@media (max-width: 729px){
  #flow ol.flow li .att-box:before {
    left: 44%;
  }
}


/* 見出し */
#flow ol.flow li .flow-heading span {
  font-weight: bold;
  line-height:1.2em;
  padding: 15px 0 10px 120px;
  vertical-align: middle;
}
#flow ol.flow li.f1 .flow-heading span {
  background-image: url(/img/block/flow/step1.png);
}
#flow ol.flow li.f2 .flow-heading span {
  background-image: url(/img/block/flow/step2.png);
}
#flow ol.flow li.f3 .flow-heading span {
  background-image: url(/img/block/flow/step3.png);
}
#flow ol.flow li.f4 .flow-heading span {
  background-image: url(/img/block/flow/step4.png);
}
#flow ol.flow li.f5 .flow-heading span {
  background-image: url(/img/block/flow/step5.png);
}
@media only screen and (max-width: 689px){
  #flow .page-title h1 {
    padding:7px 10px 5px;
  }
  #flow ol.flow > li .flow-heading {
    font-size: 16px;
  }
}

/* 問合わせバナー */
#core #flow .flow-banner {
  clear: both;
  height: auto;
  margin: 0 auto 10px;
  text-align: center;
}
#core #flow .flow-banner ul li {
  list-style: none;
}
#core #flow .flow-banner .form-tel,
#core #flow .flow-banner .form-toi a {
  font-weight: bold;
  height: 75px;
  margin: 0;
  padding: 2px 5px;
  text-align: center;
  vertical-align: middle;
  width: 48%;
}
#core #flow .flow-banner ul li img {
  vertical-align: -1px;
}
#core #flow .flow-banner .form-tel {
  background: #8ECE5A;
  background: -webkit-linear-gradient(bottom, #B0E28A, #8ECE5A);
  background: linear-gradient(to bottom, #B0E28A, #8ECE5A);
  border: 1px solid #68BF51;
  border-radius: 3px;
  display: block;
  float: left;
  font-size: 24px;
  line-height: 1em;
  margin-right: 15px;
}
#core #flow .flow-banner ul li span {
  font-weight: normal;
  font-size: 14px;
  display: block;
  text-align: center;
}
#core #flow .flow-banner .form-toi a {
  background: #F99922;
  background: -webkit-linear-gradient(bottom, #FFAC59, #F99922);
  background: linear-gradient(to bottom, #FFAC59, #F99922);
  border: 1px solid #FF8400;
  border-radius: 3px;
  color: #fff;
  display: table-cell;
  float: none;
  font-size: 18px;
  text-decoration: none;
}
#core #flow .flow-banner .form-toi a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 1039px) {
  #core #flow .flow-banner .form-tel {
    font-size: 20px;
  }
  #core #flow .flow-banner ul li span {
    font-size: 10px;
  }
  #core #flow .flow-banner .form-toi a {
    font-size: 16px;
  }
}
@media only screen and (max-width: 729px) {
  #core #flow .flow-banner .form-tel,
  #core #flow .flow-banner .form-toi a {
    float: none;
    margin: 0 0 5px;
    padding: 0;
  }
  #core #flow .flow-banner .form-tel {
    font-size: 24px;
    width: 100%;
  }
  #core #flow .flow-banner .form-toi a {
    width: 34%;
  }
  #core #flow .flow-banner ul li span {
    font-size: 12px;
  }
}

/* -----------------------------------------------------------------
  見出し背景なし
----------------------------------------------------------------- */
#flow.ptn1 ol.flow li .flow-heading span {
  background-position: left center;
  background-repeat: no-repeat;
  color: #2a4e97;
  display: table-cell;
  font-size: 22px;
  height:60px;
}
@media only screen and (max-width: 729px){
  #flow.ptn1 ol.flow li .flow-heading span {
    font-size: 1.8rem;
  }
}

/* -----------------------------------------------------------------
  見出し背景あり
----------------------------------------------------------------- */
#flow.ptn2 ol.flow li .att-box {
  border: 1px solid #d6d6d6;
  padding-top: 0;
}
#flow.ptn2 ol.flow li .flow-heading {
  background: #EFEFEF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #EFEFEF), color-stop(0.51, #efefef), color-stop(0.50, #F9F9F9), color-stop(0.00, #FEFEFE));
  background: -webkit-linear-gradient(top, #FEFEFE 0%, #F9F9F9 50%, #efefef 51%, #EFEFEF 100%);
  background: -moz-linear-gradient(top, #FEFEFE 0%, #F9F9F9 50%, #efefef 51%, #EFEFEF 100%);
  background: -ms-linear-gradient(top, #FEFEFE 0%, #F9F9F9 50%, #efefef 51%, #EFEFEF 100%);
  background-position: 10px center;
  border: 1px solid #d6d6d6;
  color: #E27F00;
  display: block;
  font-size: 22px;
  height: auto;
  margin: -1px -16px 15px; 
}
#flow.ptn2 ol.flow li .flow-heading span {
  display: block;
  background-position: 10px center;
  background-repeat: no-repeat;
  color: #284B91;
}
@media only screen and (max-width: 729px){
  #flow.ptn2 ol.flow li .flow-heading {
    font-size: 1.8rem;
    margin: -1px -11px 15px; 
    width: auto;
  }
  #flow.ptn2 ol.flow li .flow-heading span {
    background-size: 60px auto;
    padding-left: 70px;
  }
}