.h1_bg {
  background: url("../img/mv.jpg") center no-repeat #ebf5fa;
  background-size: cover;
}

.flowlist li {
  background: #ebf5fa;
  position: relative;
  margin-bottom: 160px;
}
.flowlist li:after {
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  content: "";
  margin-right: auto;
  margin-left: auto;
  vertical-align: middle;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 40px 50px 0 50px;
  border-color: #1b8fc8 transparent transparent transparent;
}
.flowlist li:first-child {
  margin-top: 50px;
}
.flowlist li:last-child {
  margin-bottom: 0;
}
.flowlist li:first-child:after {
  display: none;
}
.flowlist dl {
  width: 49%;
  text-align: left;
  padding-top: 55px;
  padding-left: 40px;
}
.flowlist div.flowimg {
  width: 48.5%;
  line-height: 1;
}
.flowlist div.flowimg img {
  width: 100%;
  height: auto;
  line-height: 1;
}
.flowlist dt {
  line-height: 1.5;
  font-weight: bold;
  color: #1b8fc8;
  margin-bottom: 20px;
}
.flowlist dt .en {
  vertical-align: middle;
  background: #1b8fc8;
  display: inline-block;
  padding: 8px 16px;
  color: #fff;
  font-size: 3rem;
  line-height: 1;
  font-weight: normal;
}
.flowlist dt .en > span {
  font-size: 1.4rem;
  vertical-align: middle;
  margin-right: 5px;
  margin-top: -5px;
  display: inline-block;
}
.flowlist dt p {
  vertical-align: middle;
  display: inline-block;
  margin-left: 15px;
  font-size: 2.7rem;
}
.flowlist dd a, .flowlist dd a:link {
  color: #1b8fc8;
  font-weight: bold;
  position: relative;
}
.flowlist dd a:before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #1b8fc8;
  transition: .5s;
  opacity: 0;
}
.flowlist dd a:hover:before {
  opacity: 1;
}
.flowlist dd strong {
  color: #1b8fc8;
  font-weight: bold;
}

@media screen and (max-width: 1080px) and (min-width: 769px) {
  .flowlist li {
    margin-bottom: 80px;
  }
  .flowlist li:after {
    top: -45px;
    border-width: 20px 25px 0 25px;
  }
  .flowlist li:first-child {
    margin-top: 25px;
  }
  .flowlist li:last-child {
    margin-bottom: 0;
  }
  .flowlist li:first-child:after {
    display: none;
  }
  .flowlist dl {
    padding-top: 15px;
    padding-left: 15px;
  }
  .flowlist dt {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
  .flowlist dt .en {
    display: inline-block;
    padding: 6px 8px;
    font-size: 2rem;
    margin-top: -5px;
  }
  .flowlist dt .en > span {
    font-size: 1.4rem;
    margin-right: 5px;
  }
  .flowlist dt p {
    margin-left: 15px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .disc {
    text-align: left;
  }

  .flowlist li {
    margin-bottom: 80px;
  }
  .flowlist li:after {
    top: -45px;
    border-width: 20px 25px 0 25px;
  }
  .flowlist li:first-child {
    margin-top: 25px;
  }
  .flowlist li:last-child {
    margin-bottom: 0;
  }
  .flowlist li:first-child:after {
    display: none;
  }
  .flowlist dl {
    width: 100%;
    padding-top: 27px;
    padding-left: 5%;
    padding-right: 5%;
  }
  .flowlist dl dt {
    margin-bottom: 20px;
  }
  .flowlist dl dt .en {
    padding: 6px 6px;
    font-size: 2rem;
  }
  .flowlist dl dt .en > span {
    font-size: 1.4rem;
    margin-right: 4px;
    margin-top: -2px;
  }
  .flowlist dl dt p {
    margin-left: 15px;
    font-size: 1.8rem;
  }
  .flowlist div.flowimg {
    width: 90% !important;
    line-height: 1;
    margin: 20px 5% 0 5%;
    padding-bottom: 27px;
  }
}
/* qaBox
=========================================== */
#qaBox {
  padding: 0 20px;
}
#qaBox dl {
  max-width: 1024px;
  margin: 0 auto 2px;
}
#qaBox dl dt {
  display: table;
  width: 100%;
  position: relative;
  cursor: pointer;
  background-color: #ebf5fa;
}
#qaBox dl dt .ttl_q {
  width: 60px;
  display: table-cell;
  vertical-align: middle;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  color: #1b8fc8;
  text-align: center;
  position: relative;
}
#qaBox dl dt .qaBox_ttl {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
  padding-right: 35px;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.6em;
  color: #1b8fc8;
}
#qaBox dl dt .toggle-btn {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 32px;
}
@media only screen and (max-width: 414px) {
  #qaBox dl dt .toggle-btn {
    width: 14px;
    height: 14px;
    right: 20px;
  }
}
#qaBox dl dt .toggle-btn span {
  width: 100%;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #1b8fc8;
  display: inline-block;
  transition: all .3s;
  box-sizing: border-box;
}
#qaBox dl dt .toggle-btn span:nth-of-type(1) {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}
#qaBox dl dt .toggle-btn span:nth-of-type(2) {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
#qaBox dl dt .active span:nth-of-type(1) {
  display: none;
}
#qaBox dl dt .active span:nth-of-type(2) {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
#qaBox dl dd {
  display: none;
  width: 100%;
  padding: 30px 0;
  background: #fff;
  font-weight: 400;
  line-height: 2.3em;
}
#qaBox dl dd .ttl_a {
  display: table-cell;
  width: 60px;
  vertical-align: top;
  padding: 5px 0 0 0;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}
#qaBox dl dd p {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
  padding-right: 35px;
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.8em;
}
@media only screen and (max-width: 768px) {
  #qaBox dl dt .toggle-btn {
    right: 15px;
  }
  #qaBox dl dd {
    margin-bottom: 0;
  }
}
