@charset "UTF-8";
/*googleフォントからNoto Sans JP,oto Serif JP,Robotoを引用*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP|Noto+Serif+JP|Roboto:400,700&display=swap");

/*****************************************/
/*PC,SPでの出し分け*/
/* sp時にしか表示させない */
@media only screen and (min-width: 769px) {.is_sp {display: none !important}}
/* PC時にしか表示させない */
@media only screen and (max-width: 768px) {.is_pc {display: none !important}}
/*****************************************/
html {
  font-size: 10px
}

body {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  /*背景画像もプリントアウト対象にする*/
  -webkit-print-color-adjust: exact;
}


/*****************************************/
/*flex関連をclass化*/

/*通常版*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

/*左右中央寄せ*/
.flex_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/*天地中央寄せ*/
.flex_middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

/*flex逆から*/
.flex_reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/*flex-boxを使った天地左右中央寄せ*/
.just_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  flex-direction: column;
  justify-content: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}

/*左右詰め等倍*/
.space_between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
/*-----------------------------*/
/*      form周りのリセット（要適宜）      */
/*----------------------------*/
/*
input, button {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background-clip: padding-box;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  box-sizing: border-box;
  outline: none;
}

input::-ms-clear,
button:-ms-clear {
  display: none;
}

input::-ms-reveal,
button:-ms-reveal {
  display: none;
}

input::-ms-expand,
button:-ms-expand {
  display: none;
}

input:focus,
button:focus {
  outline: none;
}
*/
/*****************************************/
body{
  background: url(../images/body_background@2x.png) 50% 50% repeat;
  background-size: 120px;
}
main{
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  body{
    background: #fff
  }
}
/*
  KV
*/
/*
  slider_sec
*/
#slider_sec {
  position: relative;
}
#slider_sec:after{
  content:"";
  display: block;
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#slider_sec .slider{
  max-width: 960px;
  margin: 0 auto;
  margin-top: -6.5%;
}
#slider_sec img{width: 100%;}
#slider_sec .slide{
  width: calc(100% / 4);
}
#slider_sec a{
  display: block;
  padding: 0 10px;
  overflow: hidden;
}
#slider_sec a img{
  border-radius: 20px;
}
#slider_sec .slide04 a{
  cursor: default;
}

.slick-list{overflow: visible;}

.slick-arrow:focus,
.slick-arrow:hover,
.slick-arrow{
  width: 60px;
  height: 60px;
  background: url(../images/icn_arrow_L@2x.png) 50% 50% no-repeat;
  background-size: cover;
  z-index: 2;
  left: -30px;
}

.slick-next:hover,
.slick-next:focus,
.slick-next{
  background: url(../images/icn_arrow_R@2x.png) 50% 50% no-repeat;
  background-size: cover;
  left: auto;
  right: -30px;
}

.slick-arrow:before{
  display: none;
}
@media only screen and (max-width: 768px) {
  #slider_sec {
    position: relative;
  }
  #slider_sec:after{
    display: none;
  }
  #slider_sec .slider{
    margin-top: 0;
  }
  #slider_sec .slide{
    width: 100%;
  }
  .slick-list{overflow: hide;}



  .slick-arrow:focus,
  .slick-arrow:hover,
  .slick-arrow{
    width: 40px;
    height: 40px;
    left: 0px;
    transition: 0.2s;
    top:100%;

  }

  .slick-next:hover,
  .slick-next:focus,
  .slick-next{
    background: url(../images/icn_arrow_R@2x.png) 50% 50% no-repeat;
    background-size: cover;
    left: auto;
    right: 0;
  }

  .slick-arrow:before{
    display: none;
  }
  .slick-arrow.slick-disabled{
    opacity: 0;
  }


  .slick-dots{
    z-index: 1;
    bottom: -12px;
  }
  .slick-dots li{
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 4px;
  }
  .slick-dots li button{
    padding: 0;
    width: 8px;
    height: 8px;
    background: #000;
    opacity: 0.1;
    border-radius: 50%;
    transition: 0.2s;
  }
  .slick-dots .slick-active button{
    background: #F288A4;
    opacity: 1;
  }
  .slick-dots li button:before{
    display: none;
  }
}
/*
  ranking
*/
#ranking .wrapper{
  width: calc(100% / 6 * 4 + 64px);
  margin: 0 auto;
  background: #fff;
  padding: 40px 0 0;
}
#ranking h2{
  max-width: 480px;
  margin: 0 auto;
}
#ranking .rank_list{
  padding: 0 32px;
  margin-top: 16px;
}
#ranking .rank_list > li{
  width: calc(100% / 5);
  padding: 20px 10px;
}
.box_inner{
  height: 100%;
  position: relative;
  /* padding-bottom: 40px; */
}
#ranking .rank_list .img{
  border-radius: 20px;
  overflow: hidden;
}
#ranking .rank_list > li .box_inner:before{
  content:"";
  display: block;
  width: 48px;
  height: 48px;
  background: url(../images/icn_ranking_01@2x.png) 50% 50% no-repeat;
  background-size: cover;
  position: absolute;
  top: -20px;
  left: -10px;
}
#ranking .rank_list .no2 .box_inner:before{
  background-image: url(../images/icn_ranking_02@2x.png);
}
#ranking .rank_list .no3 .box_inner:before{
  background-image: url(../images/icn_ranking_03@2x.png);
}
#ranking .rank_list .no4 .box_inner:before{
  background-image: url(../images/icn_ranking_04@2x.png);
}
#ranking .rank_list .no5 .box_inner:before{
  background-image: url(../images/icn_ranking_05@2x.png);
}

#ranking .rank_list .day{
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #F288A4;
}
#ranking .rank_list .title{
  margin-top: 5px;
  font-size: 1.6rem;
  line-height: 1.25;
  color: #898989;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  #ranking .wrapper{
    width: 100%;
  }
  #ranking .rank_list{
    padding: 0 5px;
  }
  #ranking .rank_list img{
    width: 100%;
  }
  #ranking .rank_list > li{
    width: calc(100% / 2);
    padding: 20px 5px;
  }
  .box_inner{
    /* padding-bottom: 20px; */
  }
  #ranking .rank_list > li:first-of-type{
    width: 72.2222%;
    margin: 0 auto;
  }
}



/*
  blog
*/
#blog .wrapper{
  width: calc(100% / 6 * 4 + 64px);
  margin: 0 auto;
  background: #fff;
  padding: 40px 0 148px;
}
#blog h2{
  max-width: 480px;
  margin: 0 auto;
}
#blog .blog_list{
  margin-top: 16px;
  padding: 0 32px;
}
#blog .blog_list > li{
  width: 50%;
  padding: 0 10px 40px;
}
#blog .blog_list .bnr{
  border-radius: 20px;
  overflow: hidden;
}
#blog .blog_list .name{
  margin-top: 8px;
  font-size: 1.6rem;
  line-height: 1.25;
  color: #898989;
  font-weight: bold;
  text-align: center;
}
#blog .blog_list .lead{
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #898989;
}

@media only screen and (max-width: 768px) {
  #blog .wrapper{
    width: 100%;
    padding: 40px 0 102px;
  }
  #blog .blog_list{
    padding: 0 10px;
  }
  #blog .blog_list > li{
    width: 100%;
    padding: 0 10px 20px;
  }
  #blog .blog_list .lead{
    margin-top: 8px;
  }

}

/*
  footer
*/

footer {
  background: #fff;
  position: relative;
}
footer:before{
  content:"";
  display: block;
  height: 24px;
  width: 100%;
  background: url(../images/bak_footer_line@2x.png) 50% 50% repeat-x;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-50%);
}

footer .logo1 {
  text-align: center;
  padding: 32px 0
}

footer .logo1 img {
  width: 96px;
  height: 48px
}

footer .footermenu {
  text-align: center;
  padding-bottom: 8px
}

footer .footermenu li {
  display: inline-block;
  padding: 0 8px;
  border-left: 1px solid #004EA2
}

footer .footermenu li:first-of-type {
  border: none
}

footer .footermenu a {
  color: #004EA2
}

footer .logo2 {
  text-align: center;
  padding: 48px 0 24px
}

footer .logo2 img {
  width: 160px;
  height: 48px
}

footer .copyright {
  font-size: 12px;
  text-align: center;
  padding-bottom: 16px
}

footer .copyright li {
  padding: 0 8px;
  color: #14116e
}



@media only screen and (max-width: 768px) {
  footer {
    margin-top: -1px
  }
  footer:before{
    height: 24px;
    background: url(../images/bak_footer_line@2x.png) 61% 50% repeat-x;
    background-size: cover;
  }
  footer .inbox {
    padding: 0 16px
  }

  footer .logo1 {
    padding: 32px 0 16px
  }

  footer .logo2 {
    padding: 32px 0 16px
  }

  footer .copyright {
    padding-bottom: 64px
  }

  footer .copyright li {
    padding: 0
  }
}

/*
  装飾関連
*/
#deco_wrap{
  position: relative;
}
.left_area,
.right_area{
  background: rgba(0,0,0,0.5);
  width: calc(100% / 6);
  height: 100%;
  position: absolute;
}
.left_area {
  top: 0;
  left: 0;
  background: url(../images/deco_l@2x.png) 50% 0 repeat-y;
  background-size: contain;
}
.right_area{
  top: 0;
  right: 0;
  background: url(../images/deco_r@2x.png) 50% 0 repeat-y;
  background-size: contain;

}
@media only screen and (max-width: 768px) {
  .left_area,
  .right_area{
    display: none;
  }
}
#ranking .coution{
  max-width: 640px;
  margin: 0 auto;
}
#ranking .text{
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #898989;
}
#ranking .text li{
  text-indent: -1em;
  padding-left: 1em;;
}
@media only screen and (max-width: 768px) {
  #ranking .coution{
    padding: 0 32px;
  }
}


