@charset "utf-8";
/* fv */
.fv{
  background-image: url(./images/img_fv.png);
}
.fv .bubbles .bubble:nth-child(1) {
  width: 180px;
  height: 180px;
  right: 160px;
}
.fv .bubbles .bubble:nth-child(2) {
  width: 180px;
  height: 180px;
  top: 49px;
}
.fv .bubbles .bubble:nth-child(3) {
  width: 180px;
  height: 180px;
  right: 92px;
  top: 190px;
}
.fv .bubbles .bubble em {
  font-size: 28px;
}
.fv .bubbles .bubble .kome {
  display: inline-block;
  position: absolute;
  bottom: 3em;
  right: 2em;
}
/*.solution {*/
.solution::after{
  background-image: url(./images/img_app_pc.png);
}
.solution::before{
  content: none;
}
.fv h1 .part4{
  font-size: 55px;
}
.feature2 .txt{
  margin-bottom: 40px;
}

.usescene .layout{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.usescene .layout .box{
  width: 60%;
}
.usescene .layout .image{
  width: 40%;
}

/* benefits */
.benefits .kometxt{
  text-align: left;
  font-size: 12px;
}
.benefits .layout{
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.benefits .block{
  width: calc(100% / 3 - 19px);
  background-color: #F5F5F5;
}
.benefits .block .subject{
  font-size: 24px;
  font-weight: bold;
  background-color: #DC3543;
  color: #fff;
  padding: 30px 0;
}
.benefits .block .body{
  padding: 20px;
}
.benefits .block .body .fig img{
  max-width: 100%;
}
.benefits .block .body .text{
  padding-top: 20px;
  font-size: 14px;
  text-align: left;
}

/* tbl */
@media screen and (min-width:768px) and (max-width: 994px) {
  .fv h1 .part4 {
    font-size: 32px;
  }
  .benefits .block .subject {
    font-size: 16px;
  }
}

/* sp */
@media screen and (max-width: 767px) {
  .fv{
    background-image: url(./images/img_fv_sp.png);
  }
  .fv h1 .part4 {
    font-size: 32px;
  }
  .fv .bubbles .bubble:nth-child(1){
    padding: 0 22px;
  }
  .fv .bubbles .bubble .kome {
    right: 3em;
  }
  /*
  .solution {
    padding-bottom: 300px;
    background-size: 260px auto;
    background-position: 0 calc(100% - 20px);
  }
  */
  .solution {
    padding-bottom: 200px;
  }
  .solution h2 em {
    font-size: 36px;
  }

  .feature .layout.type1{
    display: flex !important;
    flex-direction: column-reverse;
  }
  .feature2 .images{    
    overflow-x: auto;
  }
  .feature2 .images .image{
    width: 200vw;    
  }

  .usescene .layout{
    display: block;
  }
  .usescene .layout .box{
    width: 100%;
  }
  .usescene .layout .image{
    width: 100%;
  }
  .usescene .serifu{
    margin-top: 50px;
    margin-bottom: 50px;
  }
 
  .benefits .layout{
    display: block;
  }
  .benefits .block{
    width: auto;
    margin-bottom: 24px;
  }
  .benefits .block:last-child{
    margin-bottom: 0;
  }
}
