/* ==========================================================================
reset
========================================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
main, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

ul, ol {
    list-style: none;
}

blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
    font: inherit;
}

img {
    vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

/* ==========================================================================
base
========================================================================== */
html,
body {
    height: 100%;
}

body {
    color: #fff;
    background: #000;
    font-family: Arial, 'Hiragino Kaku Gothic ProN', 'YuGothic', 'Meiryo', sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
body#modal {
    background: none;
}
body.is-modal-open {
    height: 100%;
    overflow: hidden;
}

a {
    color: #fff;
}

/* ==========================================================================
#container
========================================================================== */
#container {
    width: 1000px;
    height: 740px;
    overflow: hidden;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 50px 0;
    margin: -370px 0 0 -500px;
}

#container--visual {
    width: 100%;
    height: 100%;
    position: relative;
}

#container--trailer {
    width: 840px;
    height: 473px;
    overflow: hidden;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -236px 0 0 -420px;
}

#container--comment {
    width: 840px;
    margin: 0 auto;
    padding: 50px 0;
}

/* ==========================================================================
header
========================================================================== */
/* ==========================================================================
nav
========================================================================== */
#nav {
    *zoom: 1;
    margin: 40px 0 0 0;
}
#nav:after {
    content: "";
    display: table;
    clear: both;
}

/* ==========================================================================
content
========================================================================== */
/* ==========================================================================
footer
========================================================================== */
#footer {
    text-align: center;
}

/* ==========================================================================
header
========================================================================== */
/* header__logo
----------------------------------------------------------------------------- */
.header__logo {
    text-align: center;
}

/* header__schedule
----------------------------------------------------------------------------- */
.header__schedule {
    margin: 35px 0 0 0;
    text-align: center;
}

/* ==========================================================================
nav
========================================================================== */
/* nav--global
----------------------------------------------------------------------------- */
.nav--global {
    position: relative;
    float: left;
    left: 50%;
    text-align: center;
}
.nav--global .item {
    position: relative;
    float: left;
    left: -50%;
}
.nav--global .item + .item {
    margin: 0 0 0 10px;
}
.nav--global .item a {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    display: block;
    box-sizing: border-box;
    width: 260px;
    padding: 13px 0;
    border: solid 2px #fff;
    outline: none;
}
.nav--global .item a:hover, .nav--global .item a:active {
    opacity: 0.5;
}
.nav--global .item a:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 9px;
    height: 16px;
    margin: -8px 0 0 0;
    content: '';
    /*background: url(../img/common/arw_right.png) no-repeat center center;*/
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
}
.nav--global .item a:hover:after {
    right: 10px;
}

/* ==========================================================================
footer
========================================================================== */
/* footer__bnr
----------------------------------------------------------------------------- */
.footer__bnr {
    margin: 50px 0 0 0;
}

/* footer__copyright
----------------------------------------------------------------------------- */
.footer__copyright {
    margin: 30px 0 0 0;
    font-size: 10px;
}

/* ==========================================================================
content
========================================================================== */
/* margin
----------------------------------------------------------------------------- */
.mt0 {
    margin-top: 0    !important;
}

.mt5 {
    margin-top: 5px  !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mt65 {
    margin-top: 65px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.mt75 {
    margin-top: 75px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mt85 {
    margin-top: 85px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mt95 {
    margin-top: 95px !important;
}

/* ==========================================================================
top
========================================================================== */
/* txt
----------------------------------------------------------------------------- */
.txt--cast {
    margin: 50px 0 0 0;
    text-align: center;
}

.txt--staff {
    margin: 30px 0 0 0;
    text-align: center;
}

/* ==========================================================================
visual
========================================================================== */
.visual__section {
    width: 100%;
    height: 100%;
}

.visual__img {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 0 90px 0;
    text-align: center;
}
.visual__img img {
    height: 100%;
}

.visual__btn {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
}

.visual__btn__inner {
    position: relative;
    float: left;
    left: 50%;
    text-align: center;
}
.visual__btn__inner .item {
    box-sizing: border-box;
    position: relative;
    float: left;
    left: -50%;
    width: 300px;
    padding: 13px 0;
    border: solid 2px #fff;
    opacity: 0.5;
    cursor: pointer;
}
.visual__btn__inner .item + .item {
    margin: 0 0 0 20px;
}
.visual__btn__inner .item:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 9px;
    height: 16px;
    margin: -8px 0 0 0;
    content: '';
    background: url(../img/common/arw_right.png) no-repeat center center;
    -webkit-transition-property: right;
    transition-property: right;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
}
.visual__btn__inner .item:hover:after {
    right: 10px;
}
.visual__btn__inner .item.is-active {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    opacity: 1;
}
.visual__btn__inner .item.is-active:hover, .visual__btn__inner .item.is-active:active {
    opacity: 0.5;
}

/* ==========================================================================
comment
========================================================================== */
.comment__logo {
    margin: 0 0 0 15px;
}

.comment__ttl {
    margin: 20px 0 0 0;
}

.comment__section {
    margin: 20px 0 0 0;
}

.comment__item {
    *zoom: 1;
}
.comment__item:after {
    content: "";
    display: table;
    clear: both;
}
.comment__item + .comment__item {
    margin: 30px 0 0 0;
    padding: 30px 0 0 0;
    border-top: solid 1px #333;
}
.comment__item .item__img {
    float: left;
    margin: 0 20px 0 0;
}
.comment__item .item__txt {
    overflow: hidden;
}
.comment__item .item__txt .ttl {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
}
.comment__item .item__txt .ttl span {
    font-size: 18px;
}
.comment__item .item__txt .ttl .txt--notes {
    margin: 0 0 0 15px;
    font-size: 12px;
    font-weight: normal;
}
.comment__item .item__txt .txt {
    margin: 15px 0 0 0;
    color: #ccc;
    font-size: 16px;
}
.comment__item .item__txt .txt--sign {
    text-align: right;
}

/* ==========================================================================
library
========================================================================== */
/*
Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
    max-width: none;
}

#cboxOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
    clear: left;
}

#cboxContent {
    position: relative;
}

#cboxLoadedContent {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#cboxTitle {
    margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
    cursor: pointer;
}

.cboxPhoto {
    float: left;
    margin: auto;
    border: 0;
    display: block;
    max-width: none;
    -ms-interpolation-mode: bicubic;
}

.cboxIframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    padding: 0;
    margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

/*
User Style:
Change the following styles to modify the appearance of Colorbox.  They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
    background: #000;
    opacity: 0.9;
    filter: alpha(opacity=90);
}

#colorbox {
    outline: 0;
}

#cboxContent {
    overflow: visible;
}

#cboxError {
    padding: 50px;
}

#cboxLoadingGraphic {
    background: url(images/loading.gif) no-repeat center center;
}

#cboxLoadingOverlay {
    background: #000;
}

#cboxTitle {
    position: absolute;
    top: -22px;
    left: 0;
    color: #fff;
}

#cboxCurrent {
    position: absolute;
    top: -22px;
    right: 205px;
    text-indent: -9999px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxClose {
    position: absolute;
    top: -38px;
    right: 40px;
    width: 38px;
    height: 38px;
    border: none;
    background: url(../img/common/btn_close_modal.png) no-repeat center center;
    outline: 0;
    text-indent: -9999px;
    -webkit-transition-property: top;
    transition-property: top;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
}

.is-modal-complete #cboxClose {
    top: 20px;
}
