/* 全体背景 */
.bg-page-wrapper {
  padding: 0;
  background-color:brown;
  background-image: url(images/bg.jpg);
  background-position:center top;
  background-size: cover;
  background-attachment: fixed;
  z-index:1;
}
.container {
  padding: 1.4rem 0 3.4rem;
}
.container_top{
  box-shadow:10px 10px 5px rgba(0,0,0,0.3);
  margin:0 auto;
  max-width:1080px;
  padding:0;
  z-index:10;
}
.container2 {
  background: rgb(246,240,174);
  background: linear-gradient(90deg, rgba(246,240,174,1) 0%, rgba(255,254,248,1) 100%);
  box-shadow:10px 10px 5px rgba(0,0,0,0.25);
  padding: 0 0 3.4rem;
  max-width:1080px;
  margin:40px auto;
}
header {
  background: none; /* ヘッダー下色帯 #2e2e2e*/
}
section:last-child{
  padding-bottom:50px;
}
.overview {            /* イベントメイン説明 */
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  color: dimgray;
}
#header_txt{
  background-color:#2e2e2e;
  color:white!important;
  margin:0;
  padding:2rem 0;
}
.flex-wrapper{padding:2.7rem;}
h2{
  font-size:2.1em;
  font-weight:bold;
  line-height:1.5em;
}
.h2-wrapper {
  background: #2e2e2e; /* 記事タイトル帯カラー */
  max-width:1200px;
  margin:35px auto 20px;
  color: #FFF;
}
.h2-wrapper h2::before {
  margin-left: 25px;
  margin-right: 5px;
  margin-bottom: 5px;
  content: '';
  display: inline-block;
  width: 36px;
  height: 35px;
  background-image: url(images/icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.bg-wrapper {
  margin-top: 1.4rem;
  padding: 0;
  color: #231815; /* ページ内文字色 */
  /*background: url(images/bg.png)/*, linear-gradient(rgba(255, 255, 255, 1), rgba(255, 224, 179, 0.5), rgba(255, 224, 179, 1) );*/
  /*background-position: center bottom;*/
  /*background-repeat: no-repeat;*/
}
.content-wrapper {padding: 0 2em;}

/* ----------------- メニューバー --------------------- */

#menu{
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index:100;
}
.menu_bar{  
  display:flex;
  box-shadow:5px 5px 3px rgba(0,0,0,0.25);
  justify-content:space-between;
  max-width:1080px;
  margin:40px auto;
  width:100%;
}
.menu_bar>a{
  border:1px solid white;
  color:#fff;
  display:block;
  font-weight:bold;
  margin:0;
  padding:5px 0;
  text-align:center;
  width:20%;
}
.menu_bar>a:nth-child(2n+1){background:rgba(46,46,46,0.7);}
.menu_bar>a:nth-child(2n){background:rgba(0,0,0,0.8);}

.menu_bar>a:hover{
  background: rgb(246,240,174);
  background: linear-gradient(90deg, rgba(246,240,174,1) 0%, rgba(255,254,248,1) 100%);
}

/* -------------------------------------- */

/* 個別スタイル */
.main_title{
  text-align:center;
  font-weight:bold;
  font-size:2em;
  padding:5px 0;
  font-family: serif;
}
.event_period{
  color: yellow;
  font-weight: bold;
  padding: 10px 10px 0;
  text-align: center;
  font-family: serif;
}
.mokuzi {
  max-width:1080px;
  margin:0 auto;
  padding:5px 0 15px;
  background:#fff;
  overflow: hidden;
}
.about_title{
  font-size:1.3em;
  padding:40px 0 20px;
  text-align:center;
}
.about_award{
  font-weight:normal;
  margin:0 auto;
  max-width:700px;
  width:80%;
}
.about_award p{
  margin-bottom:10px;
}
.top100{
  color:#120401;
  font-weight:bold;
  max-width:800px;
  margin:50px auto 0;
  text-align:center;
  width:100%;
  
}
.ranksale{
  display:flex;
  justify-content:space-between;
  margin:3px auto 10px;
  max-width:800px;
}
.ranksale_btn{
  background: rgb(29,5,1);
  background: radial-gradient(circle, rgba(29,5,1,1) 0%, rgba(79,15,5,1) 100%);
  color:#E6C46D;
  display:block;
  font-family:serif;
  font-weight:bold;
  font-size:1.2em;
  padding:2px 0;
  text-align:center;
  width:calc(50% - 1.5px);
}
.ranksale_btn:hover{
  background: rgb(224,175,39);
  background: linear-gradient(42deg, rgba(224,175,39,1) 0%, rgba(255,229,89,1) 20%, rgba(224,175,39,1) 40%, rgba(255,229,89,1) 75%, rgba(224,175,39,1) 89%);
  color:rgb(29,5,1);
}
.ranksale_btn:hover::before,.ranksale_btn:hover::after{
  content:"-";
  padding:0 5px;
}
.all{
  background: rgb(224,175,39);
  background: linear-gradient(42deg, rgba(224,175,39,1) 0%, rgba(255,229,89,1) 20%, rgba(224,175,39,1) 40%, rgba(255,229,89,1) 75%, rgba(224,175,39,1) 89%);
  color:rgb(29,5,1);
  font-family:sans-serif;
  font-size:1.1em;
  padding:5px 0;
}
.all:hover{
  background: rgb(29,5,1);
  background: radial-gradient(circle, rgba(29,5,1,1) 0%, rgba(79,15,5,1) 100%);
  color:#E6C46D;
}

.about_ranking{
  font-size:1.2em;
  font-family:serif;
  font-weight:bold;
  text-align:left;
  margin:40px auto 20px;
  max-width:800px;
  width:90%;
}
.rank_area{
  background: rgb(29,5,1);
  background: radial-gradient(circle, rgba(29,5,1,1) 0%, rgba(79,15,5,1) 100%);
  border-radius:10px;
  color:lightyellow;
  font-weight:bold;
  font-size:2em;
  margin:50px 1% 30px;
  padding:20px 0;
}
.vr_rank:before, .vr_rank:after{background:url(images/img_trophy_vr.png) no-repeat left;}
.tv_rank:before, .tv_rank:after{background:url(images/img_trophy_tv.png) no-repeat left;}
.vr_rank:before, .tv_rank:before{margin-right:15px;}
.vr_rank:after, .tv_rank:after{margin-left:15px;}
.vr_rank:before, .vr_rank:after, .tv_rank:before, .tv_rank:after{
  content:"";
  background-size: contain;
  display:inline-block;
  vertical-align:text-top;
  width:55px; height:44px;
}
.ranking{
  display:flex;
  justify-content:space-between;
  margin:10px auto 30px;
  width:100%;
}

.detail_box{
  background: rgb(224,175,39);
  background: linear-gradient(42deg, rgba(224,175,39,1) 0%, rgba(255,229,89,1) 20%, rgba(224,175,39,1) 40%, rgba(255,229,89,1) 75%, rgba(224,175,39,1) 89%);
  border-radius:10px;
  box-shadow:5px 5px 5px rgba(0,0,0,0.6);
  margin:0 1%;
  padding:1%;
  position:relative;
  width:100%;
}
.detail_box .gold{background:linear-gradient(42deg, rgba(224,175,39,1) 0%, rgba(255,229,89,1) 20%, rgba(224,175,39,1) 40%, rgba(255,229,89,1) 75%, );}
.detail_box .silver{background:linear-gradient(42deg, rgba(200,200,200,1) 0%, rgba(255,255,255,1) 20%, rgba(200,200,200,1) 40%, rgba(255,255,255,1) 75%);}

.detail_box .compact_harf{
}
.detail_box .compact_harf>a{
}

.medal_ef{
  left:-15px;top:-15px;
  width:55px;
  position:absolute;
}
.work_rank{
  color:rgb(29,5,1);
  font-size:2em;
  font-weight:bold;
  padding:5px 0;
}
.crownL_sml{
  margin-right:5px;
  margin-bottom:7px;
  width:clamp(20px,3vw,30px);
}
.crownR_sml{
  margin-left:3px;
  margin-bottom:7px;
  width:clamp(20px,3vw,30px);
}
.crownL_mid{
  margin-right:10px;
  margin-bottom:7px;
  width:37px;
}
.crownR_mid{
  margin-left:10px;
  margin-bottom:7px;
  width:37px;
}
.crownL_lar{
  margin-right:15px;
  margin-bottom:7px;
  width:50px;
}
.crownR_lar{
  margin-left:15px;
  margin-bottom:7px;
  width:50px;
}
.detail_box dl{
  background:white;
  border-radius:7px;
  font-size:0.8em;
  margin:10px auto 0;
  padding:10px;
  text-align:left;
  height:auto;
  }
.detail_box dt{
  border-bottom:1px solid dimgray;
  font-weight:bold;
  margin-bottom:10px;
  padding-bottom:10px;
}
.detail_box dd{
  line-height:1.7em;
  margin:0;
}
.detail_box dl.first{
  margin:10px auto 10px;
  padding:20px;
  width:100%;
}
.detail_box .first{
  font-size:1.1em;
  font-weight:bold;
}
.detail_box dt.first{
  font-size:1.3em;
}
.detail_box dd.first{
  display:inline-block;
  flex-wrap:wrap;
  margin:5px 0 0;
  width:48%;
}


#actress .ranking{
  display:flex;
  justify-content:space-between;
  margin:10px auto 40px;
  width:100%;
}
#actress a.name{
  background:white;
  border-radius:10px;
  color:hotpink;
  display:block;
  font-size:1.5em;
  font-weight:bold;
  margin:10px auto 0;
  padding:10px;
}
#actress a.name:hover{
  background:hotpink;
  color:white;
}
img.rad10{border-radius:10px;}

.detail_box dt.simple{
  margin:0; padding:0; border-bottom:none;
}

.genre_name{
  color: #3D0B03;
  font-weight:bold;
  font-size:2em;
  text-align:left;
  padding:0 1%;
}
.genre_name img{
  margin-right:10px;
}
.genre_name .word{
  display:inline-block;
  border-bottom:dashed 1px black;
  line-height:1.1em;
}
#genre .ranking{
  margin:5px auto 15px;
}
#genre .work_rank{
  padding:0;
}
#genre .detail_box a>img{
  border-radius:7px;
}
#genre dl{
  font-size:0.8em;
  line-height:1.1em;
  margin-bottom:30px;
  padding:5px 1%;
  text-align:left;
}
#genre dl>a{
  display:block;
}
#genre dt{
  font-weight:bold;
}
#genre dt,#genre dd{
  display:inline-block;
}
#genre dd{
  margin-left:15px;
}

#last .container2{
  padding:4rem 0 5rem;
  text-align:center;
}
#last p{
  color:red;
  font-size:1.3em;
  font-weight:bold;}
#last a{display:inline-block;}
#streaming{
  display:flex;
  flex-wrap:wrap;
  max-width:1080px;
  margin:0 auto;
  justify-content:space-between;
  width:100%;
}
#streaming a{width:49%;}
#streaming p{color:white; text-align:center;}


/* レスポンシブ対応 */

  .sp_none {display: inline;}
  .pc_none {display: none;}

@media only screen and (max-width:680px){
  .sp_none {display: none;}
  .pc_none {display: inline;}
  
  header, main {text-align: left;}
  .flex-1-2 a {text-align: center;}
  .content-wrapper {padding: 0 1em;}
  .menu_bar>a{line-height:1.3em;padding:5px;}
  .main_title{
    font-size:1.5em;
    line-height:1.2em;
  }
  .top100{margin-top:30px;color:#A30000;}
  .ranksale{margin:5px 0;}
  .ranksale_btn{
    border-radius:0;
    font-size:calc(0.7em + 1vw);
    margin-bottom:0px;
    padding:3px 5px;
    text-align:center;
  }
  .about_ranking{
    font-size:1em;
    font-weight:bold;
    margin:15px auto 0px;
    width:90%;
  }
  .rank_area{
    font-size:calc(1em + 2vw);
    border-radius:10px;
    margin:30px 0 2vw;
    padding:10px 0;
    text-align:center;
  }
.vr_rank:before, .tv_rank:before{margin-right:2vw;}
.vr_rank:after, .tv_rank:after{margin-left:2vw;}
.vr_rank:before, .vr_rank:after, .tv_rank:before, .tv_rank:after{
  width:calc(25px + 3vw); height:calc(20px + 3vw);
}
  .ranking{
    display:block;
    margin:10px auto 40px;
  }
  #actress .ranking{
  display:block;
  margin:10px auto 10px;
  }
  .detail_box{
    border-radius:10px;
    margin:0 0 calc(10px + 3VW);
    padding:3%;
  }
  .detail_box img{
    width:100%;
  }
  .detail_box img.medal_ef{
    left:5px;top:5px;
    width:60px;
  }
  img.crownL_sml, img.crownR_sml{
    width:calc(20px + 3vw);
    margin-bottom:5px;
  }
  img.crownL_mid, img.crownR_mid{
    width:calc(20px + 3vw);
    margin-bottom:5px;
  }
  img.crownL_lar, img.crownR_lar{
    width:calc(35px + 3vw);
    margin:0 5px 5px;
  }
  .work_rank{
    font-size:calc(1em + 3vw);
    text-align:center;
  }
  .detail_box dl{
    border-radius:7px;
  }
  .detail_box dl.first{
    padding:10px;
    width:100%;
  }
  .detail_box dd{
    display:inline-block;
    width:48%;
  }
  .detail_box dd.first{
    width:100%;
  }
  #actress a.name{
    border-radius:7px;
    font-size:calc(1em + 2vw);
    padding:4px;
    text-align:center;
    margin:10px 0 0;
    }
  #actress .detail_box{
    padding:calc(5px + 3vw);
  }
  #actress .compact{
    font-size:70%;
    padding:1% 3% 2%;
    margin-bottom:calc(10px + 1VW);
  }
  .compact .work_rank{padding:0;}
  .compact img.crownL_sml,.compact img.crownR_sml{
    width:20px;
  }
  #actress .compact a.name{
    margin:0;
    padding:0;
  }
  #genre .ranking{
    display:flex;
    margin:5px auto 15px;
  }
  #genre .detail_box{
    padding:1%;
    margin:0;
    width:calc(20% - 3px);
  }
  #genre dt{display:block;}
  #genre .work_rank{
    font-size:calc(1em + 1vw);
  }
  .genre_name{text-align:left;}
  #genre .detail_box img.crownR_sml{width:calc(15px + 1vw);}
}


@media only screen and (max-width:400px){ 
  .dn400{display:none!important;}
  .btn span {padding:0;}
  .content-wrapper{padding-top:10px;}
  .main_title{
    font-size:clamp(1.2em,8vw,2em);
    line-height:1em;
    padding:10px 0;
  }
  .ranksale_btn{
    font-size:calc(0.65em + 1vw);
    font-weight:normal;
    line-height:1.2em;
  }
  .ranksale_btn:hover::before,.ranksale_btn:hover::after{
    content:"";
    padding:0px;
  }
  .all{font-size:calc(0.6em + 0.8vw);font-weight:bold;}
  .event_period{
    font-size:0.9em;
    padding: 0 10px;
  }
  .about_title{
    color:#2E2E2E;
    font-size:1em;
    padding:20px 10px 10px;
  }
  .about_award{width:100%;}
  .about_award>p{color:#2E2E2E;font-size:0.9em;line-height:1.3em;padding:0 0 10px;}
  .about_ranking{font-size:0.9em;line-height:1.2em;width:100%;}
  .h2-wrapper {max-width:1200px;margin:35px auto 20px;}
  .h2-wrapper h2::before {margin:0px; display:none;text-align:center;}

  .menu_bar>a{border:0px;font-size:0.8em;font-weight:normal;line-height:1.3em;padding:5px 3px;}
  .menu_bar>a:nth-child(2n+1){background:rgba(46,46,46,0.9);}
  .menu_bar>a:nth-child(2n){background:rgba(0,0,0,0.9);}
  .work_rank{padding:0;}
/*  .vr_rank:before, .vr_rank:after, .tv_rank:before, .tv_rank:after{display:none;margin:0;} */
  .vr_rank:before, .vr_rank:after, .tv_rank:before, .tv_rank:after{
    width:calc(20px + 3vw); height:calc(16px + 3vw); vertical-align:sub;
  }
  .detail_box dl{line-height:1.3em;}
  .detail_box dt{margin-bottom:5px; padding-bottom:5px;}
  .detail_box dd{display:block;width:100%;line-height:1.5em;}
  .detail_box dl.first{line-height:1.7em; padding:10px;}
  .detail_box dt.first{margin-bottom:10px; padding-bottom:10px;}
  .detail_box dd.first{display:block;margin:0;width:100%;}
  .detail_box .first{font-size:1em;font-weight:bold;}
  .detail_box img.medal_ef{left:inherit;top:-5px;right:2px;width:calc(30px + 4vw);}
  .ranking{margin:10px auto;}
  #actress a.name{margin:5px 0 0;}
  #genre .detail_box{display:none;}
  #genre .ranking{margin:0;}
  .genre_name{font-size:1.3em;margin-top:30px;margin-bottom:20px;}
  #genre dl{margin:0 auto 30px;padding:0 0 10px; border-bottom:#490E04 1px solid;}
  #genre dt{color:indianred;margin-bottom:6px;}
  #genre dt:before{content:"・";}
  #genre dl>a{display:block;margin-bottom:10px;}
  #genre .crownR_mid{margin-left:0;}
  #last .container2 {padding:1rem 0;}
  #last p{font-size:1em;text-align:left;line-height:1.3em;}
  #last a{font-size:0.8em;text-align:left;margin-bottom:10px;}
  #streaming{display:block;width:100%;}
  #streaming a{width:100%;margin-bottom:20px;}
  #streaming p{margin:0;}
  section:last-child{padding-bottom:25px;}
}



/* -------------------------------------- */

ul, ol {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
.mt-0 {
  margin-top: 0;
}
a {
  color: #000;
  display: block;
  text-decoration: none;
}
* > a:hover {
  color:crimson;
  opacity: 0.95;
  transition-duration:250ms;
}
.btn {
  border-radius: 10px;
}
.btn div {
  width: 100%;
  display: flex;
  position: relative;
}
.btn span {
  padding: 0 50px;
}
.btn div .before {
  position: absolute;
  left: 0;
}
.btn div .after {
  position: absolute;
  right: 0;
}
a .btn, a.btn {
  border:solid #E83962 2px;
  color:#E83962;
  font-size: 1.3em;
  font-weight: bold;
  background: #FFF;
  box-shadow: 10px 10px 10px rgba(0,0,0,0.5);
}


/* サムネ瞬きエフェクト */

.reflection{
display:inline-block;
position:relative;
overflow:hidden;
} 
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-50%;
left:0;
background-color: #fff;
opacity:0;
transform: rotate(45deg);
animation: reflection 3s ease-in-out infinite;
}
@keyframes reflection {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.4; }
  81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
  100% { transform: scale(100) rotate(45deg); opacity: 0; }
}












