@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通ベースラインCSS
===================================================================== */


/* =====================================================================
*    共通・大枠
* =================================================================== */

html {
    font-family: 'Noto Sans JP', "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
    color: #333333;
    font-size: 10px;
    font-size: 3.125vw;
    line-height: 1.5;
}

.gDef-top-banner {
    background-color: #ff0064;
}

.wrapper {
    font-size: 16px;
    background: #FFF;
    overflow: hidden;
}

main section:not(.detail_wrap):not(.week_item_wrap):not(.week_item_wrap) {
    position: relative;
    padding: calc(80 / 750 * 100%) 0 calc(100 / 750 * 100%);
    overflow: hidden;
}

main section:not(.detail_wrap):not(.week_item_wrap)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/common/bg_deco_L_sp.png) repeat-y top center;
    background-size: 100% auto;
    width: calc(84 / 750 * 100%);
    height: 100%;
    margin-top: calc(80 / 750 * 100%);
}

main section:not(.detail_wrap):not(.week_item_wrap)::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/common/bg_deco_R_sp.png) repeat-y top center;
    background-size: 100% auto;
    width: calc(80 / 750 * 100%);
    height: 100%;
    margin-top: calc(194 / 750 * 100%);
}

.inner {
    width: calc(670 / 750 * 100%);
    max-width: 670px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 3;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (min-width:640px) {
    html {
        font-size: 20px;
    }
}

@media screen and (min-width:700px) {
    html {
        font-size: 0.78125vw;
    }
    .wrapper {
        font-size: 18px;
    }
    .inner {
        width: 100%;
        max-width: 1000px;
    }
    main section:not(.detail_wrap):not(.week_item_wrap) {
        padding: calc(80 / 1280 * 100%) 0 calc(100 / 1280 * 100%) !important;
    }
    main section:not(.detail_wrap):not(.week_item_wrap)::before,
    main section:not(.detail_wrap):not(.week_item_wrap)::after {
        display: none;
    }
    main section:not(.detail_wrap):not(.week_item_wrap) .inner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        background: url(../images/common/bg_deco_L_pc.png) repeat-y top center;
        background-size: 100% auto;
        width: calc(260 / 1280 * 100%);
        margin: calc(0 / 1280 * 100%) 0 0 calc(-260 / 1280 * 100%);
        height: 100%;
    }
    main section:not(.detail_wrap):not(.week_item_wrap) .inner::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/common/bg_deco_R_pc.png) repeat-y top center;
        background-size: 100% auto;
        width: calc(276 / 1280 * 100%);
        margin: calc(105 / 1280 * 100%) calc(-276 / 1280 * 100%) 0 0;
        height: 100%;
    }
    .contents_ttl {
        width: calc(500 / 1000 * 100%);
        margin: 0 auto;
    }
    .hover1 {
        position: relative;
        overflow: hidden;
    }
    .hover1::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 0, 100, 0.5);
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s;
        z-index: 3;
        cursor: pointer;
    }
    .hover1:hover::before {
        opacity: 1;
    }
}

@media screen and (min-width:1280px) {
    html {
        font-size: 10px;
    }
    main section:not(.detail_wrap):not(.week_item_wrap) {
        padding: 80px 0 100px !important;
    }
}

@media screen and (max-width:699px) {
    .pc {
        display: none !important;
    }
}

@media screen and (min-width:700px) {
    .sp {
        display: none !important;
    }
}


/* .btn_more */

.btn_more {
    width: calc(600 / 670 * 100%);
    position: relative;
    margin: 7.8125% auto 1.5625%;
}

.btn_more a {
    background-color: #ff0064;
    padding: 8% 0;
    border-radius: 3em;
    width: 100%;
    display: block;
    position: relative;
}

.btn_more a>* {
    position: relative;
}

.btn_more img {
    width: 49%;
    margin: 0 auto;
}

@media screen and (min-width:700px) {
    .btn_more {
        width: calc(380 / 1000 * 100%);
        margin: 3.90625% auto 0.78125%;
    }
    .btn_more a {
        -webkit-transition: .3s ease;
        transition: .3s ease;
        border-radius: 5em;
    }
    .btn_more a::after {
        content: "";
        width: 49%;
        height: 100%;
        display: block;
        background: url(../images/top/btn_more_h.png) no-repeat center;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        -webkit-transition: .3s ease;
        transition: .3s ease;
        opacity: 0;
    }
    .btn_more a:hover {
        background-color: #ffe100;
    }
    .btn_more a:hover img {
        opacity: 0;
    }
    .btn_more a:hover::after {
        opacity: 1;
    }
}


/* =====================================================================
*    #header
* =================================================================== */


/* .chase-top_wrap
---------------------------------------------------------- */

.chase-top_wrap {
    width: 100%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 101;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.chase-top_wrap.fixed {
    position: fixed;
}

@media screen and (min-width:700px) {
    .chase-top_wrap {
        top: auto;
        bottom: 0;
    }
    .chase-top_wrap.fixed {
        position: fixed;
        top: 0;
        bottom: auto;
    }
}


/* .btn_menu */

.chase-top_wrap .btn_menu {
    width: calc(120 / 750 * 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
}

.chase-top_wrap .btn_menu a {
    width: 100%;
    display: block;
}

.chase-top_wrap .btn_menu a::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/common/btn_menu_open.jpg) no-repeat center top;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
}

.chase-top_wrap .btn_menu.active a::after {
    opacity: 1;
}

@media screen and (min-width:700px) {
    .chase-top_wrap .btn_menu {
        display: none;
    }
}


/* .nav */

.chase-top_wrap .nav {
    width: 100%;
    background: url(../images/common/bg_deco.jpg) repeat -202% 7%/95% auto;
    display: none;
    padding: calc(150 / 750 * 100%) calc(40 / 750 * 100%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
}

.chase-top_wrap .nav .sitemenu_list {
    padding: calc(100 / 670 * 100%) calc(70 / 670 * 100%);
    background-color: #ffe100;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    letter-spacing: -.40em;
    border-radius: 2em;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu {
    width: calc(202 / 530 * 100%);
    margin-bottom: calc(72 / 530 * 100%);
    padding-bottom: calc(83 / 530 * 100%);
    position: relative;
    vertical-align: top;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(n+3) {
    padding-bottom: 0;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu.data {
    width: 100%;
    max-width: 640px;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(2n-1)::before {
    content: "";
    width: calc(24 / 202 * 100%);
    padding-top: calc(24 / 202 * 100%);
    display: block;
    background: url(../images/common/icon_shape1.png) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    right: 0;
    margin: 5% -36% 0 auto;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(-n+2)::after {
    content: "";
    width: calc(24 / 202 * 100%);
    padding-top: calc(24 / 202 * 100%);
    display: block;
    background: url(../images/common/icon_shape2.png) no-repeat center;
    background-size: 100% auto;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
}

.chase-top_wrap .nav .sitemenu_list .nav_sns {
    margin-bottom: 0;
}

.nav_sns::before,
.nav_sns::after {
    display: none !important;
}

.nav_sns img {
    width: calc(100 / 202 * 100%);
    margin: 0 auto;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu a {
    width: 100%;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.chase-top_wrap .nav .sitemenu_list .sitemenu.data a {
    padding: calc(20 / 640 * 100%) calc(80 / 640 * 100%);
}

@media screen and (min-width:700px) {
    .chase-top_wrap .nav {
        padding: calc(40 / 1280 * 100%) 0;
        display: block;
        position: relative;
        background: #ffe100;
    }
    .chase-top_wrap .nav::before,
    .chase-top_wrap .nav::after {
        content: '';
        position: absolute;
        background: url(../images/common/bg_line.jpg) repeat-x top left;
        background-size: calc(500 / 1280 * 100%) auto;
        width: 100%;
        padding-top: calc(4 / 1280 * 100%);
    }
    .chase-top_wrap .nav::before {
        bottom: 0;
        left: 0;
    }
    .chase-top_wrap .nav::after {
        top: 0;
        left: 0;
        -webkit-transform: scale(-1, 1);
        transform: scale(-1, 1);
    }
    .chase-top_wrap .nav .sitemenu_list {
        max-width: 1000px;
        padding: 0;
        margin: 0 auto;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu,
    .chase-top_wrap .nav .sitemenu_list .sitemenu.data {
        width: calc(151 / 1000 * 100%);
        margin: 0;
        padding: 0 calc(40 / 1000 * 100%);
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(2n-1)::before {
        width: calc(20 / 231 * 100%);
        padding-top: calc(20 / 231 * 100%);
        margin: auto -6% auto 0;
        bottom: 0;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(-n+2)::after {
        display: none;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(2)::before {
        content: '';
        display: block;
        position: absolute;
        background: url(../images/common/icon_shape2.png) no-repeat center/contain;
        width: calc(20 / 231 * 100%);
        padding-top: calc(20 / 231 * 100%);
        margin: auto -8% auto 0;
        top: 0;
        bottom: 0;
        right: 0;
        left: auto;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu:nth-child(3)::before {
        background: url(../images/common/icon_shape3.png) no-repeat center/contain;
        margin: auto -3% auto 0;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu a,
    .chase-top_wrap .nav .sitemenu_list .sitemenu.data a {
        width: 100%;
        display: block;
        padding: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: url(../images/common/nav_h.png) no-repeat center/contain;
        width: calc(69 / 231 * 100%);
        padding-top: calc(30 / 231 * 100%);
        margin: 0 auto calc(-30 / 231 * 100%);
        opacity: 0;
        -webkit-transition: .3s;
        transition: .3s;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu a:hover::after {
        opacity: 1;
    }
}

@media screen and (min-width:1280px) {
    .chase-top_wrap .nav {
        padding: 40px 0;
    }
    .chase-top_wrap .nav .sitemenu_list .sitemenu a::after {
        margin: 0px auto -35px;
    }
}


/* =====================================================================
*    .subpage #header
* =================================================================== */

.subpage .header {
    position: relative;
}


/* .chase-top_wrap
---------------------------------------------------------- */

.subpage .header .chase-top_wrap {
    background: url(../images/common/bg_deco.jpg) repeat -202% 7%/95% auto;
    height: auto;
}

.subpage .header .chase-top_wrap>*:not(.nav) {
    z-index: 10;
}

.subpage .header .chase-top_wrap .site_ttl {
    width: calc(219 / 750 * 100%);
    position: absolute;
    top: 0;
    left: 0;
    margin: calc(11 / 750 * 100%) 0 0 calc(205 / 750 * 100%);
}

.subpage .header .chase-top_wrap .img_onair {
    width: calc(570 / 750 * 100%);
    padding: calc(49 / 750 * 100%) 0 calc(29 / 750 * 100%);
    margin-left: calc(50 / 750 * 100%);
}

@media screen and (min-width:700px) {
    .subpage .header .mainvisual {}
    .subpage .header .mainvisual::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        background: url(../images/common/bg_submv_L.jpg) repeat-x center right/auto 100%;
        width: calc(50% - 690px);
        height: 100%;
    }
    .subpage .header .mainvisual::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/common/bg_submv_R.jpg) repeat-x center left/auto 100%;
        width: calc(50% - 690px);
        height: 100%;
    }
    .subpage .header .mainvisual .inner {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 100%;
        margin: auto;
        padding: 0;
        max-width: 1280px;
    }
    .subpage .header .mainvisual .inner .site_ttl {
        width: calc(200 / 1280 * 100%);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: calc(10 / 1200 * 100%)auto 0;
        z-index: 3;
    }
    .subpage .header .mainvisual .img_visual {
        position: relative;
        z-index: 2;
        max-width: 1379px;
        margin-left: auto;
        margin-right: auto;
    }
    .subpage .header .mainvisual .img_visual img {}
    .subpage .header .mainvisual .inner .img_onair {
        width: calc(266 / 1280 * 100%);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: calc(152 / 1280 * 100%) auto 0;
        z-index: 1;
    }
    .subpage .header .mainvisual .inner .img_onair::before {
        display: none;
    }
    .subpage .header .mainvisual .inner .img_onair img {
        display: block;
    }
}

@media screen and (min-width:1280px) {
    .subpage .header .mainvisual {}
}

@media screen and (min-width:2000px) {
    .subpage .header .mainvisual {}
}


/* .nav */

.subpage .header .chase-top_wrap .nav {
    position: absolute;
    top: 0;
}

@media screen and (min-width:1280px) {
    .chase-top_wrap .nav {
        /*		padding-top: 110px;*/
    }
}


/* =====================================================================
*    #main
* =================================================================== */

.main {
    display: block;
    position: relative;
}

@media screen and (min-width:700px) {
    .main {
        padding-top: 10.15625%;
    }
}

@media screen and (min-width:1280px) {
    .main {
        padding-top: 114px;
    }
}


/* .sns
---------------------------------------------------------- */

.sns {
    position: relative;
    z-index: 1;
    padding: 3.125% 0;
}

.sns ul {
    text-align: center;
    letter-spacing: -.40em;
}

.sns ul li {
    display: inline-block;
    vertical-align: top;
    /* margin: auto 1.5625%; */
}

@media screen and (min-width:700px) {
    .sns {
        position: absolute;
        top: 0;
        right: 0;
        margin-right: calc(100 / 1000 * 100%);
        margin-left: auto;
        max-width: 510px;
        z-index: 10;
        padding: 1.5% 0;
    }
    .sns ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        text-align: right;
    }
    .sns ul li {
        /* margin: auto 0 auto 1.9608%; */
    }
}

@media screen and (min-width:1280px) {
    .sns {}
}


/* =====================================================================
*    .subpage #main
* =================================================================== */

.subpage .main {
    padding-top: 16%;
    padding-bottom: calc(200 / 750 * 100%);
}

.subpage .main::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(../images/common/bg_deco.jpg) repeat top left/calc(499 / 750 * 100%) auto;
    width: 100%;
    padding-top: calc(177 / 750 * 100%);
}

@media screen and (min-width:700px) {
    .subpage .main {
        padding-top: 10%;
        padding-bottom: calc(230 / 1280 * 100%);
    }
    .subpage .main::before {
        background-size: calc(499 / 1280 * 100%) auto;
        padding-top: calc(120 / 1280 * 100%);
    }
}

@media screen and (min-width:1280px) {
    .subpage .main {
        padding-top: 114px;
        padding-bottom: 230px;
    }
    .subpage .main::before {
        padding-top: 120px;
        background-size: 499px auto;
    }
}


/* .sns
---------------------------------------------------------- */

.subpage .sns {
    padding-top: 3.125%;
}

@media screen and (min-width:700px) {
    .subpage .sns {
        padding: 0.5% 0;
    }
}


/* =====================================================================
*    #pagetop
* =================================================================== */

.pagetop_area {
    width: 100%;
    position: relative;
    z-index: 100;
}

.pagetop_area a {
    width: calc(200 / 750 * 100%);
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: -13% auto 0;
    z-index: 1;
}

.pagetop_area a img {
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (min-width:700px) {
    .pagetop_area a {
        left: auto;
        width: calc(150 / 1200 * 100%);
        margin: -6% 3% 0 0;
    }
    .pagetop_area a img {
        -webkit-transition: .5s;
        transition: .5s;
        -webkit-transform: rotateZ(0deg);
        transform: rotateZ(0deg);
    }
    .pagetop_area a:hover img {
        -webkit-transform: rotateZ(360deg);
        transform: rotateZ(360deg);
    }
}

@media screen and (min-width:1280px) {
    .pagetop_area a {
        width: 150px;
        margin-top: -70px;
    }
}


/* =====================================================================
*    #footer
* =================================================================== */

.footer {
    width: 100%;
    color: #ffe100;
    text-align: center;
    background-color: #ff0064;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    padding: calc(136 / 750 * 100%) 0 calc(30 / 750 * 100%);
}

.footer small {
    font-size: 0.9rem;
}

@media screen and (min-width:700px) {
    .footer {
        font-size: 1.4rem;
        line-height: 1.4286em;
        padding: calc(70 / 1280 * 100%) 0;
    }
}

@media screen and (min-width:1280px) {
    .footer {
        padding: 70px;
    }
}