@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通ベースラインCSS
===================================================================== */


/* =====================================================================
*    共通・大枠
* =================================================================== */

html {
    font-family: "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
    font-size: 10px;
    line-height: 1.4;
    color: #414141;
}

.gDef-contents {
    font-size: 16px;
}

.wrapper {
    width: 100%;
    overflow: hidden;
    background: url(../images/common/bg_tile.jpg) repeat center top;
    background-size: 52px auto;
}

.subpage.wrapper {
    position: relative;
    padding-top: 80px;
}

@media screen and (min-width:700px) {
    .gDef-contents {
        font-size: 18px;
    }
    .wrapper {
        position: relative;
        background: url(../images/common/bg_tile.jpg) repeat center top;
        background-size: 104px auto;
    }
    .subpage.wrapper {
        padding-top: 0;
    }
}

img {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (max-width:699px) {
    .pc {
        display: none !important;
    }
}

@media screen and (min-width:700px) {
    .sp {
        display: none !important;
    }
}


/* =====================================================================
*    .subpage #header
* =================================================================== */

.subpage #header {
    width: 100%;
    height: 85px;
    -webkit-box-shadow: rgba(65, 65, 65, 0.2) 0 2px 1px;
    box-shadow: rgba(65, 65, 65, 0.2) 0 2px 1px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 100;
}

.subpage #header.fixed {
    position: fixed !important;
}

.subpage #header::before {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
    background-color: #e61905;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 13;
}

.subpage #header::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/common/img_line_sp.png) repeat-x center bottom, url(../images/common/bg_header_sp.png) repeat-x center bottom, url(../images/common/bg_header.jpg) repeat center top;
    background-size: auto 23px, 388px auto, 62px auto;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 12;
}

@media screen and (min-width:700px) {
    .subpage #header {
        height: 280px;
        -webkit-box-shadow: rgba(65, 65, 65, 0.2) 0 4px 2px;
        box-shadow: rgba(65, 65, 65, 0.2) 0 4px 2px;
        position: relative;
    }
    .subpage #header.fixed {
        position: relative !important;
    }
    .subpage #header::before {
        display: none;
    }
    .subpage #header::after {
        background: url(../images/common/img_line_pc.png) repeat-x center bottom, url(../images/common/bg_header_pc.png) no-repeat center bottom, url(../images/common/bg_header.jpg) repeat center top;
        background-size: auto 66px, 2000px auto, 124px auto;
    }
}


/* .subpage #header .site_ttl */

.subpage #header .site_ttl {
    width: 75px;
    height: auto;
    position: absolute;
    top: 2px;
    left: 50%;
    z-index: 15;
    margin-left: -109px;
}

@media screen and (min-width:700px) {
    .subpage #header .site_ttl {
        width: 246px;
        top: 18px;
        margin-left: -292px;
    }
}


/* #header .img_onair */

.subpage #header .img_onair {
    width: 175px;
    height: auto;
    position: absolute;
    top: 7px;
    left: 50%;
    z-index: 14;
    margin-left: -70px;
}

@media screen and (min-width:700px) {
    .subpage #header .img_onair {
        width: 406px;
        top: 60px;
        margin-left: -130px;
    }
}


/* #header .btn_nav */

#header .btn_nav,
#header .btn_nav span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#header .btn_nav {
    width: 50px;
    height: 50px;
    background-color: #e61905;
    border-radius: 0 0 0 5px;
    -webkit-box-shadow: rgba(65, 65, 65, 0.4) 0 2px 1px;
    box-shadow: rgba(65, 65, 65, 0.4) 0 2px 1px;
    position: absolute;
    top: 2px;
    right: 0;
    z-index: 16;
}

#header .btn_nav span {
    width: 26px;
    height: 4px;
    position: absolute;
    left: 12px;
    background-color: #FFF;
    border-radius: 2px;
}

#header .btn_nav span:nth-of-type(1) {
    top: 14px;
}

#header .btn_nav span:nth-of-type(2) {
    top: 23px;
}

#header .btn_nav span:nth-of-type(3) {
    top: 32px;
}

#header .btn_nav.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}

#header .btn_nav.active span:nth-of-type(2) {
    opacity: 0;
}

#header .btn_nav.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}


/* #header #nav */

#header #nav {
    width: 100%;
    background: url(../images/common/bg_nav_sp.jpg) repeat center top;
    background-size: 1px auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: rgba(65, 65, 65, 0.2) 0 2px 1px;
    box-shadow: rgba(65, 65, 65, 0.2) 0 2px 1px;
    position: relative;
    z-index: 10;
    padding-top: 85px;
    display: none;
}

#header #nav .menu_list {
    text-align: center;
    letter-spacing: -.40em;
    padding-bottom: 43px;
}

#header #nav .menu_list::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/common/img_line_sp.png) repeat-x center bottom;
    background-size: auto 23px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
}

#header #nav .menu_list li {
    width: 130px;
    display: inline-block;
    border-radius: 10px;
    -webkit-box-shadow: rgba(10, 5, 5, 0.3) 0 3px 4px;
    box-shadow: rgba(10, 5, 5, 0.3) 0 3px 4px;
    position: relative;
    margin-top: 20px;
    margin-left: 10px;
    margin-right: 10px;
    z-index: 11;
}

@media screen and (min-width:700px) {
    #header #nav {
        width: 79.6875%;
        height: 0;
        padding-top: 18.75%;
        background: url(../images/common/bg_nav_pc.png) no-repeat center top;
        background-size: 100% auto;
        -webkit-box-shadow: none;
        box-shadow: none;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin-bottom: -15.15625%;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
    #header #nav .menu_list {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        padding-bottom: 0;
        margin-top: 8.8236%;
        margin-left: auto;
        margin-right: auto;
    }
    #header #nav .menu_list::after {
        display: none;
    }
    #header #nav .menu_list li {
        width: 23.7255%;
        height: 0;
        padding-top: 10.5883%;
        position: relative;
        border-radius: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        margin-top: 1.5687%;
        margin-left: 0.2942%;
        margin-right: 0.2942%;
    }
    #header #nav .menu_list li a {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }
    #header #nav .menu_list li a::before {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
    }
    #header #nav .menu_list li a::after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
    }
    #header #nav .menu_list li a:hover::after {
        opacity: 1;
    }
    #header #nav .menu_list li a img {
        display: none;
    }
    #header #nav .menu_list li.cast a::before {
        background: url(../images/common/btn_nav_cast_pc_off.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.cast a::after {
        background: url(../images/common/btn_nav_cast_pc_on.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.onair a::before {
        background: url(../images/common/btn_nav_onair_pc_off.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.onair a::after {
        background: url(../images/common/btn_nav_onair_pc_on.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.corner a::before {
        background: url(../images/common/btn_nav_corner_pc_off.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.corner a::after {
        background: url(../images/common/btn_nav_corner_pc_on.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.recruitment a::before {
        background: url(../images/common/btn_nav_recruitment_pc_off.jpg) no-repeat center top;
        background-size: 100% auto;
    }
    #header #nav .menu_list li.recruitment a::after {
        background: url(../images/common/btn_nav_recruitment_pc_on.jpg) no-repeat center top;
        background-size: 100% auto;
    }
}

@media screen and (min-width:1280px) {
    #header #nav {
        width: 1020px;
        padding-top: 240px;
        margin-bottom: -194px;
    }
}


/* =====================================================================
*    .subpage .sns
* =================================================================== */

.subpage .sns {
    width: 100%;
    position: relative;
    z-index: 1;
    padding-top: 10px;
}

.subpage .sns ul {
    letter-spacing: -.40em;
    text-align: center;
}

.subpage .sns ul li {
    display: inline-block;
    vertical-align: top;
    padding-left: 5px;
    padding-right: 5px;
}

@media screen and (min-width:700px) {
    .subpage .sns {
        max-width: 1280px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: auto;
        margin-right: auto;
    }
    .subpage .sns ul {
        text-align: right;
        padding-top: 15px;
        padding-right: 10.15625%;
    }
    .subpage .sns ul li {
        padding-left: 10px;
    }
}


/* =====================================================================
*    #main
* =================================================================== */

#main {
    display: block;
    background: url(../images/common/bg_bottom_sp.png) no-repeat center bottom;
    background-size: 320px auto;
    position: relative;
    padding-top: 15px;
    padding-bottom: 90px;
}

#main>* {
    position: relative;
    z-index: 11;
}

@media screen and (min-width:700px) {
    #main {
        background: url(../images/common/bg_bottom_pc.png) no-repeat center bottom;
        background-size: 110.9375% auto;
        margin-top: 17.1875%;
        padding-top: 1px;
        padding-bottom: 150px;
    }
    #main::before {
        content: "";
        width: 125%;
        height: 100%;
        display: block;
        background: url(../images/common/bg_top_pc.png) no-repeat center top;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        left: 50%;
        margin-top: -6.71875%;
        margin-left: -62.5%;
        z-index: 10;
    }
}

@media screen and (min-width:1280px) {
    #main {
        background: url(../images/common/bg_bottom_pc.png) no-repeat center bottom;
        background-size: 1420px auto;
        margin-top: 220px;
    }
    #main::before {
        width: 1600px;
        margin-top: -86px;
        margin-left: -800px;
    }
}


/* .subpage #main .page_ttl */

.subpage #main .page_ttl {
    width: 62.8125%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

@media screen and (min-width:700px) {
    .subpage #main .page_ttl {
        width: 402px;
        margin-bottom: 40px;
    }
}


/* .subpage #main .inner */

.subpage #main .inner {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}


/* 共通ボタン */

.subpage #main .inner .btn {}

@media screen and (min-width:700px) {
    .subpage #main h1 {}
    .subpage #main .inner {}
    .subpage #main .inner .btn {}
}


/* =====================================================================
*    共通：PAGETOPボタン
* =================================================================== */

#pagetop_area {
    width: 100%;
    position: relative;
    z-index: 2;
}

#pagetop_area a {
    width: 89px;
    height: 89px;
    display: block;
    border-radius: 9999px;
    -webkit-box-shadow: rgba(65, 65, 65, 0.4) 0 3px 6px;
    box-shadow: rgba(65, 65, 65, 0.4) 0 3px 6px;
    position: absolute;
    top: -57px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width:700px) {
    #pagetop_area a {
        width: 178px;
        height: 178px;
        -webkit-box-shadow: rgba(65, 65, 65, 0.4) 0 6px 12px;
        box-shadow: rgba(65, 65, 65, 0.4) 0 6px 12px;
        top: -126px;
    }
    #pagetop_area a::after {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background: url(../images/common/btn_pagetop_on.png) no-repeat center top;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        -webkit-transition: opacity 0.1s ease;
        transition: opacity 0.1s ease;
    }
    #pagetop_area a:hover::after {
        opacity: 1;
    }
}


/* =====================================================================
*    共通：シェアボタン
* =================================================================== */

#sns-share_area {
    background-color: #e2007d;
    position: relative;
}

#sns-share_area h1 {}

#sns-share_area ul {
    text-align: center;
    letter-spacing: -.40em;
}

#sns-share_area ul li {
    display: inline-block;
}

@media screen and (min-width:700px) {
    #sns-share_area {}
    #sns-share_area h1 {}
    #sns-share_area ul li {}
    #sns-share_area ul li a {
        width: 100%;
        height: 100%;
        display: block;
        position: relative;
    }
}


/* =====================================================================
*    共通：フッター
* =================================================================== */

#footer {
    width: 100%;
    position: relative;
    background: url(../images/common/img_line_sp.png) repeat-x center top;
    background-size: auto 23px;
    padding-top: 23px;
}

#footer small {
    font-size: 1.0rem;
    line-height: 1.5em;
    text-align: center;
    color: #45433f;
    display: block;
    background-color: #FFF;
    padding-top: 20px;
    padding-bottom: 20px;
}

@media screen and (min-width:700px) {
    #footer {
        background: url(../images/common/img_line_pc.png) repeat-x center top;
        background-size: auto 66px;
        padding-top: 66px;
    }
    #footer small {
        font-size: 1.4rem;
        line-height: 1.45em;
        padding-top: 20px;
        padding-bottom: 30px;
    }
}


/* =====================================================================
*    共通：brightcovePOPUP
* =================================================================== */

.bc_wrapper {
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
    display: none;
    cursor: pointer;
}

.bc_wrapper .return_box {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.bc_wrapper .bc_movie_wrap {
    width: 100%;
    max-width: 700px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

.bc_wrapper .bc_movie_wrap .bc_movie {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    border-radius: 5px;
}

.bc_wrapper .bc_movie_wrap .bc_movie video {
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
}

.bc_wrapper .btn_close {
    width: 150px;
    height: 40px;
    background-color: #000;
    border-radius: 20px;
    position: relative;
    margin-top: 2%;
    margin-left: auto;
    margin-right: auto;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
}

.bc_wrapper .btn_close img {
    width: 60px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.bc_wrapper .btn_close:hover {
    background-color: #e2007d;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
}