.cover {
  background: url(../img/lose/cover.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.cover::before {
  background: rgba(255, 255, 255, 0.4);
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}

.intro {
  margin: auto;
  max-width: 1200px;
  width: 94vw;
}

.intro h2 {
  letter-spacing: 2px;
  text-align: center;
}

.intro .lead {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  letter-spacing: 1px;
  line-height: 2.5;
  margin-top: 50px;
  position: relative;
  text-align: center;
}

.intro .lead::before {
  border-left: 1px solid #3cb1e6;
  border-top: 1px solid #3cb1e6;
  border-top-left-radius: 5px;
  content: "";
  height: 30px;
  left: 0;
  position: absolute;
  top: 0;
  width: 30px;
}

.intro .lead::after {
  border-bottom: 1px solid #3cb1e6;
  border-bottom-right-radius: 5px;
  border-right: 1px solid #3cb1e6;
  bottom: 0;
  content: "";
  height: 30px;
  position: absolute;
  right: 0;
  width: 30px;
}

.flow {
  margin: 100px auto 0;
  max-width: 1200px;
  width: 94vw;
}

.flow h2 {
  text-align: center;
}

.flow_list {
  margin-top: 50px;
}

.flow_list .ttl {
  font-size: 2rem;
}

.flow_list .ttl span {
  padding-right: 1.2em;
  position: relative;
}

.flow_list .ttl span::before {
  background-color: #3cb1e6;
  content: "";
  height: 2px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  width: 12px;
}

.flow_list .media::last-child {
  margin-bottom: 0;
}

.flow_list .media.media_rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flow_list .media .body .media_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.flow_list .media .body .desc {
  line-height: 2;
  margin-bottom: 20px;
}

.price {
  margin: 100px auto 0;
  max-width: 1200px;
  width: 94vw;
}

.price table {
  margin-bottom: 20px;
  width: 100%;
}

.price table th {
  background: #ecede4;
  border: 1px solid #ccc;
  font-size: 1.4rem;
  padding: 10px;
  text-align: center;
}

.price td {
  border: 1px solid #cccccc;
  font-size: 1.4rem;
  padding: 10px;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .intro .lead {
    padding: 35px;
  }
  .flow_list .media {
    border-bottom: solid 1px rgba(46, 47, 50, 0.5);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    margin-top: 30px;
    padding-bottom: 30px;
  }
  .flow_list .media.media_rev .imgWp {
    margin-left: 3.3333%;
    margin-right: 0;
  }
  .flow_list .media .imgWp {
    margin-right: 3.3333%;
    width: 40%;
  }
  .flow_list .media .body {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media only screen and (max-width: 768px) {
  .intro .lead {
    font-size: 1.3rem;
    padding: 10px;
  }
  .flow_list .media {
    margin-bottom: 40px;
  }
  .flow_list .media .imgWp {
    margin-top: 30px;
  }
  .flow_list .media .body {
    margin-top: 30px;
  }
}
