@charset "UTF-8";

body #fp-contents{
	font-family: "YakuHanJP", "Noto Sans JP", "Avenir", "Helvetica Neue", HelveticaNeue, 'Helvetica', Verdana, "Lucida Grande", "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Hiragino Sans", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
}
#fp-contents{
    background: url("../img/bg.png") repeat 0 0;
}
/* ---------------------------------------------
	ヘッダー
--------------------------------------------- */
/*-------------メインビジュアル-------------*/
.header__main{
    background: url("../img/bg_hdr.png") repeat-x 0 0;
    /* border-bottom: solid 5px #7a6224; */
}
.header__main h1{
    position: absolute;
    bottom: 3.2vw;
    left: 0; right: 0;
    max-width: 0 auto;
    background: url("../img/logo_l.png") no-repeat center bottom;
    width: 100%;
    height: 18vw;
    background-size: contain;
}
.header__main_oadate{
    position: absolute;
    bottom: 0.1em;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 3.2vw;
    color: #e9536b;
    font-feature-settings: "palt";
    font-weight: bold;
}
.header__main_oadate span{ font-size: 60%; font-weight: normal;}
@media screen and (min-width: 1500px){
    .header__main h1{ height: 288px; bottom: 2.6em;}
    .header__main_oadate{ font-size: 290%;}
}
@media screen and (max-width: 768px){
    .header__main.slide .header__main__photos li:nth-of-type(1) img{
        transform: translate(-33%,0);
    }
    .header__main h1{
        height: 80vw;
        bottom:5vw;
    }
    .header__main_oadate{ font-size: 5.2vw;}
}
@media screen and (max-width: 550px){
    .header__main h1{ bottom: 7.8vw;}
    .header__main_oadate{ font-size: 7.2vw;}
}
#courseName{
    background-color: #fff;
    text-align: center;
    font-size: 120%;
    line-height: 1.2;
    color: #7a6224;
    padding: 0.4em 0;
}

/* ---------------------------------------------
	ナビゲーション
--------------------------------------------- */
.nav-wrap{ background-color: #db3d79;}
.cx_displaydevice .nav__list > li > a:hover{
    background-color: #f84c8e;
}
.nav__list > li > a.comingsoon:hover{ background: none;}
/* ---------------------------------------------
	コンテンツ
--------------------------------------------- */
.contents-all{
    border-bottom: solid 1px #7a6224;
}
.contents-all h2{
    font-size: 160%;
    color: #0087b4;
}
.content-base.color{
    background-color: #fff1f1;
}

/*-------------放送スケジュール-------------*/
.oaSchedule__list > li{
    border-color: #d0b55c;
}
.oaSchedule__list > li > dl.flex_start,
.oaSchedule__list__detail > div.flex_start{
    align-items: flex-start;
}
.oaSchedule__list__detail .ch{
    width: 12.4em;
    height: auto;
    padding: 0.2em 0;
    line-height: 1.0;
}
.oaSchedule__list__detail .ch span{
    font-size: 74%;
    margin-left: 0.3em;
}
.oaSchedule__list__date{
    color: #e9536b;
}
.oaSchedule__list__date span,
.oaSchedule__list .time span{ font-size: 130%;}
.oaSchedule__list__detail .ter{ background-color: #e21a58;}
@media screen and (max-width: 768px){
    .oaSchedule__list__detail .ch{
        width: 100%;
        margin: 0 0 0.4em;
        padding-left: 0.3em ;
        justify-content: flex-start;
    }
}
@media screen and (max-width: 550px){
    .oaSchedule__list__detail{ width: 100%;}
}


/*-------------スペシャル動画-------------*/
.content-wrap.movie{
    width: 800px;
}
@media screen and (max-width: 820px){
    .content-wrap.movie{ width: 100%;}
}
.movie__item {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  
  .movie__item iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
/*-------------スペシャル動画-------------*/
#movWrap ul{ margin: 15px 0 0;}
#movWrap li{
    width: 32%;
    margin: 0 2% 10px 0;
    box-sizing: border-box;
    border: solid 1px #ccc;
    border-bottom: solid 5px #aaa;
    padding: 0 0 5px;
    float: left;
}
#movWrap li:nth-of-type(3n){
    margin: 0 0 10px 0;
}

.cx_smartphoneview #movWrap li{
    width: 49.5%;
    margin: 0 1% 10px 0;
}
.cx_smartphoneview #movWrap li:nth-of-type(3n){ margin: 0 1% 10px 0;}
.cx_smartphoneview #movWrap li:nth-of-type(2n){ margin: 0 0 10px 0;}


#movWrap li:hover{ border-bottom: solid 5px #ff7600;}

#movWrap li .thum{ margin-bottom: 6px; position: relative;}
#movWrap li .thum::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 5px;
    right: 5px;
    background: url("../img/playIcn.png");
    width: 29px;
    height: 29px;
    background-size: contain;
    border: solid 2px rgba(255,255,255,0.4);
    border-radius: 50%;
}
#movWrap li:hover .thum::after{ border: solid 2px rgba(255,255,255,1.0);}

#movWrap li .thum img{ width: 100%; height: auto;} 
#movWrap li .cap,
#movWrap li dt{ padding: 0 10px;}
#movWrap li .cap{
    font-size: 88%;
    line-height: 1.3;
}
#movWrap li dt{
    font-weight: bold;
}

/*-------------歴代優勝者-------------*/
.winner__list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.winner__list li{
    width: 18%;
    border-bottom: solid 2px #d0b55c;
    box-sizing: border-box;
    margin-bottom: 1em;
}
.winner__list li.comingsoon{ border: none;}
@media screen and (min-width: 1200px){
    .winner__list li{ width: 198px;}
}
@media screen and (max-width: 900px){
    .winner__list li{ width: 24%;}
}
@media screen and (max-width: 768px){
    .winner__list li{ width: 32%;}
}
.winner__list__year{
    background-color: #917025;
    font-size: 88%;
    color: #fff;
    line-height: 1.2;
    padding: 0.2em 0;
    text-align: center;
}
.winner__list__name{
    background-color: #fff;
    text-align: center;
    line-height: 1.2;
    padding: 0.2em 0;
}

/*-------------データ放送-------------*/
.present__intro{
    display: flex;
    justify-content: space-between;
}
.present__intro__inner{
    width: 64%;
}
.present h3{
    background: url("../img/present_game_logo.png") no-repeat 0 0;
    width: 100%;
    height: 0;
    padding-top: 19.35%;
    background-size: contain;
    text-indent: -300%;
    white-space: nowrap;
    overflow: hidden;
    margin-bottom: 1em;
}
.present__intro__inner__catch{
    font-weight: bold;
    font-size: 110%;
    line-height: 1.4;
    color: #e9536b;
    border-bottom: solid 1px #d0b55c;
    margin-bottom: 0.6em;
}
.present__intro__inner::after{
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 27.54%;
    background: url("../img/present_cara.png") no-repeat center center;
    background-size: contain;
    margin: 0.4em 0 0;
}
.present__intro__photo{
    width: 33%;
}

.present__list{
    display: flex;
    justify-content: space-between;
}
.present__list__photo{
    width: 49%;
    text-align: center;
    border: solid 1px #d0b55c;
    background-color: #fff;
}
.present__list__photo .prize{
    background-color: #836d36;
    line-height: 1.4;
    padding: 0.5em 0;
    color: #fff;
    font-size: 110%;
    font-weight: bold;
}
.present__list__photo .prize span{
    font-weight: normal;
    font-size: 88%;
}
.present__list__photo .item{
    font-size: 94%;
    line-height: 1.4;
    padding: 0.2em 0;
    border-top: solid 1px #dcc781;
}
@media screen and (max-width: 1100px){
    .present__intro__inner__catch{ font-size:  1.6vw;}
    .present__intro__inner__cap{ font-size: 1.5vw;}
    .present__list__photo .prize{ font-size:  1.6vw;}
    .present__list__photo .item{ font-size: 1.36vw;}
}
@media screen and (max-width: 768px){
    .present__intro{ margin-bottom: 0.5em;}
    .present__intro__inner{ width: 70%;}
    .present__intro__photo{ width: 28%;}
    .present__intro__inner__catch{ font-size:  100%;}
    .present__intro__inner__cap{ font-size: 100%;}
    .present__list__photo .prize{
        font-size:  100%;
        padding: 0.3em 0;
    }
    .present__list__photo .prize span{ font-size:  78%;}
    .present__list__photo .item{ font-size: 94%;}
}

#present a.link_btn{
    background-color: #e9536b;
}
.cx_displaydevice #present a.link_btn:hover{
    background-color: #ff3e5e;
}
#present a.link_btn.end,
.cx_displaydevice #present a.link_btn.end:hover{ background-color: #999;}
.link_btn.end{ color: #eee;}
a.link_btn.end::after{ display: none;}
.present__endDate{
    text-align: center;
    font-size: 88%;
    line-height: 1.2;
    padding: 0.5em 0 0;
}

/*-------------出演者-------------*/
.cast__list{
    align-items: flex-start;
}
.cast__list__pos{
    background-color: #e9536b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.1em;
    margin-right: 0.4em;
    min-width: 9.6em;
}
@media screen and (max-width: 768px){
    .cast__list__pos{
        min-width: auto;
        width: auto;
        justify-content: flex-start;
        padding-left: 0.3em;
    }
}

/*-------------大会公式サイトリンク-------------*/
a.link_btn.official{
    background: #db3d79;
    padding: 1.2em;
    font-size: 110%;
}
/* a.link_btn.official::before{
    content: "";
    display: block;
    position: absolute;
    background: url(../img/logo_s_wh.svg) no-repeat 0 center;
    width: 2.6em;
    height: 2.6em;
    top: 50%; left: 20px;
    background-size: contain;
    margin: -1.3em 0 0;
} */
.cx_displaydevice a.link_btn.official:hover{
    background: #f84c8e;
}

@media screen and (max-width: 940px){
    a.link_btn.official{
        font-size: 100%;
        text-indent: 2em;
    }
    a.link_btn.official::before{ left: 10px;}
}
@media screen and (max-width: 768px){
    a.link_btn.official{
        padding: 0.4em 0;
    }
    a.link_btn.official::before{ left: 20px;}
}


.cx_displaydevice #gbheader,
.cx_displaydevice #gbfooter{
    position: relative;
    z-index: 99999;
}
@media screen and (max-width: 750px){
    .sp_display #gbfooter p{
        font-size: 3.3vw !important;
        line-height: 1.6 !important
    }
}

