@charset "utf-8";

/*common*/
.pc {
  display: block;
}

.sp {
  display: none;
}


.marginTP10 {
  margin-top: 10px;
}

.marginTP20 {
  margin-top: 20px;
}

.marginTP30 {
  margin-top: 30px;
}

.marginBT10 {
  margin-bottom: 10px;
}

.marginBT20 {
  margin-bottom: 20px;
}

.marginBT80 {
  margin-bottom: 80px;
}


.text-center {
  text-align: center;
}

.text-left {
  text-align: left !important;
}


.font-small {
  font-size: 16px;
}

.font-medium {
  font-size: 24px;
}

.font-large {
  font-size: 32px;
}

.font-bold {
  font-weight: 400 !important;
}

.font-color-green {
  color: #006943;
}

.backcolor-yellow {
  background-color: #ffdfa9;
}

.backcolor-blue {
  background-color: #c4f3ff;
}

.backcolor-pink {
  background-color: #eba2ed;
}

.backcolor-purple {
  background-color: #c69dfa;
}

.backcolor-orange {
  background-color: #f2ac9a;
}

.backcolor-green {
  background-color: #7dd2af;
}

.backcolor-sabikarapink {
  background-color: #faeaeb;
}

.backcolor-darkgreen {
  background-color: #006241;
}







/*common*/


.comingsoon {
  background-image: url(../img/comingsoon.png);
  background-position: 50% 50%;
  background-size: contain;
  background-repeat: no-repeat;

}

.jp-cmptemp-main .jp-cmptemp-img {
  margin-bottom: 30px;
  text-align: center;
}

#jp-cmptemp {
  background-color: #000;
  padding-bottom: 40px;
  margin-top: 20px;
}

.jp-main {
  font-family: 'YuGothic, "游ゴシック", Hiragino Kaku Gothic ProN,Hiragino Sans, "メイリオ", Meiryo, sans-serif';
  margin: 5%;
}

.jp-main .jp-contents-area {
  margin-bottom: 100px;
  text-align: center;
}

.jp-main .jp-contents-area h2 {
  font-size: 48px;
  color: #FFF;
  margin-bottom: 30px;

}

.jp-main .jp-contents-area#joytv .note {
  max-width: 670px;
  margin: 0 auto;
  text-align: right;
  color: #fff;
  margin-top: 6px;
  font-weight: 200;

}

.jp-main .jp-contents-area .jp-contents-box {
  color: #fff;

}

.jp-main .jp-contents-area .jp-contents-text {
  color: #fff;

}

.jp-main .jp-contents-area .jp-contents-img {
  margin-bottom: 20px;

}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-text {
  margin: 25px 30px;
  font-weight: 200;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-list-text {
  font-weight: 400;
  margin: 30px -15px 0 -15px;
}

.jp-main .jp-contents-area .jp-contents-box ul.jp-contents-list li {
  line-height: 60px;
}

.jp-main .jp-contents-area .jp-contents-box ul.jp-contents-list li a {
  color: #fff;
  font-weight: 300;
  text-decoration: underline;
}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-flexwrap {
  display: flex;
  align-items: baseline;
  justify-content: space-around;
  flex-wrap: wrap;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-flexwrap p {
  margin: 10px 0;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents {
  margin: 20px;
  width: 40%;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-img {
  text-align: center;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-name {
  text-align: center;
  font-size: 20px;
  margin-top: 15px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-name a {
  color: #61605B;

}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-songlist {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-songlist .jp-contents-moviecontents-songname {
  font-size: 15px;
}

.jp-main .jp-contents-area .jp-contents-box .btn {
  font-size: 20px;


  margin-top: 25px;
  display: inline-block;
}

.jp-main .jp-contents-area .jp-contents-box .btn a {
  color: #000;
  background-color: #fff;
  padding: 10px 25px;
  border-radius: 10px;

}



.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-btn {
  text-align: center;
  font-size: 15px;
  margin-top: 30px;


}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents .jp-contents-moviecontents-btn a {
  background-color: #EF8383;
  color: #fff;
  display: inline-block;
  padding: 5px 50px;
  border-radius: 30px;
}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .jp-contents-flex-img {
  width: 100%;
  margin: 20px;
}

.jp-main .jp-contents-area#movie .jp-contents-box .jp-contents-flex .jp-contents-flex-img {
  width: 50%;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .jp-contents-flex-text {
  width: 100%;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .songlist li {
  border-bottom: #666 dotted 2px;
  line-height: 2em;
  margin: 0 40px;

}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .songlist li a {
  font-weight: bold;

}



.jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .jp-contents-flex-text .jp-contents-btn a {
  background: #EF8383;
  color: #fff;
  font-size: 18px;
  padding: 10px 45px;
  display: inline-block;
  border-radius: 30px;
  /*box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.2);*/
  border: solid 1px #fff;
}

.jp-main .jp-contents-area h3 {
  color: #fff;
  font-size: 40px;

}


/*ランキング*/
.jp-main .jp-contents-area .jp-contents-box h4 {
  font-size: 32px;
  text-align: center;
  font-weight: bold;

}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankinglead {
  margin: 20px;
  padding: 30px;
  background: #f3f3f3;
  border-radius: 20px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankinglead h5 {
  font-size: 24px;
  font-weight: bold;

}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankinglead p {
  font-size: 20px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-note {
  text-align: right;
  margin-top: 10px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-rankingarea-age .jp-contents-rankingbox {
  margin-top: 20px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-rankingarea-age .jp-contents-rankingbox ul {
  padding: 15px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-rankingarea-age .jp-contents-rankingbox ul li {
  margin: 15px 0;
  background-color: #fff;
  border-radius: 40px;
  padding: 5px 0;
}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-rankingarea-age .jp-contents-rankingbox ul li span {
  width: 35px;
  height: 35px;
  background-color: #8fc31f;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-right: 10px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-rankingarea-age .jp-contents-rankingbox ul li a {
  font-size: 18px;
  font-weight: bold;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-sabikara .jp-contents-rankingbox {
  margin-top: 20px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-sabikara .jp-contents-rankingbox ul {
  padding: 15px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-sabikara .jp-contents-rankingbox ul li {
  margin: 15px 0;
  background-color: #fff;
  border-radius: 40px;
  padding: 5px 0;
}


.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-sabikara .jp-contents-rankingbox ul li span {
  width: 35px;
  height: 35px;
  background-color: #8fc31f;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-right: 10px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-rankingarea .jp-contents-ranking-sabikara .jp-contents-rankingbox ul li a {
  font-size: 18px;
  font-weight: bold;
}

/*ランキング*/

/*アンケート*/
.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox {
  padding: 10px;
  margin: 20px 0;
  width: 45%;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox .jp-contents-surveybox-title p {
  text-align: center;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox ul li {
  margin: 15px 0;
  background-color: #fff;
  border-radius: 40px;
  padding: 5px 0;
  position: relative;
  display: flex;
  align-items: center;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox ul li span.rank {
  width: 35px;
  height: 35px;
  background-color: #8fc31f;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-right: 10px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox ul li span.score {
  position: absolute;
  right: 15px;
  font-size: 20px;
  font-weight: bold;

}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox ul li a {
  font-size: 18px;
  font-weight: bold;
  display: block;
  width: 70%;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox-note {
  text-align: right;
  margin-top: 10px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey-commentbox .jp-contents-survey-songtitle a {
  font-size: 20px;
  display: inline-block;
  margin-left: 8px;
  font-weight: bold;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey-commentbox {
  margin: 20px 0;
  background-color: #e6ffb1;
  padding: 20px;
  border-radius: 20px;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey-commentbox .jp-contents-survey-comment {
  margin-top: 10px;
  font-size: 15px;
  text-indent: -1em;
  padding-left: 1em;
}

.jp-main .jp-contents-area .jp-contents-box .jp-contents-survey-commentbox .jp-contents-survey-comment span {
  display: block;
  text-align: right;
}

/*アンケート*/



/*リンクボタン*/
.jp-main .jp-contents-area .jp-contents-linkbtn a {
  display: block;
  text-align: center;
  background-color: #fff;
  padding: 30px;
  margin: 30px;
  font-size: 22px;
  border-radius: 50px;
  border: solid 4px #8FC31F;
  color: #000;
  font-size: 20px;
  font-weight: bold;
}

/*リンクボタン*/

@media screen and (max-width:767px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .font-small {
    font-size: 14px !important;
  }

  .font-medium {
    font-size: 16px !important;
  }

  .font-large {
    font-size: 20px !important;
    line-height: 22px;
  }

  .jp-main .jp-contents-area {
    margin-top: 30px;
  }


  .jp-main .jp-contents-area h2 {
    font-size: 32px;

  }

  .jp-main .jp-contents-area .jp-contents-box {
    margin: 15px;

  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-text {
    margin: 30px 10px;
  }


  .jp-main .jp-contents-area .jp-contents-box .jp-contents-flex {
    display: block;
  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .jp-contents-flex-img {
    width: 100%;
    margin: 0;
  }

  .jp-main .jp-contents-area#movie .jp-contents-box .jp-contents-flex .jp-contents-flex-img {
    width: 100%;
  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-flexwrap .jp-contents-flex-img {
    width: 42%;
    padding: 10px;
  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-moviecontents {
    width: 100%;

  }


  .jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox {
    width: auto;
  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-flex .songlist li {
    margin: 20px;

  }

  .jp-main .jp-contents-area h3 {
    color: #fff;
    font-size: 23px;

  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-rankinglead {
    margin: 5px 0;
    padding: 15px;
  }

  .jp-main .jp-contents-area .jp-contents-box .jp-contents-survey .jp-contents-surveybox ul li a {
    display: block;
    width: 70%;
  }



}

/*プレイリスト調整*/
@media screen and (max-width:389px) {
  .jp-contents-box {
    margin: 10px !important;
  }

  #playlist>div:nth-child(2)>div {
    padding: 0px;
  }

  #playlist>div:nth-child(2)>div>p {
    padding: 20px;
  }

  #playlist>div:nth-child(2)>div {
    margin: 2px !important;
  }
}

/* iPhone14のなどw390以上のデバイス */
@media screen and (max-width: 767px) {
  #playlist>div:nth-child(2)>div {
    padding: 0px;
  }

  #playlist>div:nth-child(2)>p {
    padding: 20px;
  }

  #playlist>div:nth-child(2)>div {
    margin: 4px;
  }
}

/*プレイリスト調整*/