@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-color: #fafff3;
}
/* ---------------------------------------------
	ヘッダー
--------------------------------------------- */
/*-------------メインビジュアル-------------*/
.header__main{
    background: url("../img/bg_hdr.png") repeat-x center center;
    background-size: contain;
    border-bottom: solid 5px #b79112;
}
.header__main h1{
    position: absolute;
    bottom: 2.0vw;
    left: 0; right: 0;
    max-width: 0 auto;
    background: url("../img/logo_l.png") no-repeat center bottom;
    width: 100%;
    height: 15vw;
    background-size: contain;
}
.header__main_oadate{
    position: absolute;
    bottom: 0.1em;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 3.2vw;
    color: #e3c253;
    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: 223px; bottom: 1.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: 3vw;
    }
    .header__main_oadate{ font-size: 5.2vw;}
    .header__main_oadate span{ font-size: 55%;}
}
@media screen and (max-width: 550px){
    .header__main h1{ bottom: 4.0vw;}
    .header__main_oadate{ font-size: 5.8vw;}
}
#courseName{
    background-color: #fff;
    text-align: center;
    font-size: 120%;
    line-height: 1.2;
    color: #b79112;
    padding: 0.4em 0;
}

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

/*-------------NEWS-------------*/
#news{
    text-align: center;
}
@media screen and (max-width: 768px){
    #news{
        text-align: left;
    }
}
.news__date{
    background-color: #006920;
    color: #fff;
    font-weight: bold;
    font-size: 110%;
    line-height: 1.2;
    display: inline-block;
    padding: 0.2em 0.6em;
    margin-bottom: 0.6em;
}
.news__detail{
    line-height: 1.6;
}
.news__detail .strong{
    font-size: 114%;
    font-weight: bold;
}
.news__detail .red{
    background-color: #d00000;
    color: #fff;
    border-radius: 3em;
    display: inline-block;
    line-height: 1;
    padding: 0.2em 0.6em;
    margin-right: 0.1em;
    font-size: 94%;
}

/*-------------放送スケジュール-------------*/
.oaSchedule__list .hide{ display: none;}
.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: 9.4em;
}
.oaSchedule__list__date{
    color: #c11e00;
}
.oaSchedule__list__date span,
.oaSchedule__list .time span{ font-size: 130%;}
.oaSchedule__list__detail .ter{ background-color: #c11e00;}
@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%;}
}

.link_btn.view-all{
    background-color: #b79112;
    cursor: pointer;
}
a.link_btn.view-all::after{
    transform: rotate(90deg);
    transition: 300ms;
    right: 20px;
}
a.link_btn.view-all.open::after{ transform: rotate(270deg);}
.cx_displaydevice .link_btn.view-all:hover{ background-color: #cba015;}

/*-------------スペシャル動画-------------*/
.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;
}

/*-------------データ放送-------------*/
.present__intro{
    display: flex;
    justify-content: space-between;
}
.present__intro__inner{
    /* width: 64%; */
    width: 100%;
}
.present h3{
    background: url("../img/present_game_logo.png") no-repeat center center;
    width: 100%;
    height: 0;
    padding-top: 8%;
    background-size: 42%;
    text-indent: -300%;
    white-space: nowrap;
    overflow: hidden;
    margin-bottom: 0.5em;
    position: relative;
}
@media screen and (max-width: 768px){
    .present h3{
        padding-top: 12%;
        background-size: contain;
    }
}
@media screen and (max-width: 550px){
    .present h3{
        background-position: right;
        padding-top: 14%;
    }
}
.present h3 span{
    display: block;
    background: url("../img/icn_game_shinka.png") no-repeat center center;
    background-size: contain;
    width: 9%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -30%;
    text-indent: -300%;
    white-space: nowrap;
    overflow: hidden;
}
@media screen and (max-width: 768px){
    .present h3 span{
        width: 14%;
        margin-left: -50%;
    }
}
@media screen and (max-width: 550px){
    .present h3 span{
        width: 18%;
        left: 0;
        margin-left: 0;
    }
}
.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;
    padding-bottom: 0.5em;
    text-align: center;
}
.present__intro__inner__cap{
    line-height: 1.8;
}
/* .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__intro__inner__photo{
    /* float: right; */
    margin-left: 0.5em;
    margin-bottom: 0.5em;
    /* width: 46%; */
}

.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: #b79112;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.1em;
    margin-right: 0.4em;
    min-width: 11.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: #00581b;
    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: #007022;
}

@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
    }
}

