@charset "UTF-8";

/* トップページ */
/* メインビジュアル */
#top div.mv{
  width: 100%;
  background: #74B8CE;
  padding: 20px 0 80px 0;
}
#top ul.slider {
  width: 1080px;
  margin: 0 auto;
}
#top ul.slider img{
  width: 100%;
  padding-bottom: 10px;
}

/* サービス */
#top section.service{
  background: #F2F2F2;
}

#top section.service ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#top section.service ul li{
  width: 345px;
  height: 135px;
  background: #FFF;
  font-size: 20px;
  font-weight: 700;
  color: #007CA4;
  margin-bottom: 23px;
  position: relative;
  transition: all  0.3s ease;
}
#top section.service ul li:hover{
  background: #007ca4;
  color: #FFF;
}
#top section.service ul li a{
  height: 135px;
  width: 345px;
  display: table-cell;
  vertical-align: middle;
  padding-left: 122px;
  line-height: 1.2;

/* 2022-04-09 追加 */
  transition: all 0.3s ease;
}

/* 2022-04-09 追加 */
#top section.service ul li a:hover{
  background: #007ca4;
  color: #FFF;
}
/* ここまで */

#top section.service ul li::before{
  position: absolute;
  content: '';
  width: 80px;
  height: 80px;
  left:20px;
  top:27px;
}
#top section.service ul li::after{
  position: absolute;
  content: '';
  width: 36px;
  height: 64px;
  right:0;
  top:0;
}

#top section.service ul li.sakusei::before{
  background-image: url(../img/icn_sakusei.svg);
}
#top section.service ul li.sakusei::after{
  background-image: url(../img/label_sakusei.svg);
}
#top section.service ul li.teiketsu::before{
  background-image: url(../img/icn_teiketsu.svg);
}
#top section.service ul li.teiketsu::after{
  background-image: url(../img/label_teiketsu.svg);
}
#top section.service ul li.hokan::before{
  background-image: url(../img/icn_hokan.svg);
}
#top section.service ul li.hokan::after{
  background-image: url(../img/label_hokan.svg);
}
#top section.service ul li.sonota::before{
  background-image: url(../img/icn_sonota.svg);
}
#top section.service ul li.sonota::after{
  background-image: url(../img/label_sonota.svg);
  height: 80px;
}

#top section.service ul::after{ /* 端数左寄せ */
  content: "";
  display: block;
  width: 345px;
  height: 0;
}
#top section.service ul::before{ /* 端数左寄せ */
  content: "";
  display: block;
  width: 345px;
  height: 0;
  order: 1;
}

/* プラグイン */
#top section.plugin h2{
  color: #47B6BE;
  line-height: 38px;
}
#top section.plugin h2 span{
  font-size: 30px;
}
#top section.plugin h2 img{
  width: 200px;
}
#top section.plugin ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top section.plugin ul::after{ /* 端数左寄せ */
  content: "";
  display: block;
  width: 250px;
  height: 0;
}
#top section.plugin ul::before{ /* 端数左寄せ */
  content: "";
  display: block;
  width: 250px;
  height: 0;
  order: 1;
}
#top section.plugin ul li{
  width: 250px;
  height: 148px;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 23px;
  position: relative;
  transition: all  0.3s ease;
}
#top section.plugin ul li::before{
  position: absolute;
  content: '';
  width: 39px;
  height: 29px;
  left:0;
  top:0;
  background-image: url(../img/icn_puzzle.svg);
}
#top section.plugin ul li::after{
  position: absolute;
  content: '';
  width: 39px;
  height: 29px;
  right:0;
  bottom:-12px;
  background-image: url(../img/icn_puzzle.svg);
  transform: rotate(180deg);
}
#top section.plugin ul li i{
  display: block;
  margin-bottom: 10px;
}
#top section.plugin ul li:nth-child(odd){
  background: #FEC909;
  color: #404040;
}
#top section.plugin ul li:nth-child(even){
  background: #404040;
  color: #FFF;
}
#top section.plugin ul li:hover{
  background: #47b6be;
  color: #FFF;
}
#top section.plugin ul li a{
  height: 148px;
  width: 250px;
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2;
  text-align: center;

/* 2022-04-09 追加 */
  transition: all  0.3s ease;
}

/* 2022-04-09 追加 */
#top section.plugin ul li a:hover{
  background: #47b6be;
  color: #FFF;
}
/* ここまで */


/* 導入事例 */
#top section.case{
  background: #F2F2F2;
}
#top section.case h2{
  color: #47B6BE;
}
#top section.case ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top section.case ul::after{ /* 端数左寄せ */
  content: "";
  display: block;
  width: 345px;
  height: 0;
}
#top section.case ul li{
  width: 345px;
  height: 247px;
  background: #FFF;
  font-size: 14px;
  color: #404040;
  font-weight: 700;
  margin-bottom: 30px;
  position: relative;
  transition: all  0.3s ease;
  text-align: center;
  padding: 0 20px;
}
#top section.case ul li a{
  height: 247px;
  width: 345px;
  display: table-cell;
  vertical-align: middle;
  line-height: 1.5;
}
#top section.case ul li img{
  margin-bottom: 25px;
  height: 70px;
}
#top section.case ul li span{
  font-size: 16px;
  color: #007CA4;
  display: block;
  margin-bottom: 4px;
  border-top: 1px solid #E0E0E0;
  padding-top: 20px;
}
/* HOVER ANIMATION */
#top section.case ul li::before,
#top section.case ul li::after{
  content:"";
  position: absolute;
  width: 0;
  height:2px;
  background:#47B6BE;
  transition: all 0.2s linear;
  transition-delay: 0.2s;
}
#top section.case ul li::before{
  right: 0;
  top: 0;
}
#top section.case ul li::after{
  left: 0;
  bottom: 0;
}
#top section.case ul li span{
  display: block;
}
#top section.case ul li span::before,
#top section.case ul li span::after{
  content:"";
  position: absolute;
  width:2px;
  height:0;
  background: #47B6BE;
  transition: all 0.2s linear;
}
#top section.case ul li span::before{
  left: 0;
  top: 0;
}
#top section.case ul li span::after{
  right: 0;
  bottom: 0;
}
#top section.case ul li.current::before,
#top section.case ul li.current::after,
#top section.case ul li:hover::before,
#top section.case ul li:hover::after{
  width: 100%;
}

#top section.case ul li.current span::before,
#top section.case ul li.current span::after,
#top section.case ul li:hover span::before,
#top section.case ul li:hover span::after{
  height: 100%;
}

/* バナー */
#top section.bnr{
  background: #74B8CE;
}
#top section.bnr h2{
  display: none;
}
#top section.bnr ul{
  display: flex;
  justify-content: space-between;
}
#top section.bnr ul.bnr_big li{
  width: 345px;
  height: 130px;
  background: #007CA4;
  font-size: 18px;
  font-weight: 700;
  color: #FFF;
  margin-bottom: 30px;
  position: relative;
  transition: all  0.3s ease;
}
#top section.bnr ul.bnr_big li.contact{
  background: #E4E4E4;
  color:#007CA4;
}
#top section.bnr ul.bnr_big li:hover{
  background: #fec909;
  color: #FFF;
}
#top section.bnr ul.bnr_big li a{
  height: 130px;
  width: 345px;
  display: table-cell;
  vertical-align: bottom;
  line-height: 1.2;
  text-align: right;
  padding: 25px 30px;
}
#top section.bnr ul.bnr_big li a span{
  display: block;
  font-size: 42px;
  font-family: 'Roboto Condensed', sans-serif;
}
#top section.bnr ul.bnr_big li::before{
  position: absolute;
  content: '';
}
#top section.bnr ul.bnr_big li.download::before{
  background-image: url(../img/icn_pdf.svg);
  width: 70px;
  height: 80px;
  left:16px;
  top:21px;
}
#top section.bnr ul.bnr_big li.hand::before{
  background-image: url(../img/icn_hand.svg);
  width: 94px;
  height: 94px;
  left:20px;
  top:12px;
}
#top section.bnr ul.bnr_big li.sample::before{
  background-image: url(../img/icn_sample.svg);
  width: 94px;
  height: 61px;
  left:22px;
  top:18px;
}
#top section.bnr ul.bnr_big li.contact::before{
  background-image: url(../img/icn_contact.svg);
  width: 97px;
  height: 82px;
  left:16px;
  top:20px;
}
#top section.bnr ul.bnr_small li{
  width: 345px;
  height: 100px;
  background: #FFF;
  font-size: 22px;
  font-weight: 700;
  color: #007CA4;
  position: relative;
  transition: all  0.3s ease;
}
#top section.bnr ul.bnr_small li:hover{
  background: #fec909;
  color: #FFF;
}
#top section.bnr ul.bnr_small li a{
  height: 100px;
  width: 345px;
  display: table-cell;
  vertical-align: middle;
  line-height: 100px;
  text-align: right;
  padding: 0 20px;
/* 2022-04-09 追加 */
  transition: all 0.3s ease;
}
/* 2022-04-09 追加 */
#top section.bnr ul.bnr_small li a:hover{
  background: #fec909;
  color: #FFF;
}
/* ここまで */

#top section.bnr ul.bnr_small li.center a{
  text-align: center;
}
#top section.bnr ul.bnr_small li a span{
  display: block;
  font-size: 42px;
  font-family: 'Roboto Condensed', sans-serif;
  float: left;
}

@media screen and (max-width: 768px) {
  /* メインビジュアル */
  #top div.mv{
    padding: 0 0 40px 0;
  }
  #top ul.slider {
    width: 100%;
    margin: 0;
  }
  #top ul.slider img{
    width: 100%;
  }
  /* サービス */
  #top section.service ul{
    display: block;
  }
  #top section.service ul li{
    width: 100%;
    height: 100px;
    margin-bottom: 12px;

/* 2022-04-09 追加 */
cursor:pointer;
  }
  #top section.service ul li a{
    height: 100px;
    width: 100%;

/* 2022-04-09 追加 */
display:block;
  }

/* 2022-04-09 追加 */
#top section.service ul li.sakusei a,
#top section.service ul li.sonota a{

    padding: 36px 0 0 104px;
}

#top section.service ul li.teiketsu a,
#top section.service ul li.hokan a{

    padding: 24px 0 0 104px;
}
/* ここまで */

  #top section.service ul li::before{
    width: 60px;
    height: 60px;
    left:20px;
    top:20px;
    background-size: 60px;
  }

  /* プラグイン */
  #top section.plugin h2{
    line-height: 30px;
  }
  #top section.plugin h2 span{
    font-size: 24px;
  }
  #top section.plugin h2 img{
    width: 160px;
  }
  #top section.plugin ul{
    display: block;
  }
  #top section.plugin ul li{
    width: 100%;
    height: 100px;
    margin-bottom: 12px;
    font-size: 18px;
  }
  #top section.plugin ul li i{
    display: inline-table;
    vertical-align: middle;
    margin-right: 18px;
  }
  #top section.plugin ul li a{
    height: 100px;
    width: 100%;
    display: block;
    line-height: 100px;
  }

  /* 導入事例 */
  #top section.case ul{
    display: block;
  }
  #top section.case ul li{
    width: 100%;
  }
  #top section.case ul li:last-child{
    margin-bottom: 0;
  }
  #top section.case ul li a{
    height: auto;
    width: 100%;
    display: block;
  }
  #top section.case ul li img{
    margin: 25px;
    height: 70px;
  }

  /* バナー */
  #top section.bnr ul{
    display: block;
  }
  #top section.bnr ul.bnr_big li{
    width: 100%;
    height: 120px;
    margin-bottom: 15px;
  }
  #top section.bnr ul.bnr_big li a{
    height: 120px;
    width: 100%;
    display: block;
  }
  #top section.bnr ul.bnr_big li a span{
    font-size: 36px;
  }
  #top section.bnr ul.bnr_big li.sample::before{
    background-image: url(../img/icn_sample.svg);
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
  }
  #top section.bnr ul.bnr_big li.contact::before{
    background-image: url(../img/icn_contact.svg);
    height: 70px;
    background-size: contain;
    background-repeat: no-repeat;
  }
  #top section.bnr ul.bnr_small li{
    width: 100%;
    height: 100px;
    font-size: 20px;
    margin-bottom: 10px;
  }
  #top section.bnr ul.bnr_small li a{
    height: 100px;
    width: 100%;
    display: block;
    vertical-align: middle;
    line-height: 100px;
    text-align: right;
    padding: 0 20px;
  }
  #top section.bnr ul.bnr_small li a span{
    display: block;
    font-size: 36px;
  }
}
