.contents{
  margin-bottom: 10vh;
}

.flex{
  display: flex;
  width: 100%;
  height: 80%;
}

.flex .mini-img{
  width: 50%;
}

.flex .mini-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flex-txt{
  width: 50%;
  padding: 2% 10%;
  margin: auto;
}

/*コンテンツごとのタイトル*/
.flex-txt h3{
  font-size: 2rem;
  font-weight: normal;
  margin-bottom: .2vh;
}

/*コンテンツ内のそれぞれテキスト*/
.flex-txt .long-txt{
  margin-top: 2vh;
  line-height: 7vh;
}

@media screen and (max-width:1024px){

  .flex{
    flex-direction: column-reverse;
    margin-top: 3vh;
  }

  .flex .mini-img{
    width: 100vw;
  }

  .flex .mini-img img{
    width: 100vw;
    height: 40vh;
  }

  .flex-txt{
    width: 100%;
  }

  /*コンテンツごとのタイトル*/
  .flex-txt h3{
    font-size: 1.6rem;
  }

  .flex-txt p{
    font-size: .9em;
  }

  /*コンテンツ内のそれぞれテキスト*/
  .flex-txt .long-txt{
    margin-bottom: 3vh;
    line-height: 4.5;
  }

  .message{
    flex-direction: column;
  }
  
}