@charset "utf-8";

#moving .heading {
  background-image: url(../images/bg_moving.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
#moving .flow > div {
  border: 2px solid #009244;
  position: relative;
}
#moving .flow > div + div::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
#moving .flow > div h4 {
  background: #009244;
  color: #fff;
  margin-bottom: 0;
  line-height: 1;
}
#moving .flow .before-after span {
  display: inline-block;
  position: relative;
}
#moving .flow .before-after span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 80px;
  height: 25px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto 100%;
}
#moving .flow .before-after span:nth-child(1)::before {
  background-image: url(../images/copy_before.png);
}
#moving .flow .before-after span:nth-child(2)::before {
  background-image: url(../images/copy_after.png);
}
#moving .flow .before-after span:nth-child(1) {
  margin-right: 30px;
}
#moving .flow .before-after span:nth-child(1)::after {
  content: '';
  width: 0;
  height: 0;
  position: absolute;
  right: -40px;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 15px solid transparent;
  border-left: 15px solid #009244;
}
#moving .flow.box {
  background: #F4F7D5;
  border: 2px solid #009244;
}
#moving .flow.box h4 {
  color: #fff;
  background: #009244;
  margin-bottom: 5px;
}



/*-----------------------------------------------
スマホ向けスタイル（～768px）
-----------------------------------------------*/
@media only screen and (max-width: 768px) {
  #moving .heading {
    background-position: center bottom;
  }
  #moving .heading h2 img {
    height: 25px;
  }
  #moving .flow > div + div {
    margin-top: 40px;
  }
  #moving .flow > div + div::before {
    border: 15px solid transparent;
    border-top: 15px solid #D4D3C9;
    top: -30px;
  }
  #moving .flow > div h4 {
    padding: 3px 0 5px;
  }
  #moving .flow > div h4 img {
    height: 17px;
  }
  #moving .flow > div > .l_row {
    padding: 10px;
  }
  #moving .flow > div > .l_row .photo {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  #moving .flow > div > .l_row .photo.two img {
    width: 49%;
  }
  #moving .flow .bgbox {
    margin: 0 10px 10px;
    font-size: 1.2rem;
  }
  #moving .flow .bgbox .l_row {
    padding: 10px;
  }
  #moving .flow .before-after {
    text-align: center;
  }
  #moving .flow .before-after span {
    width: 40%;
  }
  #moving .flow.box {
    margin-top: 10px;
  }
  #moving .flow.box > ul {
    padding: 10px 15px 15px;
  }
  
}

/*-----------------------------------------------
PC・タブレット向けスタイル（769px～）
-----------------------------------------------*/
@media only screen and (min-width: 769px), print {
  #moving .heading {
    background-position: center center;
  }
  #moving .flow > div + div {
    margin-top: 70px;
  }
  #moving .flow > div + div::before {
    border: 30px solid transparent;
    border-top: 30px solid #D4D3C9;
    top: -50px;
  }
  #moving .flow > div h4 {
    padding: 4px 0 6px;
  }
  #moving .flow > div h4 img {
    height: 24px;
  }
  #moving .flow > div > .l_row {
    border-spacing: 20px;
  }
  #moving .flow > div > .l_row .photo {
    white-space: nowrap;
  }
  #moving .flow > div > .l_row .photo img {
    display: inline-block;
    width: 250px;
    max-width: 250px;
  }
  #moving .flow > div > .l_row .photo img + img {
    margin-left: 10px;
  }
  #moving .flow .bgbox {
    margin: 0 20px 20px;
    font-size: 1.4rem;
  }
  #moving .flow .bgbox .l_row {
    padding: 15px 20px;
  }
  #moving .flow .before-after {
    width: 360px;
    text-align: right;
  }
  #moving .flow .before-after span img {
    height: 200px;
  }
  #moving .flow.box {
    margin-top: 20px;
  }
  #moving .flow.box ul {
    padding: 10px 25px 15px;
  }

}


