/*============================
メインビジュアルエリア
============================*/
.main {
    position: relative;
    background: url('../img/sp/top_main_bg_sp.png') no-repeat right 0/100%;
    height: 2000px;
}
.main_logo {
    position: absolute;
    left: 0;
    right: 0;
    top: 560px;
    margin: 0 auto;
    width: 525px;
}

/*============================
ストアバナー
============================*/
.appbanner_area {
    width: 738px;
    position: absolute;
    top: 1070px;
    left: 0;
    right: 0;
    font-size: 10px;
    margin: 0 auto;
}
.appbanner_ul {
    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;
    background-image: url(../img/hr.png),
        url(../img/hr.png);
    background-repeat: no-repeat,
        no-repeat;
    background-position: center top,
        center bottom;
    background-size: 738px, 738px;
    margin-bottom: 20px;
}
.appbanner_li {
    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;
    padding: 20px 10px;
    width: 296px;
}
img.app_ios {
    width: 230px;
}
img.app_android {
    width: 290px;
}
.appbanner_li:hover {
    opacity: .8;
}
.appbanner_txt {
    padding-left: 1em;
    text-indent: -1em;
    font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
    text-align: center;
}
.main_bnr {
    position: absolute;
    top: 1420px;
    left: 0;
    right: 0;
    text-align: center;
}
.main_bnr2 {
    position: absolute;
    top: 1270px;
    left: 0;
    right: 0;
    text-align: center;
}
.catch {
    position: absolute;
    right: 0;
    top: 0;
}
.sumakoma {
    position: absolute;
    top: 340px;
    left: 0;
}
.trailer {
    position: absolute;
    top: 520px;
    left: 20px;
    z-index: 10;
}

/*============================
#twitter.twitter_area
============================*/
.twitter_area {
    position: absolute;
    top: 1600px;
    -webkit-box-shadow: 0px 0px 30px 10px #eee;
    box-shadow: 0px 0px 30px 10px #eee;
    border-radius: 0px 0px 0px 0px;
    border: 1px solid #eee;
    width: 82%;
    height: 280px;
    padding: 5px 20px 0;
    background-color: rgba(255, 255, 255, 0.6);
    left: 0;
    right: 0;
    margin: 0 auto 20px;
}
.twitter_ttl {
    text-align: center;
    margin: 0 auto;
    line-height: 1;
}
.tw {
    height: 220px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    margin: 10px 0;
}
.twitter-timeline {}

/*============================
#about.about
============================*/
.about {
    position: relative;
    background: url('../img/top_bg_txt-about.png') no-repeat right 0/94px auto;
    padding-top: 50px;
}
.about_inner {
    width: 656px;
    margin: 0 auto 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.about_slide {
    position: relative;
}
.about_slide_inner {
    position: relative;
    width: 216px;
    height: 374px;
}
.about_slide_item {
    position: absolute;
    left: 0;
    top: 0;
}
.about_slide_pager {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.about_slide_pager_item {
    font-size: 16px;
}
#contents .gif-img img {
    max-width: none;
    width: 100%;
}
.tmb-video {
    max-width: none;
    width: 100%;
}
.inline-modal {
    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;
    width: auto;
    margin: auto;
    position: relative;
}
.mfp-close-btn-in .mfp-close {
    color: #fff;
    opacity: 1;
    font-size: 44px;
    top: -44px;
    right: 0;
}
img.mfp-img {
    padding: 0;
}
.modal-mov {
    width: 600px;
}
.mfp-figure::after {
    content: none;
}

/*============================
#story.story
============================*/
#story.story {}

/*============================
#cahra.chara
============================*/
.bxslider {
    display: none;
}
.chara {
    background: url('../img/top_bg_txt-chara.png') no-repeat right 0/554px auto;
    padding: 80px 0 120px;
}
.chara_inner {
    position: relative;
    width: 750px;
    height: 624px;
    margin: 0 auto;
}
.chara_slide_item {
    position: relative;
}
.chara_voice {
    position: absolute;
    right: 72px;
    width: 240px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.chara_voice.lucia {
    bottom: 190px;
}
.chara_voice.sharon {
    bottom: 190px;
}
.chara_voice.dolgos {
    bottom: 210px;
}
.chara_voice.la-merza {
    bottom: 210px;
}
.chara_voice.poron {
    bottom: 270px;
}
.chara_voice.kamen {
    bottom: 330px;
}
.btn-item.voice {
    cursor: pointer;
}

/*============================
キャラクターナビ
============================*/
.chara_nav {
    opacity: 0;
    -webkit-transition: .5s;
    transition: .5s;
    position: absolute;
    right: 72px;
    bottom: 0;
    width: 240px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.chara_nav_item {
    position: relative;
    margin-bottom: 15px;
}
.chara_nav_item a {
    width: 100%;
    height: 100%;
    display: inline-block;
}
.chara_nav_item a.active::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 2px solid #4c92ff;
    border-radius: 36px;
}
.chara_nav_item:nth-child(3n - 1) {
    margin: 0 15px 15px;
}
.skill_link {
    position: absolute;
    bottom: -40px;
    right: 120px;
}
.skill_link:hover {
    opacity: .8;
}
.bx-controls {
    display: none;
}

/*============================
bxsliderスタイル 上書き
============================*/
/* アバウトスライダー */
.custom-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.custom-prev,
.custom-next {
    font-size: 20px;
}
.about_slide .bx-wrapper {
    position: relative;
    margin-bottom: 0;
    padding: 0;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: transparent;
}

/* キャラクタースライダー */
.chara_inner .bx-wrapper {
    position: relative;
    margin-bottom: 0;
    padding: 0;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: transparent;
}
.chara_inner .bx-wrapper .bx-next {
    right: -100px;
    background: url('../img/arrw_r.png') no-repeat 0 0/38px auto;
}
.chara_inner .bx-wrapper .bx-prev {
    left: -100px;
    background: url('../img/arrw_l.png') no-repeat 0 0/38px auto;
}
.chara_inner .bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: calc(50% - 54px);
    margin-top: 0;
    outline: 0;
    width: 38px;
    height: 109px;
    text-indent: -9999px;
    z-index: 9999;
}
.chara_inner .bx-wrapper .bx-next:focus,
.bx-wrapper .bx-next:hover {
    background-position: 0 0;
}