html {
    font-size: 625%;
    margin: 0;
    padding: 0;
    border: 0;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic ProN", 'ヒラギノ角ゴ ProN W3', 'Meiryo UI', Meiryo, sans-serif;
    font-size: 0.26rem;
    line-height: 1.6;
    letter-spacing: 0.01rem;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    -webkit-text-size-adjust: 100%;
}

/* base style */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
    margin: 0;
}
#contents img {
    max-width: 100%;
    height: auto;
}
.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 0.05rem !important;}
.mb10 {margin-bottom: .1rem !important;}
.mb15 {margin-bottom: .15rem !important;}
.mb20 {margin-bottom: .2rem !important;}
.mb25 {margin-bottom: .25rem !important;}
.mb30 {margin-bottom: .3rem !important;}
.mb35 {margin-bottom: .35rem !important;}
.mb40 {margin-bottom: .4rem !important;}
.mb45 {margin-bottom: .45rem !important;}
.mb50 {margin-bottom: .5rem !important;}
.mb60 {margin-bottom: .6rem !important;}
.mb70 {margin-bottom: .7rem !important;}
.mb80 {margin-bottom: .8rem !important;}
.mb90 {margin-bottom: .9rem !important;}
.mb100 {margin-bottom: 1.00rem !important;}
.mb110 {margin-bottom: 1.10rem !important;}
.mb120 {margin-bottom: 1.20rem !important;}
.mb130 {margin-bottom: 1.30rem !important;}
.mb140 {margin-bottom: 1.40rem !important;}
.mb150 {margin-bottom: 1.50rem !important;}
.taC {
    text-align: center;
}
.taL {
    text-align: left;
}
ul,
ol,
dl,
dt,
dd {
    list-style: none;
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}
button:focus {
    outline: none;
    outline: none -webkit-focus-ring-color;
}

@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .selector {
        property: value;
    }
    /* IE向けのCSS～START */
    .tab_btn a,
    .tab_btn span {
        line-height: .68rem;
        padding-top: 6px;
    }
    /* IE向けのCSS～END */
}






/*============================
共通レイアウト
============================*/
#contents {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    position: relative;
}
article {
    position: relative;
}
.inner-wrap {
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}
.contents-header {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
}

/*============================
グローバルナビ
============================*/
.g-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.g-nav_item a:hover img {
    border-bottom: 2px solid #333;
}
.g-nav_item a {
    display: inline-block;
    padding: 21px;
    position: relative;
}
.g-nav_item .soon {
    display: inline-block;
    padding: 21px;
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}
.g-nav_item img {}
.js-navbtn {
    display: none;
}

/*============================
フッターのスペック
============================*/
.detail_container {
    font-size: .12rem;
    height: .46rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.detail_container dt {
    margin-right: .05rem;
}
.detail_container dd {
    font-weight: bold;
    margin-right: .15rem;
}
.pre-regi {
    position: fixed;
    bottom: 0;
    left: auto;
    z-index: 40;
}

/*============================
topへ戻るボタン
============================*/
.top_btn {
    position: fixed;
    bottom: 220px;
    right: 20px;
    z-index: 2;
    opacity: .8;
}

.top_footer_guide {
    background-color: #eee;
    padding: 8px;
    margin-top: 12px;
    text-align: center;
    font-size: 12px;
    font-family: sans-serif;
}

/* ==========================================================================================
 ____  ____   ===============================================================================
/ ___||  _ \  ===============================================================================
\___ \| |_) | ===============================================================================
 ___) |  __/  ===============================================================================
|____/|_|     ===============================================================================
========================================================================================== */
@media screen and (max-width: 750px) {
    /*============================
    共通レイアウト
    ============================*/
    #contents {
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    }
    .inner-wrap {
        position: relative;
    }
    .contents-header {}
    /*============================
    グローバルナビ
    ============================*/
    .noscroll {
        height: 100vh;
    }
    .js-navbtn {
        background: url('../img/menu_btn_open.png') no-repeat center center/cover;
        display: inline-block;
        position: fixed;
        top: 90px;
        left: 20px;
        z-index: 21;
        width: 80px;
        height: 80px;
        line-height: 1;
        margin: 0;
        padding: 0;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        -webkit-transition: .5s;
        transition: .5s;
    }
    .js-navbtn.active {
        background-image: url('../img/menu_btn_close.png');
    }
    .gnav-wrap {
        position: fixed;
        background-color: rgba(255, 255, 255, 0.95);
        -webkit-box-shadow: 5px 0 20px rgba(0, 0, 0, .5);
        box-shadow: 5px 0 20px rgba(0, 0, 0, .5);
        width: 282px;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 20;
        padding: 0;
        overflow: scroll;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-transform: translateX(-282px);
        transform: translateX(-282px);
        opacity: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .gnav-wrap.open {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -webkit-transform: translateY(0);
        transform: translateY(0);
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    #close.overlay {}
    .g-nav {
        display: block;
        text-align: center;
        width: 100%;
    }
    .g-nav_item {
        height: 60px;
    }
    .g-nav_item:hover {
        background: -webkit-gradient(linear, left top, right top, from(rgba(0, 64, 255, 1)), to(rgba(82, 151, 255, 1)));
        background: linear-gradient(to right, rgba(0, 64, 255, 1) 0%, rgba(82, 151, 255, 1) 100%);
    }
    .g-nav_item>a {
        background: url('../img/menu_sprite_sp_time-0815.png') no-repeat 0 0;
        background-size: 564px 480px;
        display: inline-block;
        width: 100%;
        height: 100%;
    }
    .g-nav_item img {
        display: none;
    }
    .nav_top>a {
        background-position: 0 0;
    }
    .nav_news>a {
        background-position: 0 -57px;
    }
    .nav_about>a {
        background-position: 0 -115px;
    }
    .nav_story>a {
        background-position: 0 -173px;
    }
    .nav_system>a {
        background-position: 0 -230px;
    }
    .nav_chara>a {
        background-position: 0 -287px;
    }
    .nav_movie>a {
        background-position: 0 -345px;
    }
    .nav_simulator>a {
        background-position: 0 -402px;
    }
    .nav_top>a:hover {
        background-position: -282px 0;
    }
    .nav_news>a:hover {
        background-position: -282px -57px;
    }
    .nav_about>a:hover {
        background-position: -282px -115px;
    }
    .nav_story>a:hover {
        background-position: -282px -173px;
    }
    .nav_system>a:hover {
        background-position: -282px -230px;
    }
    .nav_chara>a:hover {
        background-position: -282px -287px;
    }
    .nav_movie>a:hover {
        background-position: -282px -345px;
    }
    .nav_simulator>a:hover {
        background-position: -282px -402px;
    }
    .soon {
        opacity: 0.3;
        pointer-events: none;
        cursor: default;
    }

    /*============================
    フッターのスペック
    ============================*/
    .detail_container {
        font-size: 17px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 10px;
    }
    .detail_container dt {
        margin-right: 5px;
    }
    .detail_container dd {
        font-weight: bold;
        margin-right: 15px;
    }
    .pre-regi {
        position: fixed;
        bottom: 0;
        left: auto;
        z-index: 19;
    }

    /*============================
    topへ戻るボタン
    ============================*/
    .top_btn {
        position: fixed;
        bottom: 220px;
        right: 20px;
        z-index: 2;
        opacity: .8;
    }

    .top_footer_guide {
        background-color: #eee;
        padding: 8px;
        margin-top: 12px;
        text-align: center;
        font-size: 16px;
        font-family: sans-serif;
    }

    /*============================
    スクエニヘッダー 上書き
    ============================*/
    header#sqexHeader-white_rsp {
        position: relative;
        z-index: 30;
    }
}