body {
  color: #1B2F77;
}

section.fv {
  background: -webkit-gradient(linear, left top, right top, from(#2073ef), to(#0606c1));
  background: linear-gradient(to right, #2073ef, #0606c1);
  height: 720px;
  padding-top: 0;
  over-flow: hidden;
}
@media screen and (max-width: 750px) {
  section.fv {
    height: calc(100vw / 375 * 667);
  }
}
section.fv h1 img {
  width: 100%;
}
section.fv .container {
  position: relative;
  padding-top: 73px;
}
@media screen and (max-width: 750px) {
  section.fv .container {
    padding-top: calc(100vw / 750 * 44);
  }
}
section.fv a {
  display: block;
  width: 395.44px;
  position: absolute;
  top: 483px;
  right: 0px;
}
@media screen and (max-width: 750px) {
  section.fv a {
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    width: calc(100vw / 375 * 282.1573);
    top: calc(100vw / 375 * 216);
  }
}
section.fv a img {
  width: 100%;
}

.before-h2 {
  font-weight: bold;
  color: #222222;
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .before-h2 {
    font-size: calc(100vw / 750 * 32);
  }
}

h2 {
  color: #0501BF;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
  font-size: 3rem;
}

section.lead {
  position: relative;
  padding-bottom: calc(100vw / 1366 * 160);
}
section.lead:before, section.lead:after {
  content: "";
  height: 0px;
  width: 0px;
  border-bottom: 156px solid #fff;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  position: absolute;
  bottom: 0px;
  left: -50%;
}
@media screen and (max-width: 1212px) {
  section.lead:before, section.lead:after {
    border-bottom: calc(100vw / 1366 * 156) solid #fff;
  }
}
section.lead:after {
  left: 50%;
}

section.about .about__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 28px;
}
@media screen and (max-width: 750px) {
  section.about .about__items {
    display: block;
    margin-bottom: calc(100vw / 750 * 40);
  }
}
section.about .about__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 3 - 16px);
          flex: 0 0 calc(100% / 3 - 16px);
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  section.about .about__item {
    display: block;
    margin-bottom: calc(100vw / 750 * 40);
  }
}
section.about .about__item figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 320px;
  margin-bottom: 24px;
  padding: 22px;
}
@media screen and (max-width: 1212px) {
  section.about .about__item figure {
    height: calc(100vw / 1212 * 320);
  }
}
@media screen and (max-width: 750px) {
  section.about .about__item figure {
    height: calc(100vw / 750 * 520);
  }
}
section.about .about__item figure img {
  height: 100%;
  margin: 0 auto;
  width: 100%;
}
section.about .about__item p {
  margin: auto 0 0 0;
}
section.about .about__arrow {
  display: block;
  margin: 0 auto 5px auto;
}
@media screen and (max-width: 750px) {
  section.about .about__arrow {
    margin-bottom: calc(100vw / 750 * 40);
  }
}
section.about .about__result {
  font-size: 3rem;
}
@media screen and (max-width: 750px) {
  section.about .about__result {
    font-size: calc(100vw / 750 * 40);
  }
}

section.case .case__items {
  max-width: 766px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto -32px auto;
}
section.case .case__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 3 - 16px);
          flex: 0 0 calc(100% / 3 - 16px);
  margin-bottom: 32px;
  background: #fff;
}
@media screen and (max-width: 750px) {
  section.case .case__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% / 2 - 16px);
            flex: 0 0 calc(100% / 2 - 16px);
  }
}
section.case .case__item img {
  width: 100%;
}

section.features h2 {
  margin-bottom: 105px;
}
@media screen and (max-width: 750px) {
  section.features h2 {
    margin-bottom: calc(100vw / 750 * 105);
  }
}
section.features h3 {
  font-size: 4.8rem;
  font-weight: bold;
  color: #0501BF;
  margin-bottom: 16px;
}
@media screen and (max-width: 1212px) {
  section.features h3 {
    font-size: calc(100vw / 1212 * 48);
  }
}
@media screen and (max-width: 750px) {
  section.features h3 {
    font-size: calc(100vw / 750 * 40);
  }
}
section.features .features__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 66px;
  position: relative;
}
@media screen and (max-width: 750px) {
  section.features .features__items {
    display: block;
    padding-top: calc(100vw / 750 * 122.3);
    margin-bottom: calc(100vw / 750 * 80);
  }
}
@media screen and (max-width: 750px) {
  section.features .features__num {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100vw / 750 * 106.3);
  }
}
section.features .features__items:nth-of-type(2n) .features__item--img {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 750px) {
  section.features .features__items:nth-of-type(2n) .features__item--img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
section.features .features__item--img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 330px;
          flex: 0 0 330px;
}
section.features .features__item--img img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 750px) {
  section.features .features__item--img img {
    max-width: 560px;
  }
}
@media screen and (max-width: 1212px) {
  section.features .features__item--img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 330);
            flex: 0 0 calc(100vw / 1212 * 330);
  }
}
section.features .features__item--txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 628px;
          flex: 0 0 628px;
}
@media screen and (max-width: 1212px) {
  section.features .features__item--txt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 628);
            flex: 0 0 calc(100vw / 1212 * 628);
  }
}
section.features .features__item--txt img {
  margin-bottom: 24px;
}
section.features .features__result {
  font-size: 3rem;
  margin-top: 82px;
}
@media screen and (max-width: 750px) {
  section.features .features__result {
    font-size: calc(100vw / 750 * 40);
  }
}

section.why h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  section.why h2 {
    margin-bottom: 40px;
  }
}
section.why .why__container {
  padding: 40px;
  -webkit-box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.16);
  margin-bottom: 40px;
}
section.why .why__container h3 {
  font-size: 4rem;
  color: #0501BF;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 32px;
}
@media screen and (max-width: 750px) {
  section.why .why__container h3 {
    font-size: calc(100vw / 750 * 40);
  }
}
section.why .why__container h4 {
  font-weight: bold;
  text-align: center;
  font-size: 2.4rem;
  color: #0501BF;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  section.why .why__container h4 {
    font-size: calc(100vw / 750 * 24);
  }
}
section.why .why__container p {
  margin-bottom: 40px;
}
section.why .why__container .why__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 888px;
  margin: 0 auto;
}
section.why .why__container .why__items2 {
  max-width: 500px;
  margin: 0 auto;
}
section.why .why__container .why__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 2 - 16px);
          flex: 0 0 calc(100% / 2 - 16px);
}
section.why .why__container .why__item2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 2 - 16px);
          flex: 0 0 calc(100% / 2 - 16px);
}
section.why .why__container .why__item img {
  width: 100%;
}
section.why .why__container .why__item2 img {
  width: 100%;
}


section.customize h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  section.customize h2 {
    margin-bottom: 40px;
  }
}
section.customize .customize__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  section.customize .customize__items {
    display: block;
  }
}
section.customize .customize__item--txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 575px;
          flex: 0 0 575px;
}
@media screen and (max-width: 1212px) {
  section.customize .customize__item--txt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 575);
            flex: 0 0 calc(100vw / 1212 * 575);
  }
}
section.customize .customize__item--img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 398px;
          flex: 0 0 398px;
  padding: 0px 43px;
}
@media screen and (max-width: 1212px) {
  section.customize .customize__item--img {
    padding: 0px calc(100vw / 1212 * 43);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 398);
            flex: 0 0 calc(100vw / 1212 * 398);
  }
}
section.customize .customize__checks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px 32px 8px 32px;
  color: #222;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  section.customize .customize__checks {
    margin: 0 auto 40px auto;
  }
}
section.customize .customize__check {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 3 - 16px);
          flex: 0 0 calc(100% / 3 - 16px);
  padding-left: 29px;
  margin-bottom: 16px;
  background: url(../img/customize_check.svg) left center/20px 20px no-repeat;
}
@media screen and (max-width: 750px) {
  section.customize .customize__check {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% / 2 - 16px);
            flex: 0 0 calc(100% / 2 - 16px);
  }
}
section.customize .customize__conclusion {
  font-size: 3rem;
}
@media screen and (max-width: 750px) {
  section.customize .customize__conclusion {
    text-align: center;
    margin-bottom: 40px;
    font-size: calc(100vw / 750 * 40);
  }
}
@media screen and (max-width: 750px) {
  section.customize img {
    max-width: 520px;
  }
}

section.price h2 + p {
  text-align: center;
  margin-bottom: 40px;
}
section.price h3 {
  font-weight: bold;
  text-align: center;
  color: #0501BF;
  font-size: 2.4rem;
  margin-bottom: 40px;
}
section.price .price__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  section.price .price__items {
    display: block;
  }
}
section.price .price__item {
  padding: 40px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
section.price .price__item--txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 460px;
          flex: 0 0 460px;
}
@media screen and (max-width: 1212px) {
  section.price .price__item--txt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 460);
            flex: 0 0 calc(100vw / 1212 * 460);
  }
}
section.price .price__item--plus {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64px;
          flex: 0 0 64px;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media screen and (max-width: 1212px) {
  section.price .price__item--plus {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 64);
            flex: 0 0 calc(100vw / 1212 * 64);
  }
}
section.price .price__item--plus img {
  max-width: 64px;
  margin: 0 auto;
}
section.price .price__img {
  margin: auto auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 82.7px;
}
section.price .price__img1 {
  max-width: 307px;
}
section.price .price__img2 {
  max-width: 312px;
}

section.cta {
  background: -webkit-gradient(linear, left top, right top, from(#0501bf), to(#00daff));
  background: linear-gradient(to right, #0501bf 0%, #00daff 100%);
  padding-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 750px) {
  section.cta {
    padding-bottom: 160px;
  }
}
section.cta h2 {
  text-align: left;
}
@media screen and (max-width: 750px) {
  section.cta h2 {
    text-align: center;
    font-size: calc(100vw / 750 * 40);
  }
}
section.cta .cta__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  section.cta .cta__items {
    display: block;
  }
}
section.cta .cta__item--img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 320px;
          flex: 0 0 320px;
  padding: 0px 26px;
  margin-top: -30px;
}
@media screen and (max-width: 1212px) {
  section.cta .cta__item--img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 320);
            flex: 0 0 calc(100vw / 1212 * 320);
  }
}
@media screen and (max-width: 750px) {
  section.cta .cta__item--img {
    margin: 0 auto;
    display: block;
    max-width: 520px;
  }
}
section.cta .cta__item--img img {
  max-width: 100%;
}
section.cta .cta__item--txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 690px;
          flex: 0 0 690px;
}
@media screen and (max-width: 1212px) {
  section.cta .cta__item--txt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100vw / 1212 * 690);
            flex: 0 0 calc(100vw / 1212 * 690);
  }
}
section.cta .cta__item--txt a {
  max-width: 100%;
}
@media screen and (max-width: 750px) {
  section.cta .cta__item--txt a {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 40px;
    width: calc(100vw / 375 * 320);
    max-width: initial;
  }
}
section.cta .cta__item--txt a img {
  max-width: 100%;
}

section.troubles {
  padding-bottom: 40px;
}
section.troubles h2 {
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  section.troubles h2 {
    margin-bottom: 40px;
  }
}
section.troubles h3 {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  margin-top: auto;
}
@media screen and (max-width: 750px) {
  section.troubles h3 {
    font-size: calc(100vw / 750 * 32);
  }
}
section.troubles .troubles__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 988px;
  margin: 0 auto;
}
section.troubles .troubles__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 2 - 20px);
          flex: 0 0 calc(100% / 2 - 20px);
  background-color: #F2F2FC;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 40px;
  width: 474px;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 750px) {
  section.troubles .troubles__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% / 2 - 8px);
            flex: 0 0 calc(100% / 2 - 8px);
    padding: calc(100vw / 750 * 24);
  }
}
section.troubles .troubles__item img {
  max-height: 195.09px;
  margin: 0 auto 16px auto;
}

section.flow .flow__items {
  border-radius: 24px;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px 56px;
  max-width: 993.44px;
  margin: 0px auto 16px auto;
}
@media screen and (max-width: 750px) {
  section.flow .flow__items {
    display: block;
    padding: 24px calc(100vw / 750 * 56);
  }
}
section.flow h3 {
  font-weight: bold;
  margin-bottom: 16px;
  color: #0501BF;
  font-size: 2rem;
}
@media screen and (max-width: 750px) {
  section.flow h3 {
    text-align: center;
  }
}
section.flow a {
  display: block;
  margin-top: 16px;
  max-width: 100%;
}
section.flow a img {
  width: 100%;
}
section.flow .flow__item--num {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 94px;
          flex: 0 0 94px;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media screen and (max-width: 750px) {
  section.flow .flow__item--num img {
    display: block;
    margin: 0 auto 24px auto;
  }
}
section.flow .flow__item--img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 263px;
          flex: 0 0 263px;
}
@media screen and (max-width: 750px) {
  section.flow .flow__item--img img {
    display: block;
    margin: 0 auto 24px auto;
  }
}
section.flow .flow__item--txt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 395.44px;
          flex: 0 0 395.44px;
}
@media screen and (max-width: 750px) {
  section.flow .flow__item--txt {
    text-align: center;
  }
}
section.flow .flow__arrow {
  display: block;
  margin: 0 auto 16px auto;
}

footer {
  padding: 40px 16px;
  text-align: center;
}
footer a {
  display: inline-block;
  border-right: 1px solid;
  color: #1B2F77;
  padding-right: 0.5em;
}
footer a:last-child {
  border: none;
  margin: 0;
}