/*==============================
	pageTtl
==============================*/
.pageTtl {
  background: url("../img/soudan/fv.jpg") no-repeat top center;
  background-size: cover;
}

/*==============================
	sec
==============================*/
.sec {
  padding: 0 0 20%;
}
.sec:last-of-type {
  padding: 0;
}

.secTtl {
  color: #ee8070;
  font-weight: bold;
  font-size: 6.875vw;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 6%;
}
.secTtl.estate:before {
  width: 55px;
  height: 43px;
  background: url("../img/soudan/icon01.svg") no-repeat center center;
  background-size: contain;
}
.secTtl.law:before {
  width: 50px;
  height: 55px;
  background: url("../img/soudan/icon02.svg") no-repeat center center;
  background-size: contain;
}
.secTtl.pay:before {
  width: 75px;
  height: 53px;
  background: url("../img/soudan/icon03.svg") no-repeat center center;
  background-size: contain;
}
.secTtl:before {
  content: "";
  display: block;
  margin: 0 auto 10px;
}
.secTtl span {
  position: relative;
  border-bottom: solid 2px #333;
  display: inline-block;
  padding-bottom: 15px;
}
.secTtl span:before, .secTtl span:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.secTtl span:before {
  border: solid 12px transparent;
  border-top: solid 12px #333;
}
.secTtl span:after {
  border: solid 14px transparent;
  border-top: solid 14px #FFF;
  margin-top: -5px;
}

.feature {
  background: #f1ede8;
  padding: 5%;
  box-sizing: border-box;
  margin-bottom: 12%;
}

.payList {
  background: #f1ede8;
  padding: 5%;
  box-sizing: border-box;
}
.payList ul li {
  margin-bottom: .5em;
}
.payList ul li p {
  text-indent: -1.1em;
  margin-left: 1.1em;
}

.case {
  text-align: center;
  border-radius: 8px;
  border: solid 2px #ee8070;
  padding: 5%;
  margin-bottom: 12%;
}
.case h3 {
  display: inline-block;
  padding: 0 10px;
  background: #ee8070;
  font-weight: bold;
  color: #FFF;
  margin-bottom: .5em;
  font-size: 5.625vw;
}
.case p {
  font-weight: bold;
}

.flow li {
  border: solid 1px #ee8070;
  position: relative;
  padding: .8em 5% 5%;
  box-sizing: border-box;
  margin-bottom: 1em;
}
.flow li .num {
  font-size: 6.25vw;
  display: inline-block;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  width: 2em;
  line-height: 2em;
  position: absolute;
  top: 0;
  left: 0;
}
.flow li .num span {
  width: 100%;
  height: 100%;
  display: inline-block;
  background: #ee8070;
}
.flow li .txt p b {
  display: block;
  font-size: 1.25em;
  line-height: 1.4;
  margin-bottom: .5em;
  margin-left: 5rem;
}
.flow li .txt p.point {
  margin-top: 1em;
  background: #fdf6f4;
  padding: 5%;
  box-sizing: border-box;
  border-top: solid 2px #ee8070;
}
.flow li .txt p.point b {
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .sec {
    padding: 0 0 5%;
  }

  .secTtl {
    font-size: 2.5vw;
    margin-bottom: 4%;
  }

  .feature {
    padding: 20px 60px;
    text-align: center;
    margin-bottom: 6%;
  }

  .payList {
    padding: 20px 60px;
  }

  .case {
    padding: 20px;
    margin-bottom: 6%;
  }
  .case h3 {
    font-size: 20px;
  }

  .flow li {
    padding: .6em 7% .8em;
  }
  .flow li .num {
    font-size: 1.6666666667vw;
  }
  .flow li .txt p b {
    margin-left: 0;
  }
  .flow li .txt p.point {
    padding: 15px 20px;
    border-top: none;
    border-left: solid 2px #ee8070;
  }
}
@media screen and (min-width: 1200px) {
  .secTtl {
    font-size: 30px;
  }

  .flow li .num {
    font-size: 20px;
  }
}
