header.header .title h2 { line-height: 1;}
.banners {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  margin: -110px 5vw 0;
}
.banners li:not(:first-child) { margin-left: 20px;}
.banners li img { border-radius: 10px; height: auto;}
.banners li figure { text-align: center;}

@media only screen and (max-width: 782px) {
  .banners {
    margin: -11vw 0 0;
  }
  .banners li:not(:first-child) { margin-left: 3vw;}
  .banners li { width: calc(30% - 2vw);}
  .banners li img { border-radius: 5px; margin: 0;}
}

.h203 {
  line-height: 1.3;
  margin: 6rem 0 0 -100px;
  text-align: center;
  width: calc(100% + 200px);
}
.h203 .small { font-size: 40px; display: block;}
.h203 .large { font-size: 120px; color: #41bdce; display: block; position: relative; padding: 0 200px;}
.h203 .large span { letter-spacing: -20px; }
.h203 .large::before,
.h203 .large::after {
  content: "";
  background: url("../img/filter/title_l@2x.png") no-repeat left top / contain;
  width: 180px;
  height: 180px;
  position: absolute;
  top: calc(50% - 90px);
}
.h203 .large::before { left: 0;}
.h203 .large::after { right: 0; background: url("../img/filter/title_r@2x.png") no-repeat left top / contain;}
.h203 + .h501 {
  text-align: center;
  font-size: 114%;
  font-weight: bold;
}
.h501 { margin-top: 2rem;}
p.desc {
  margin-top: 4rem;
  text-align: center;
}
p.desc.small {
  margin-top: 2rem;
  font-size: 86%;
}
.mt0 { margin-top: 0;}

@media only screen and (max-width: 1050px) {
  body.Device-touchable .h203 {
    line-height: 1.3;
    margin: 2rem 0 0 0px;
    width: auto;
    padding-top: 100px;
  }
  body.Device-touchable .h203 .small { font-size: 25px; display: block;}
  body.Device-touchable .h203 .large { font-size: 70px; padding: 0 0px;}
  body.Device-touchable .h203 .large span { letter-spacing: 0px; }
  body.Device-touchable .h203 .large::before,
  body.Device-touchable .h203 .large::after { display: none;}
  body.Device-touchable .h203::before, .h203::after {
    content: "";
    background: url("../img/filter/title_l.png") no-repeat left top / contain;
    width: 90px;
    height: 90px;
    position: absolute;
    top: 0;
  }
  body.Device-touchable .h203::before { left: calc(50% - 95px);}
  body.Device-touchable .h203::after { left: calc(50% + 5px); background: url("../img/filter/title_r.png") no-repeat left top / contain;}
}
  
@media only screen and (max-width: 782px) {
  .h203 {
    line-height: 1.3;
    margin: 2rem 0 0 0px;
    width: auto;
    padding-top: 100px;
  }
  .h203 .small { font-size: 25px; display: block;}
  .h203 .large { font-size: 45px; padding: 0 0px;}
  .h203 .large span { letter-spacing: 0px; }
  .h203 .large::before,
  .h203 .large::after { display: none;}
  .h203::before, .h203::after {
    content: "";
    background: url("../img/filter/title_l.png") no-repeat left top / contain;
    width: 90px;
    height: 90px;
    position: absolute;
    top: 0;
  }
  .h203::before { left: calc(50% - 95px);}
  .h203::after { left: calc(50% + 5px); background: url("../img/filter/title_r.png") no-repeat left top / contain;}
}

.colorful {
  display: flex;
  margin-top: 10rem;
}
.colorful li { width: calc(33.333% - 26.666px); border-radius: 15px; padding: 50px 40px 90px; position: relative;}
.colorful li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 80px;
  top: -40px;
  z-index: 2;
  background: url("../img/filter/colorful_icon1@2x.png") no-repeat center bottom / auto 100%;
}
.colorful li:nth-child(2)::before {background: url("../img/filter/colorful_icon2@2x.png") no-repeat calc(50% + 15px) bottom / auto 100%;}
.colorful li:nth-child(3)::before {background-image: url("../img/filter/colorful_icon3@2x.png"); height: 75px;top: -35px;}
.colorful li::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 2;
  background: url("../img/filter/arrow1@2x.png") no-repeat center bottom / contain;
  height: 72px;
  bottom: -36px;
}
.colorful li:nth-child(2)::after {background-image:url("../img/filter/arrow2@2x.png")}
.colorful li:nth-child(3)::after {background-image:url("../img/filter/arrow3@2x.png")}
.colorful li:not(:first-child) { margin-left: 40px;}
.colorful li span { display: block; text-align: center;}
.colorful li .point { font-size: 100px; line-height: 1.1;}
.colorful li .point::after {
  content: "POINT";
  font-size: 20px;
  display: block;
}
.colorful li .mincho {
  font-size: 40px;
  line-height: 1.2;
  margin: 20px 0;
  letter-spacing: -1px;
}
.colorful li:nth-child(1) { background: rgba(65,189,206,0.1);}
.colorful li:nth-child(2) { background: rgba(246,97,136,0.1);}
.colorful li:nth-child(3) { background: rgba(113,180,8,0.1);}
.colorful li:nth-child(1) .point,
.colorful li:nth-child(1) .mincho { color: #41bdce;}
.colorful li:nth-child(2) .point,
.colorful li:nth-child(2) .mincho { color: #f66188;}
.colorful li:nth-child(3) .point,
.colorful li:nth-child(3) .mincho { color: #71b408;}

@media only screen and (max-width: 782px) {
  .colorful {
    display: block;
    margin-top: 0;
  }
  .colorful li { width: auto; border-radius: 10px; padding: 30px 5vw 40px; margin-top: 60px; }
  .colorful li::before {
    height: 60px;
    top: -30px;
    background: url("../img/filter/colorful_icon1@2x.png") no-repeat center bottom / auto 100%;
  }
  .colorful li:nth-child(2)::before {background: url("../img/filter/colorful_icon2@2x.png") no-repeat calc(50% + 10px) bottom / auto 100%;}
  .colorful li:nth-child(3)::before {background-image: url("../img/filter/colorful_icon3@2x.png"); height: 55px;top: -25px;}
  .colorful li::after {
    height: 40px;
    bottom: -20px;
  }
  .colorful li:not(:first-child) { margin-left: 0px;}
  .colorful li .point { font-size: 70px;}
  .colorful li .point::after {
    font-size: 15px;
  }
  .colorful li .mincho {
    font-size: 30px;
    margin: 12px 0;
    letter-spacing: -1px;
  }
}

p.red {
  text-align: center;
  font-size: 230%;
  color: #e0004a;
  font-weight: bold;
  margin-top: 8rem;
}

#comparison {
  margin: 220px 0 0 0;
  background: #41bdce;
  border-radius: 60px;
  padding: 0 80px 90px;
  color: #fff;
  text-align: center;
}
#comparison .title img { margin-top: -75px;}
.h204 {
  font-size: 50px;
  line-height: 1.4;
  margin: 3rem 0;
}
.h303 {
  margin: 3rem 0 2rem;
}
.h303 span {
  display: inline-block;
  background: #0089c8;
  padding: 3px 30px;
  border-radius: 30px;
  position: relative;
  font-size: 175%;
  font-weight: bold;
}
.h303 span::after {
  content: "";
  width: 14px;
  height: 36px;
  border: transparent 7px solid;
  border-top: #0089c8 18px solid;
  box-sizing: border-box;
  position: absolute;
  left: calc(50% - 7px);
  bottom: -36px;
}

.h402 {
  font-weight: bold;
  font-size: 130%;
  line-height: 1.7;
}
p.graph { margin-top: 4rem;}
p.caption { margin-top: 8rem;}
p.small { font-size: 86%; }
@media only screen and (max-width: 782px) {
  #comparison {
    margin: 110px 0 0 0;
    border-radius: 40px;
    padding: 0 5vw 5vw;
  }
  #comparison .title img { margin-top: -45px;}
  .h204 {
    font-size: 30px;
    margin: 2rem 0;
  }
  .h303 {
    margin: 2rem 0 2rem;
  }
  .h303 span {
    padding: 3px 20px;
    font-size: 125%;
  }
  .h303 span::after {
    width: 14px;
    height: 36px;
    border: transparent 7px solid;
    border-top: #0089c8 18px solid;
    left: calc(50% - 7px);
    bottom: -36px;
  }

  .h402 {
    font-weight: bold;
    font-size: 130%;
    line-height: 1.7;
  }
  p.graph { margin-top: 3rem;}
  p.caption { margin-top: 3rem;}
}

#casestudy {
  background: #82dcf5 url("../img/filter/bg_casestudy@2x.jpg") no-repeat center top / 100% auto;
  border-radius: 60px;
  padding: min(270px, 20vw) 0 1px 0;
  position: relative;
  z-index: 1;
}
#casestudy h3 { color: #fff;}

#casestudy dl { margin-top: 70px; position: relative;}
#casestudy dl:first-child { margin-top: 100px;}
#casestudy dt {
  position: absolute;
  width: 560px;
  min-height: 60px;
  box-sizing: border-box;
  padding: 5px 1rem;
  border-radius: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 130%;
  line-height: 1.5;
  text-align: center;
  top: -30px;
  left: calc(50% - 280px);
  background: #45bdcf;
  color: #fff;
}
#casestudy dd {
  background: #fff;
  border-radius: 10px;
  padding: 70px 60px;
  display: flex;
  justify-content: space-between;
}
#casestudy dd .set {
  width: calc(50% - 20px);
  position: relative;
}
#casestudy dd .set:first-child::after {
  content: "";
  position: absolute;
  background: url("../img/filter/arrow1@2x.png") no-repeat left top / contain;
  width: 83px;
  height: 72px;
  transform: rotate(-90deg);
  z-index: 2;
  left: calc(100% - 20px);
  top: min(150px, 9vw); 
}
@media only screen and (max-width: 1280px) {#casestudy dd .set:first-child::after {top: 120px;}}
#casestudy dd figure { position: relative; z-index: 1;}
#casestudy dd figure img { border-radius: 5px;}
#casestudy dd figure.normal img { width: 100%;}
#casestudy dd figure.normal figcaption { margin-top: 0.6rem;}
#casestudy dd figure.zm { text-align: right; margin: -150px 0 0 0;}
#casestudy dd figure.zm img { transform: translateX(20px);}
#casestudy dd figure.zm figcaption { margin-top: 0.3rem; font-size: 75%;}

@media only screen and (max-width: 782px) {
  #casestudy {
    background-image: url("../img/filter/bg_casestudy.jpg");
    border-radius: 40px;
    padding: 10vw 0 7.5vw 0;
    margin-top: 7.5vw;
  }

  #casestudy dl { margin-top: 40px;}
  #casestudy dl:first-child { margin-top: 70px;}
  #casestudy dt {
    width: 90%;
    min-height: 40px;
    box-sizing: border-box;
    padding: 5px 0.6rem;
    font-size: 120%;
    top: -20px;
    left: 5%;
  }
  #casestudy dd {
    background: #fff;
    border-radius: 10px;
    padding: 6.5vw 5vw 5vw;
    display: block;
  }
  #casestudy dd .set {
    width: auto;
  }
  #casestudy dd .set:first-child {
    margin-bottom: 30px;
  }
  #casestudy dd .set:first-child::after { display: none;}
  #casestudy dd .set:last-child::after {
    content: "";
    position: absolute;
    background: url("../img/filter/arrow1@2x.png") no-repeat left top / contain;
    width: 50px;
    height: 50px;
    transform: rotate(0deg);
    z-index: 2;
    left: calc(50% - 25px);
    top: -33px;
  }
  #casestudy dd figure { position: relative; z-index: 1;}
  #casestudy dd figure img { border-radius: 5px;}
  #casestudy dd figure.normal img { width: 100%;}
  #casestudy dd figure.normal figcaption { margin-top: 0.6rem;}
  #casestudy dd figure.zm { text-align: right; margin: -150px 0 0 0;}
  #casestudy dd figure.zm img { transform: translateX(20px);}
  #casestudy dd figure.zm figcaption { margin-top: 0.3rem; font-size: 75%;}
}

.bg_navy {
  margin: 80px 0 0 0;
  background: #262253;
  border-radius: 60px;
  padding: 90px 130px 100px;
}
.bg_navy h4 {
  text-align: center;
  color: #fff;
  font-size: 45px;
  width: calc(100% + 60px);
  margin-left: -30px;
  margin-bottom: 80px;
  line-height: 1.4;
}
@media only screen and (max-width: 782px) {
  .bg_navy {
    margin: 40px 0 0 0;
    border-radius: 40px;
    padding: 7.5vw 5vw;
  }
  .bg_navy h4 {
    font-size: 30px;
    width: auto;
    margin-left: 0px;
    margin-bottom: 40px;
  }
}
ul.flow li {
  position: relative;
  margin: 50px 0 100px;
  background: #45bdcf;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.7;
  padding: 13px 0;
  border-radius: 50px;
  text-align: center;
  color: #202020;
}
ul.flow li::before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  height: 80px;
}

ul.flow li.mail::before {
  background: url("../img/filter/flow_mail@2x.png") no-repeat center bottom / contain;
  height: 48px;
  top: -33px;
}
ul.flow li.telp::before {
  background: url("../img/filter/flow_tel@2x.png") no-repeat center bottom / contain;
  height: 68px;
  top: -53px;
}
ul.flow li.truck::before {
  background: url("../img/filter/flow_truck@2x.png") no-repeat center bottom / contain;
  height: 61px;
  top: -48px;
}
ul.flow li.clear::before {
  background: url("../img/filter/flow_clear@2x.png") no-repeat calc(50% + 10px) bottom / contain;
  height: 72px;
  top: -53px;
}
ul.flow li.free::before {
  background: url("../img/filter/flow_free@2x.png") no-repeat center bottom / contain;
  height: 61px;
  top: -48px;
}
ul.flow li.arrival::before {
  background: url("../img/filter/flow_arrival@2x.png") no-repeat center bottom / contain;
  height: 61px;
  top: -48px;
}
ul.flow li.arrival { margin-bottom: 0;}


ul.flow li:not(.arrival)::after {
  content: "";
  position: absolute;
  width: 46px;
  left: calc(50% - 23px);
  bottom: -40px;
  background: url("../img/filter/arrow1@2x.png") no-repeat center top / 100% 100%;
  height: 56px;
}
ul.flow li .small { font-size: 75%; display: inline-block; margin-left: 2rem;}

@media only screen and (max-width: 782px) {
  ul.flow li {
    margin: 30px 0 75px;
    font-size: 15px;
    padding: 10px 0;
  }
  ul.flow li::before {
    transform: scale(0.7) translateY(5px);
  }
  ul.flow li:not(.arrival)::after {
    width: 30px;
    height: 45px;
    left: calc(50% - 15px);
    bottom: -32px;
  }
}

.docs {
  margin: 10px 0 0 0;
  background: #0d0a30;
  border-radius: 20px;
  display: flex;
  padding: 40px 40px 35px;
  position: relative;
  justify-content: space-between;
}
.docs figure { width: calc(50% - 10px); text-align: center;}
.docs figure img { width: 100%;}
.docs figure figcaption { text-align: center; color: #fff; margin: 10px 0 0 0; line-height: 1.5;}
.docs::before {
  content: "";
  position: absolute;
  width: 40px;
  height: 70px;
  border: transparent 20px solid;
  border-top: #45bdcf 35px solid;
  box-sizing: border-box;
  left: calc(50% - 20px);
  top: -11px;
}
@media only screen and (max-width: 782px) {
  .docs {
    margin: 10px 0 0 0;
    border-radius: 15px;
    padding: 5vw;
  }
  .docs figure { width: calc(50% - 2vw); text-align: center;}
}

p.flowLast {
  margin-top: 4rem;
  font-size: 160%;
  font-weight: bold;
  color: #fff;
  line-height: 1.6;
  text-align: center;
  position: relative;
  padding-bottom: 90px;
}
p.flowLast::after {
  content: "";
  background: url("../img/strength/step_arrow.png") no-repeat center bottom;
  width: 100%;
  height: 57px;
  position: absolute;
  left: 0;
  bottom: 0;
  
}
p.flowLast + .myBtn { text-align: center; margin-top: 3rem;}
p.flowLast + .myBtn a { width: 650px; text-align: left;}
p.flowLast + .myBtn a i.bg::before {
    width: 880px;
    height: 880px;
    top: calc(50% - 440px);
    left: -50px;
}
p.flowLast + .myBtn a .jp { padding-top: 25px;}
p.flowLast + .myBtn a .en { padding-bottom: 25px;}
@media only screen and (min-width: 783px) {
  p.flowLast + .myBtn a:hover i.bg::before { left: calc(50% + 601px);}
}
@media only screen and (max-width: 782px) {
  p.flowLast {
    margin-top: 3rem;
    font-size: 140%;
    padding-bottom: 50px;
  }
  p.flowLast::after {
    height: 35px;
    background-size: contain;
  }
  p.flowLast + .myBtn { margin-top: 2rem;}
  p.flowLast + .myBtn a { width: min(340px, 80%); }
  p.flowLast + .myBtn a .jp { padding-top: 15px;}
  p.flowLast + .myBtn a .en { padding-bottom: 15px;}

}

.h2form {
  text-align: center;
  font-size: 45px;
  margin-bottom: 60px;
  line-height: 1.4;
}
@media only screen and (max-width: 782px) {
  .h2form {
    font-size: 30px;
    margin-bottom: 40px;
  }
}