@import url("../../common/css/common.css");

.title_border {
  text-align: center;
  border-bottom: 2px solid #0fa8bc;
}

h3.title_h3 {
  display: inline-block;
  font-size: 1.8rem;
  color: #fff;
  padding: 10px 15px;
  background-color: #0fa8bc;
  letter-spacing: 4px;
  text-align: left;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.margin_fix {
  margin-bottom: 50px;
}

.content_back1 {
  background-color: #faf7d4;
  padding: 30px 0 50px;
}

.promotion_flex {
  margin: 30px auto 50px;
}

.promotion_box_text {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 10px 15px;
  text-align: center;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.promotion_list1 {
  list-style: none;
  font-weight: bold;
  font-size: 1.8rem;
  padding-left: 30px;
  position: relative;
  line-height: 1;
}

.promotion_list1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  width: 1px;
  height: 100%;
  background-color: #0fa8bc;
}

.promotion_list1::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 10.8px;
  width: 0;
  height: 0;
  border-top: 10px solid #0fa8bc;
  border-bottom: 10px solid transparent;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
}

.promotion_list1 li:not(:last-child) {
  margin-bottom: 15px;
}

.promotion_list2 {
  list-style: none;
  line-height: 2;
  margin-bottom: 30px;
}

.promotion_list2 li:not(:last-child) {
  margin-bottom: 30px;
}

.flow_title {
  display: inline-block;
  color: #0fa8bc;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 5px;
  letter-spacing: 1px;
  margin-bottom: 15px;
  border: 2px solid;
  background-color: #fff;
}

.flow_detail {
  max-width: 470px;
  margin: auto;
}

.requirement_title {
  max-width: 250px;
  margin: 50px 0 15px;
}

.requirement_list,
.merit_list {
  list-style: none;
}

.requirement_list li,
.merit_list li {
  font-weight: bold;
  padding-left: 35px;
}

.requirement_list li:not(:last-child),
.merit_list li:not(:last-child) {
  margin-bottom: 30px;
}

.requirement_list li span,
.merit_list li span {
  position: relative;
}

.requirement_list li span::before,
.merit_list li span::before {
  content: "";
  position: absolute;
  top: 0;
  left: -35px;
  width: 25px;
  height: 25px;
  background-size: contain;
}

.requirement_list li:first-child span::before {
  background-image: url(../img/number_red1.jpg);
}

.requirement_list li:nth-child(2) span::before {
  background-image: url(../img/number_red2.jpg);
}

.requirement_list li:last-child span::before {
  background-image: url(../img/number_red3.jpg);
}

.requirement_list li a {
  color: #296c80;
}

.requirement_detail_flex {
  margin: 30px auto 50px;
}

.requirement_detail_box img {
  max-width: 365px;
}

.detail_wrap {
  text-align: center;
}

.detail_link {
  max-width: 220px;
  margin: 30px auto 50px;
}

.merit_title {
  max-width: 370px;
  margin-bottom: 15px;
}

.merit_list li:first-child span::before {
  background-image: url(../img/number_blue1.jpg);
}

.merit_list li:nth-child(2) span::before {
  background-image: url(../img/number_blue2.jpg);
}

.merit_list li:nth-child(3) span::before {
  background-image: url(../img/number_blue3.jpg);
}

.merit_list li:nth-child(4) span::before {
  background-image: url(../img/number_blue4.jpg);
}

.merit_list li:last-child span::before {
  background-image: url(../img/number_blue5.jpg);
}

.merit_list li a {
  color: #0fa8bc;
}

.flow_detail2 {
  max-width: 540px;
  margin: 30px auto 0;
}

h3.system_h3 {
  color: #fff;
  font-size: 2rem;
  text-align: center;
  padding: 10px 15px;
}

.system1 {
  margin-top: 30px;
}

.system1 h3.system_h3,
.system2 h3.system_h3,
.system3 h3.system_h3 {
  background-color: #21acbd;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.system4 h3.system_h3 {
  background-color: #dc6189;
  text-shadow: 2px 2px 1px #af2952, -2px 2px 1px #af2952, 2px -2px 1px #af2952,
    -2px -2px 1px #af2952, 2px 0px 1px #af2952, 0px 2px 1px #af2952,
    -2px 0px 1px #af2952, 0px -2px 1px #af2952;
}

.system_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  background-color: #f9f6cf;
}

.system_text2 {
  font-weight: bold;
}

.system_text3 {
  margin: 5px auto 15px;
  font-weight: bold;
}

.detail_wrap {
  text-align: center;
}

.system_detail {
  max-width: 220px;
  margin: 0 auto 30px;
}

.system_img2 {
  margin: 15px auto;
  max-width: 360px;
}

@media screen and (max-width: 750px) {
  .promotion_flex {
    text-align: center;
  }

  .promotion_box:nth-child(2) {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }

  .promotion_box_text {
    display: inline-block;
    background-color: #0fa8bc;
  }

  .promotion_list1 {
    margin-top: 15px;
    text-align: left;
  }

  .requirement_detail_box {
    text-align: center;
  }

  .system_img {
    flex-basis: 35%;
  }

  .system_text2 {
    flex-basis: 65%;
    font-size: 1.4rem;
    margin-left: 5px;
  }
}

@media screen and (min-width: 750px) {
  h3.title_h3 {
    font-size: 3rem;
    padding: 10px 30px;
  }

  .margin_fix {
    margin-bottom: 80px;
  }

  .content_back1 {
    background-color: #faf7d4;
    padding: 50px 0 80px;
  }

  .promotion_flex {
    margin: 50px auto;
    display: flex;
  }

  .promotion_box {
    display: flex;
    align-items: center;
  }

  .promotion_box:first-child {
    background-color: #0fa8bc;
  }

  .promotion_box_text {
    font-size: 2.5rem;
  }

  .promotion_box_text span::after {
    content: "\A";
    white-space: pre;
  }

  .promotion_list1 {
    font-size: 2.1rem;
  }

  .flow_title {
    font-size: 2.5rem;
    padding: 0 15px;
  }

  .promotion_list2 {
    list-style: none;
    line-height: 2;
    margin-bottom: 30px;
  }

  .requirement_title {
    margin: 50px 0 30px;
  }

  .requirement_list li {
    padding-left: 40px;
  }

  .requirement_list li .number_icon::before {
    left: -40px;
    width: 30px;
    height: 30px;
  }

  .requirement_detail_flex {
    margin: 50px auto 80px;
    display: flex;
    justify-content: center;
  }

  .requirement_detail_box:first-child {
    margin-right: 15px;
  }

  .requirement_detail_box {
    display: flex;
    justify-content: center;
  }

  .detail_link {
    margin: 50px auto 80px;
  }

  .flow_detail2 {
    margin: 50px auto 0;
  }

  .system1,
  .system2,
  .system3,
  .system4 {
    background-color: #f9f6cf;
    padding-bottom: 30px;
  }

  .system1,
  .system2,
  .system3 {
    margin-bottom: 30px;
  }

  .system1 {
    margin-top: 50px;
  }

  .system4 {
    margin-bottom: 100px;
  }

  .system_flex {
    padding: 15px 15px 0;
  }

  h3.system_h3 {
    font-size: 3rem;
  }

  .system_text2 {
    font-size: 2.5rem;
  }

  .system_text3 {
    margin: 5px 15px 30px;
  }

  .system_detail {
    margin: 0 auto;
  }

  .system_img2 {
    max-width: 630px;
    margin: 15px auto 30px;
  }
}
