@charset "UTF-8";

body{
    background:url("../img/bg-stripe.png");
    -webkit-text-size-adjust: 100%;
    max-width:100%;
}

header {
    position: fixed;
    top:-120px;
    z-index: 1000;
    width: 100%;
    height:40px;
    background:url("../img/bg-check-pink.png");
    color: #fff;
    display: table;
    border-collapse: collapse;
    table-layout: fixed;
    box-shadow: 0 2px 1px rgba(0,0,0,0.5);
    transition-property:top;
    transition-duration:.2s;
}

header.show{
    top:0;
}

header a {
    color: #fff !important;
    text-decoration: none !important;
}

header > h1,
header > div,
header > nav,
header > ul {
    display: table-cell;
    vertical-align: middle;
    padding: 0 16px;
}

header > div{
    width:120px;
    line-height:1;
}

header > ul {
    text-align: right;
}

header > h1 {
    font-size: 1.4rem;
    font-weight:bold;
}

header > h1 > a{
    background:url("../img/logo-min.png") no-repeat 0 0;
    display:block;
    width:180px;
    height:40px;
    text-indent:-999em;
}

header > nav > ul,
header > ul {
    list-style: none;
}

header > nav > ul{
    display:table;
    border-collapse:collapse;
    table-layout:fixed;
    width:100%;
    height:32px;
}

header > nav > ul > li{
    display:table-cell;
    vertical-align:middle;
    text-align:center;
    /*border-right:1px solid rgba(255,255,255,0.25);*/
}

header > nav > ul > li:last-of-type{
    border:0;
}

header > nav > ul > li > a{
    display:block;
    width:100%;
    height:100%;
    line-height:32px;
    border-radius:16px;
    font-weight:bold;
    text-shadow:0 0 2px rgba(0,0,0,0.5);
}

header > nav > ul > li > a:hover{
    transition-duration:.2s;
    /*font-weight:bold;*/
    /*text-decoration:underline !important;*/
    background: rgba(255, 255, 255, 0.25);
}

header > ul > li > a > span {
    display:inline-block;
    text-align:left;
    padding-left:4px;
    transition-duration:.5s;
}

header > ul > li > a:hover > span {
    text-decoration: underline;
}

header > ul > li > a > .icon {
    font-size:2rem;
    top: -2px;
}

header > ul > li > a:hover > .icon {
    transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transition-property:transform;
    transition-duration: .5s;
}

header > ul > li > a:hover > .icon.twitter {
    color: #00aced;
    text-shadow: 1px 1px 1px #fff,
    -1px 1px 1px #fff,
    1px -1px 1px #fff,
    -1px -1px 1px #fff;
}

.container{
    position:relative;
    width:1000px;
    margin:0 auto;
    height:100%;
    /*border:1px solid #000;*/
}

#first-view-container{
    height:800px;
    position:relative;
    margin:0 auto;
    overflow:hidden;
    background:#fff url("../img/bg-check-pink.png");
}

#first-view-container .social-media-share-container{
    position:absolute;
    top:16px;
    left:16px;
    height:20px;
    display: table;
    border-collapse:collapse;
}

#main-visual{
    margin:0 auto;
    height:800px;
    position: relative;
    overflow:hidden;
    text-align:center;
}

#main-visual .logo{
    position:absolute;
    right:16px;
    top:16px;
    z-index:2;
    opacity:0;
}

#main-visual .date{
    position:absolute;
    right:32px;
    bottom:32px;
    z-index:2;
    opacity:0;
}

#main-visual .author{
    position:absolute;
    right:250px;
    top:40px;
    z-index:2;
    opacity:0;
}

#main-visual .catch{
    position:absolute;
    left:32px;
    top:32px;
    z-index:2;
    opacity:0;
}

#main-visual .trial{
    position:absolute;
    right:32px;
    bottom:120px;
    z-index:999;
    opacity:0;
}

#main-visual .trial:hover{
    opacity:0.8 !important;
}


#main-visual .main{
    max-height:760px;
    display:block;
    position:absolute;
    left:52%;
    margin-left:-246px;
    top:800px;
    z-index:1;
}

#main-visual .twitter-container{
    position:absolute;
    left:0;
    bottom:8px;
    width:320px;
    height:200px;
    opacity:0;
    z-index:999;
}

#main-visual .twitter-header{
    width:320px;
    padding:0 8px;
    line-height:20px;
    color:#fff;
    background:#f66;
    font-weight:bold;
    font-size:1.4rem;
    border-radius:5px;
    /*box-shadow:inset 1px 1px 1px rgba(0,0,0,0.25);*/
}

#main-visual .timeline{
    border-radius:0 0 4px 4px !important;
}


img.sub{
    position:absolute;
    right:-88px;
    bottom:0;
}

.no-draggable{
    position:relative;
    width:100%;
    height:100%;
}

.clear-veil{
    display:block;
    background:transparent;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:999;
}

#global-navigation{
    position:relative;
    z-index:999;
    background:#f66;
    width:100%;
    height:48px;
    box-shadow:0 1px 2px rgba(0,0,0,0.25), 0 -1px 2px rgba(0,0,0,0.25);
    /*box-shadow:inset 0 2px 2px rgba(0,0,0,0.25), inset 0 -1px 1px rgba(0,0,0,0.25);*/
}

#global-navigation ul{
    display:table;
    border-collapse:collapse;
    table-layout:fixed;
    width:100%;
}

#global-navigation ul > li{
    display:table-cell;
    vertical-align:middle;
    text-align:center;
    padding:8px 16px;
    /*border-right:1px solid rgba(255,255,255,0.125);*/
}

#global-navigation ul > li:last-of-type{
    border:0;
}

#global-navigation ul > li > a{
    color:#fff;
    display:block;
    width:100%;
    height:100%;
    text-decoration:none;
    font-size:1.6rem;
    font-weight:bold;
    /*text-shadow:0 0 2px rgba(0,0,0,0.5);*/
    border-radius:16px;
    line-height:32px;
    transition-duration:.2s;
    background:#f99;
    box-shadow:inset 1px 1px  1px rgba(0,0,0,0.25);

}

#global-navigation ul > li > a:hover{
    /*font-weight:bold;*/
    background:rgba(255,255,255,0.75);
    color:#f66;
    /*background:#fff;*/
}

#main-contents{
    margin:120px auto 0;
}

/** 見出し */
h2.section-title{
    padding:0;
    width:100%;
    max-width:1024px;
    height:48px;
    text-indent:-9999em;
    margin:0 auto 0;
    position:relative;
    background:url("../img/h2-title.png") no-repeat 0 0;
    z-index:999;
}

h2.section-title.pickup{
    top:-24px;
    background-position:0 0;
}

h2.section-title.story{
    top:-24px;
    background-position:0 -48px;
}

h2.section-title.character{
    top:-24px;
    background-position:0 -96px;
}

h2.section-title.keyword{
    top:-24px;
    background-position:0 -144px;
}

h2.section-title.information{
    top:-24px;
    background-position:0 -192px;
}

#news{
    height: 600px;
}

#news > article{
    margin-top:8px;
    padding:4px;
    height:536px;
    overflow:auto;
}

#news > article > dl > dt{
    width:12rem;
    padding:4px 0 4px 4px;
}

#news > article > dl > dd{
    padding-left:14rem;
    padding-top:4px;
    padding-bottom:4px;
    border-color:#fcc;
}

.news-container{
    display: table;
    border-collapse: collapse;
    table-layout: fixed;
    width:100%;
}

.news-container > .left{
    display:table-cell;
    vertical-align:top;
    width:60%;
    padding-right:8px;
}

.news-container > .right{
    display:table-cell;
    vertical-align:top;
    width:40%;
}

/** ピックアップ */
#pickup{
    background:rgba(255,255,255,0.75);
    /*height:200px;*/
    position:relative;
}

#pickup > div.pickup-text{
    position:relative;
    margin:0 auto;
    width:1024px;
    height:240px;
    background:url("../img/pickup-text.png") no-repeat 32px 48px;
}

#pickup > div.pickup-text > p{
    display:none;
}

#pickup > div.pickup-text > a.cover-illust{
    position: absolute;
    right:0;
    top:-120px;
    width:315px;
    height:408px;
    display:block;
    background:url("../img/cover-illust-button_on.png") no-repeat 0 0;
    z-index:999;
}

#pickup > div.pickup-text > a.cover-illust:hover > img{
    transition-duration:.3s;
    opacity:0;
}

/** ストーリー */
#story{
    /*background:rgba(204,255,204,0.5);*/
}

#story > div{
    width:1024px;
    height:400px;
    margin:0 auto;
    background:url("../img/story.png") no-repeat 0 0;
    background-size: contain;
    position:relative;
    top:-24px;
}

#story > div > p{
    display:none;
}

/** キャラクター */
#character{
    background:rgba(255,255,255,0.75);
    padding-bottom:120px;

}

/** キャラ紹介ナビ */
nav.character-navigation > ul{
    display: table;
    border-collapse: separate;
    border-spacing:8px;
    table-layout: fixed;
    margin:0 auto;
}

nav.character-navigation > ul > li{
    display: table-cell;
    vertical-align: middle;
}

nav.character-navigation > ul > li > a{
    width:64px;
    height:64px;
    display: block;
    text-align:center;
    background:#f99;
    border-radius:50%;
    border:4px solid transparent;
    overflow:hidden;
    transition-duration:.2s;
}

nav.character-navigation > ul > li > a > span{
    display:block;
    width:100%;
    height:100%;
    text-indent:-9999em;
    border-radius:50%;
}

nav.character-navigation > ul > li > a.active,
nav.character-navigation > ul > li > a:hover{
    background:#f66;
}

nav.character-navigation > ul > li > a.thumb-01 > span{
    background:transparent url("../img/chara-01-thumb.png") no-repeat center center;
    background-size: cover;
}

nav.character-navigation > ul > li > a.thumb-02 > span{
    background:transparent url("../img/chara-02-thumb.png") no-repeat center center;
    background-size: cover;
}

nav.character-navigation > ul > li > a.thumb-03 > span{
    background:transparent url("../img/chara-03-thumb.png") no-repeat center center;
    background-size: cover;
}

nav.character-navigation > ul > li > a.thumb-04 > span{
    background:transparent url("../img/chara-04-thumb.png") no-repeat center center;
    background-size: cover;
}

/** キャラスライダー */
.chara-image{
    display:block;
    width:800px;
    height:600px;
    margin:0 auto;
    border-radius:4px;
    /*background:rgba(255,255,255,0.75);*/
    /*border:1px solid #f0f0f0;*/
    /*box-shadow:0 0 2px rgba(0,0,0,0.25);*/
}

.slide-nav-left,
.slide-nav-right{
    display:inline-block;
    /*width:80px;*/
    /*height:80px;*/
    /*line-height:80px;*/
    text-align:center;
    /*background:rgba(255,102,102,0.5);*/
    border-radius:50%;
    color:#f99 !important;
    text-decoration:none !important;
    /*box-shadow:inset 0 0 1px rgba(0,0,0,0.25);*/
}

.slide-nav-left > i.icon,
.slide-nav-right > i.icon{
    font-size:6.4rem;
    position:relative;
    top:-2px;
    text-shadow:1px 1px 1px rgba(0,0,0,0.25);
}

.slide-nav-left > i.icon{
    /*left:-2px;*/
}

.slide-nav-right > i.icon{
    /*right:-2px;*/
}

.slide-nav-left:hover,
.slide-nav-right:hover{
    color:#f66 !important;
}

.slider{
    width:800px;
    height:600px;
    margin:0 auto;
    overflow:hidden;
    white-space: nowrap;
    border-radius:4px;
    /*border:1px solid #f0f0f0;*/
    /*box-shadow:0 0 2px rgba(0,0,0,0.25);*/
    position:relative;
}

.slide-wrapper{
    display:table;
    border-collapse:collapse;
    table-layout:fixed;
    position:absolute;
    top:0;
    left:0;
}

.slide-wrapper > .slide-item{
    display:table-cell;
    vertical-align:middle;
}

/** キーワード */
#keyword{
    position:relative;
    /*background:rgba(204,255,204,0.75);*/
    padding-bottom:64px;
}

#keyword img.keyword{
    display:block;
    margin:0 auto;
}

#keyword dl{
    display:block;
    width:800px;
    height:420px;
    margin:0 auto;
    background:url("../img/keyword.png") no-repeat 0 0;
}

#keyword dl > dt,
#keyword dl > dd{
    display:none;
}

/** 関連情報 */
#information{
    position:relative;
    background:rgba(255,255,255,0.75);
    padding-bottom:32px;
}

#information article{
    display: table;
    border-collapse:collapse;
    width:1024px;
    margin:0 auto;
}

#information article > figure,
#information article > section > div{
    display: table-cell;
    vertical-align:top;
}

#information article > figure{
    padding:0 16px;
}

#information article h4{
    padding:8px;
}

#information article > section > p{
    padding:.5em;
    font-size:1.2em;
    line-height:1.25em;
    letter-spacing:0.25em;
    vertical-align:bottom;
}

#information article > figure > figcaption{
    display:none;
}

.book-thumb{
    border:1px solid #999;
}

.buy-container{
    margin-top:8px;
    text-align:center;
}

.buy-container a{
    height:48px;
    line-height:48px;
    padding:0 16px;
    text-align:center;
    background:#f66;
    color:#fff;
    font-weight:bold;
    text-decoration:none;
    text-shadow:0 0 1px rgba(0,0,0,0.5);
    display:inline-block;
    border-radius:24px;
}

footer{
    padding:16px 0 8px;
    text-align: center;
    /*padding-bottom:8px;*/
    position:relative;
    /*background:url("../img/bg-check-pink.png");*/
    background:#f66;
    color:#fff;
}

footer ul{
    display:inline-table;
    border-collapse:collapse;
    table-layout: fixed;
}

footer ul > li{
    display:table-cell;
    vertical-align:middle;
    padding:0 8px;
}

footer ul > li > a{
    display:block;
    padding:4px 8px;
    background:rgba(255,255,255,0.95);
    box-shadow:inset 0 0 1px rgba(0,0,0,0.25);
    text-align:center;
    border-radius:4px;
}

footer ul > li > a > img{
    vertical-align:top;
}

footer ul > li > a:hover > img{
    opacity:0.75;
}

a[href^="#"]:after,
a[target="_blank"]:before{
    content:'' !important;
}

footer > #copyright{
    font-size:1.2rem;
}

#page-top{
    transition-property:right;
    transition-duration:.2s;
    position:fixed;
    bottom:8px;
    right:-96px;
    display:inline-block;
    color:#f66;
    height:64px;
    width:64px;
    line-height:64px;
    /*padding:12px 8px 4px;*/
    text-align:center;
    text-decoration:none;
    border-radius:50%;
    text-shadow:1px 1px 1px rgba(0,0,0,0.25);
    /*background:rgba(255, 102,102,0.5);*/
    background:rgba(255, 255, 255,0.75);
    /*background:url("../img/bg-check-pink.png");*/
    /*box-shadow:inset 0 0 1px rgba(0,0,0,0.75);*/
    font-size:1rem;
}

#page-top:hover{
    /*opacity:1;*/
    background:#f66;
    color:#fff;
}

#page-top > .icon{
    top:-2px;
    font-size:40px;
}

#page-top > span {
    display: none;
    font-weight:bold;
}

#page-top.show{
    right:8px;
}

.social-media-share-container{
    position:absolute;
    top:24px;
    left:16px;
    height:20px;
    display: table;
    border-collapse:collapse;
}

.social-media-share-container > .column{
    display:table-cell;
    vertical-align:top;
    padding-left:8px;
}

.social-media-share-container > .column:first-of-type{
    padding:0;
}

.fb-like {
    line-height: 1;
}

@media screen and (max-width:1024px){

    header > div{
        display:none;
    }

    .container{
        position:relative;
        width:100%;
        margin:0 auto;
        height:100%;
    }

    #pickup > div.pickup-text{
        position:relative;
        margin:0 auto;
        width:100%;
        height:240px;
        background:url("../img/pickup-text.png") no-repeat 32px 48px;
    }

    #story > div{
        width:100%;
        height:400px;
        margin:0 auto;
        background:url("../img/story.png") no-repeat 0 0;
        background-size: contain;
        position:relative;
        top:-24px;
    }

    #information article{
        display: table;
        border-collapse:collapse;
        width:100%;
        margin:0 auto;
    }
}