@charset "utf-8";

p{
  line-height: 1.8;
}
.lead{
  text-align: center;
  line-height: 2.4;
  margin: 40px 0;
}
.mokuji{
  background: #F3F5F4;
  text-align: center;
  padding: 30px;
}
.mokuji h2{
  display: inline-block;
  color: #FFF;
  width: 110px;
  background: #DEC000;
  padding: 3px 0 5px;
  font-size: 16px;
  margin-bottom: 30px;
}
.mokuji ul{
  display: flex;
  
}
.mokuji ul li{
  width: 20%;
}
.mokuji ul li a{
  text-decoration: none;
}
.mokuji ul li .num{
  font-size: 20px;
  font-weight: bold;
  vertical-align: middle;
}
.mokuji ul li .num img{
  width: 44px;
}
.mokuji ul li .img{
  display: block;
  margin: 15px 0 6px;
}
.rankContent{
  margin-top: 60px;
}
.rankContent h2{
  border-bottom: 5px solid #59C6F1;
  font-size: 20px;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
.rankContent h2 img{
  margin-right: 10px;
  width: 58px;
}
.rankContent .catchCopy{
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  margin: 40px 0 20px;
}
.rankContent .spec{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}
.spec .popular{
  width: 465px;
  background: #F3F5F4;
  padding: 30px;
}
.spec .popular.wide{
  width: 100%;
}
.rankContent .spec .popular h3{
  text-align: center;
  margin-bottom: 10px;
  font-size: 16px;
}
.rankContent .spec .popular .list{
  display: flex;
  justify-content: center;
}
.rankContent .spec .popular .list li{
  line-height: 1.6;
}
.rankContent .spec .feature{
  margin-top: 40px;
  width: 100%;
}
.rankContent .spec .feature h3{
  text-align: center;
  background: #F3F5F4;
  font-size: 16px;
  padding: 10px;
  margin-bottom: 20px;
}
.rankContent .spec .feature .in{
  display: flex;
  justify-content: space-between;
}
.rankContent .spec .feature .in .content{
  width: 465px;
}
.rankContent .spec .feature .in .content .img{
  text-align: center;
}
.rankContent .spec .feature .in .content .img.col2{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.rankContent .spec .feature .in .content dt{
  margin: 20px 0 10px;
  font-weight: bold;
}
.btn{
  text-align: center;
  margin-top: 40px;
}
.btn a{
  background: #F3F5F4;
  width: 280px;
  display: inline-block;
  padding: 10px;
  text-decoration: none;
  position: relative;
}
.btn a:after{
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: url("../../../images/pi_gakusyu/popular/arrow.png");
  background-size: 100% 100%;
}
.voice{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.voice .txt{
  width: 770px;
  border-radius: 20px;
  border: 2px solid #59C6F1;
  padding: 30px;
  color: #59C6F1;
  font-weight: bold;
  position: relative;
}
.voice + .btn{
  margin-top: 10px;
}
.voice .txt:before{
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  right: -4px;
  top: 50%;
  background: #59C6F1;
}
.voice .txt:after{
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  right: -1px;
  top: 50%;
  background: #FFF;
}
@media screen and (max-width: 640px){
  .mv{
    margin-top: 20px;
  }
  .lead{
    line-height: 1.6;
    text-align: left;
  }
  .mokuji{
    padding: 20px 10px;
  }
  .mokuji h2{
    margin-bottom: 10px;
  }
  .mokuji ul{
    flex-wrap: wrap;
    justify-content: center;
  }
  .mokuji ul li{
    width: 33%;
    padding: 10px;
  }
  .mokuji ul li .num{
    font-size: 16px;
  }
  .mokuji ul li .num img{
    width: 26px;
  }
  .spec{
    display: block;
  }
  .spec .popular{
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
  }
  .rankContent .spec .feature{
    margin-top: 0;
  }
  .rankContent .spec .feature .in{
    display: block;
  }
  .rankContent .spec .feature .in .content{
    width: 100%;
    margin-top: 20px;
  }
  .voice{
    display: block;
  }
  .voice .txt{
    width: 100%;
    padding: 20px;
  }
  .voice .txt:before{
    right: auto;
    top: auto;
    left: 50%;
    bottom: -17px;
    transform: rotate(45deg) translateX(-50%);
  }
  .voice .txt:after{
    right: auto;
    top: auto;
    left: 50%;
    bottom: -14px;
    transform: rotate(45deg) translateX(-50%);
  }
  .voice .img{
    text-align: center;
    margin-top: 20px;
  }
  .voice .img img{
    width: 80px;
  }
  .rankContent .spec .feature .in .content .img.col2 img{
    width: 48%;
  }
}