/* Message */

#staffMessage:before {
  background-image: url(../img/bg_sub_message01@2x.jpg);
}

.messageIn > figure {
  margin-left: -155px !important;
}

/* Flow */

.flow ol:before {
  height: 52%;
}

.flow ol li {
  width: 170px;
  margin: 130px 12px 80px;
}

.flow ol li:nth-child(6) {
  order: 9;
}

.flow ol li:nth-child(7) {
  order: 8;
}

.flow ol li:nth-child(8) {
  order: 7;
}

.flow ol li:nth-child(9) {
  order: 6;
  margin-left: -75px;
  width: 180px;
}

.flow ol li:nth-child(n + 5) {
  margin-bottom: 0 !important;
}

.flow ol li div:before {
  left: 8px;
}

.flow ol li div.flow01:before {
  background-image: url(../img/pic_flow01@2x.png);
  top: -235%;
}

.flow ol li div.flow02:before {
  background-image: url(../img/pic_flow02@2x.png);
  top: -195%;
}

.flow ol li div.flow03:before {
  background-image: url(../img/pic_flow03@2x.png);
  top: -130%;
}

.flow ol li div.flow04:before {
  background-image: url(../img/pic_flow04@2x.png);
  top: -130%;
}

.flow ol li div.flow05:before {
  background-image: url(../img/pic_flow05@2x.png);
}

.flow ol li div.flow06:before {
  background-image: url(../img/pic_flow06@2x.png);
  top: -165%;
}

.flow ol li div.flow07:before {
  background-image: url(../img/pic_flow07@2x.png);
  top: -380%;
}

.flow ol li div.flow08:before {
  background-image: url(../img/pic_flow08@2x.png);
  top: -210%;
}

.flow ol li div.flow09:before {
  background-image: url(../img/pic_flow09@2x.png);
  top: -165%;
}

/* support */

.supportIn:before {
  background-image: url(../img/bg_sub_support01@2x.jpg);
}

/* voice */

.voice .voiceTab li {
  width: 152px;
  font-size: 16px;
}

.voice .voiceTab li a {
  width: 150px;
  padding: 25px 0 20px 10px;
}

.voice .voiceTab li:last-child {
  margin-right: 0;
}

.voice .voiceTab li:last-child a {
  padding-right: 0;
}

.voice .voiceTab li a.voice05:after {
  background-image: url(../img/num_voice05@2x.png);
}

.voiceCtn li.voiceCtn05:after {
  background-image: url(../img/num_voice_big05.png);
}

/* step */

.stepIn ol {
  padding-bottom: 100px;
}

.stepIn:after {
  top: 1160px;
}

.stepIn ol:before {
  background-image: url(../img/pic_step01@2x.png);
  top: 0;
  left: 0;
  width: 560px;
  height: 230px;
}

.stepIn ol:after {
  background-image: url(../img/pic_step02@2x.png);
  bottom: 0;
  right: 0;
  width: 310px;
  height: 427px;
}

.stepIn ol li:nth-child(1) {
  margin-top: 300px;
}

.stepIn ol li:nth-child(2) {
  margin-top: 1328px;
  margin-left: -165px;
}

.stepIn ol li:nth-child(3) {
  margin-top: 215px;
  margin-left: -165px;
}

.stepIn ol li:nth-child(4) {
  margin-top: 1137px;
  margin-left: -165px;
}

.stepIn ol li:nth-child(5) {
  margin-top: 135px;
  margin-left: -165px;
}

.stepIn ol li:after {
  top: 1123px;
}

.stepIn ol li:nth-child(3):after {
  top: 1018px;
}

.stepIn ol li:nth-child(5):after {
  top: 907px;
}

.stepIn ol li:nth-child(even):after {
  bottom: auto;
  top: 0;
}

.stepIn ol li div.stepInText div {
  width: 279px;
}

.stepIn ol li:nth-child(1) div.stepInText {
  padding-bottom: 180px;
}

.stepIn ol li:nth-child(2) div.stepInText {
  padding-top: 40px;
  padding-bottom: 40px;
}

.stepIn ol li:nth-child(3) div.stepInText {
  padding-bottom: 288px;
}

.stepIn ol li:nth-child(4) div.stepInText {
  padding-top: 40px;
  padding-bottom: 40px;
}

.stepIn ol li:nth-child(5) div.stepInText {
  padding-bottom: 265px;
}

.gallery > a {
  transition: opacity 0.3s;
}

.gallery > a:hover {
  opacity: 0.8;
}

.pswp {
  z-index: 9999 !important;
}

@media screen and (max-width: 750px) {
  #pageInfo:before {
    bottom: -20px;
    left: 0;
  }

  #staffMessage:before {
    background-image: url(../img/bg_sub_message01_sp@2x.jpg);
  }

  .messageIn > figure {
    margin-left: 0 !important;
  }

  .flow ol li {
    width: 100%;
    margin: 0;
  }

  .flow ol li div:before {
    left: -127%;
  }

  .flow ol li:nth-child(9) {
    margin-left: 0;
  }

  .flow ol li div.flow01:before {
    top: -30%;
  }

  .flow ol li div.flow02:before {
    top: -25%;
  }

  .flow ol li div.flow03:before {
    top: -15%;
  }

  .flow ol li div.flow04:before {
    top: -17%;
  }

  .flow ol li div.flow06:before {
    top: -20%;
  }

  .flow ol li div.flow07:before {
    top: -55%;
  }

  .flow ol li div.flow08:before {
    top: -25%;
  }

  .flow ol li div.flow09:before {
    top: -20%;
  }

  .flow ol li:nth-child(4).flowObjRight:after {
    bottom: 50px;
  }

  .flow ol li:nth-child(6).flowObjRight:after {
    bottom: 30px;
  }

  .flow ol li:nth-child(8).flowObjRight:after {
    bottom: -30px;
  }

  .supportIn:before {
    background-image: url(../img/bg_sub_support01_sp.jpg);
  }

  .voice .voiceTab li {
    width: 288px;
  }

  .voice .voiceTab li a {
    width: 288px;
  }
}

@media (max-width: 750px) {
  .pswp__button,
  .pswp__button--arrow--left:before,
  .pswp__button--arrow--right:before {
    background-size: 528px 176px;
    width: 88px;
    height: 88px;
  }

  .pswp__button--close {
    background-position: 0 -88px;
  }

  .pswp__button--zoom {
    background-position: -176px 0;
  }

  .pswp--zoomed-in .pswp__button--zoom {
    background-position: -264px 0;
  }

  .pswp__button--arrow--left,
  .pswp__button--arrow--right {
    margin-top: -100px;
    width: 140px;
    height: 200px;
  }

  .pswp__button--arrow--left:before,
  .pswp__button--arrow--right:before {
    top: 70px;
    height: 60px;
    width: 64px;
  }

  .pswp__button--arrow--left:before {
    background-position: -276px -88px;
  }

  .pswp__button--arrow--right:before {
    background-position: -188px -88px;
  }

  .pswp__top-bar {
    height: 88px;
  }

  .pswp__counter {
    height: 88px;
    font-size: 24px;
    line-height: 88px;
    padding: 0 20px;
  }
}

@media all and (-ms-high-contrast: none) {
  .flow ol li:nth-of-type(4) h4,
  .flow ol li:nth-of-type(6) h4 {
    font-size: 15px;
    line-height: 1.4;
  }
}