/* -----------FLOW---------- */

.flow{
  width: 100%;
  background-color: black;
}
.flow_wrapper {
  display: flex;
  align-items: center;
  max-width: 1070px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 100px 45px 100px 45px;
  
}

.flow_description-sp {
  display: none;
}

.flow_img {
  width: 56%;
  height: auto;
}

.flow_img img {
  width: 100%;
  height: auto;
}

.flow_description {
  width: 44%;
  height: auto;
  margin-left: 85px;

  text-align: left;
  color: #fff;
}

.flow_description h2 {
  font-size: 6.4rem;
  font-weight: 300;
  font-family: 'Lato', sans-serif;
  line-height: 4.5rem;
  letter-spacing: 0.9rem;
}

.flow_description_h2-sp {
  display: none;
}

.flow_description h3 {
  margin-top: 60px;
  margin-bottom: 10px;

  font-size: 2.4rem;
  font-weight: 400;
  line-height: 3.8rem;
  letter-spacing: 0.2rem;
}

.flow_description p {
  padding-bottom: 3rem;
  letter-spacing: 0.12rem;
  line-height: 3.3rem;
}

.flow_description-icon {
  width: 180px;
  height: auto;
  margin-top: 40px;
}

.flow_description-icon a {
  position: relative;

  color: #fff;
  font-size: 2.2rem;
  font-weight: 100;
  text-decoration: none;
  text-transform: uppercase;
}

.flow_description-icon a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -40px;
  width: 100px;
  height: 100px;
  border: solid 2px #8C5100;
  border-radius: 50%;

  transition: .5s;
  transform: translateY(-50%);
  opacity: 1;
}

.flow_description-icon a:hover::before {
  transform: translateY(-50%) translateX(100px);
  opacity: 0;
}

@media(max-width:950px) {
  .flow {
    display: flex;
    align-items: center;
    flex-direction: column;
    max-width: 950px;
  }

  .flow_img {
    width: 70%;
    height: auto;
  }

  .flow_description {
    width: 100%;
    margin-left: 0px;
    margin-top: 0px;
  }

  .flow_description_h2 {
    display: none;
  }

  .flow_description_h2-sp {
    display: block;
    margin-bottom: 60px;
    margin-top: 0px;
    margin-right: auto;

    font-size: 6.4rem;
    font-weight: 300;
    font-family: 'Lato', sans-serif;
    line-height: 4.5rem;
    letter-spacing: 0.9rem;
  }

  .flow_description h3 {
    margin-top: 40px;
  }

  .flow_description-icon {
    margin-left: auto;
  }
}

@media(max-width:670px) {
  .flow {
    max-width: 670px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 50px 25px 50px 25px;
  }

  .flow_description_h2-sp {
    margin-bottom: 40px;
    margin-top: 0px;

    font-size: 3.8rem;
    font-weight: 300;
    font-family: 'Lato', sans-serif;
    text-align: left;
    line-height: 4.8rem;
    letter-spacing: 0.5rem;
  }

  .flow_img {
    width: 85%;
    height: auto;
  }

  .flow h3 {
    margin-top: 30px;

    font-size: 2.0rem;
    line-height: 3.8rem;
    letter-spacing: 0.2rem;
  }
}

@media(max-width:480px) {
  .flow_img {
    width: 100%;
    height: auto;
  }
}