@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;/*	outline: 0;*/
}
html {
	font-size: 100%;
	-webkit-text-size-adjust: none;
}
img {
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}
a {
	-webkit-tap-highlight-color: transparent;
}
strong {
	font-weight: bold;
}
ol, ul {
	list-style: none;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a:focus {
	/*\*/
	overflow: hidden;/**/
}
option {
	padding-right: 10px;
}
a {
	outline: none;
	color: #0297dc;
}
a:hover {
	text-decoration: underline;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
a:focus {
	outline: none;
}
fieldset, img {
	border: 0;
}
.guard {
	pointer-events: none;
	cursor: default;
}
.clear {
	clear: both;
	display: block;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	width: 0;
}
.clearfix:after {
	clear: both;
	content: " ";
	display: block;
	font-size: 0;
	height: 0;
	line-height: 0;
	visibility: hidden;
	width: 0;
}
/* Chromeで画像がぼやける現象を回避 */
img{
	-webkit-backface-visibility: hidden;
}
/* ローディング */
.loadingWrap {
	width: 100%;
	height: 100%;
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
.loadingWrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -50px;
	margin-left: -50px;
	width: 100px;
}
/* ラインの最初の色のスタイル */
#line {
    width:100%; /* 横幅100% */
    height:2px;
    margin:40px auto;
    background:#ddd;
	position: absolute;
	top: 50%;
	margin-top: -0px;
}
 
/* ラインのアニメーション時の色と動き */
.fullwidth .expand {
    width:100%;
    height:2px;
    margin:0;
    background:#fc85b4;
    position:absolute;
    -moz-animation:fullexpand 5s ease-out;
    -webkit-animation:fullexpand 5s ease-out;
}
 
 /* キーフレームを使った横幅100%のローディングの始まりと終わりの変化 */
@-moz-keyframes fullexpand {
    0%  { width:0px;}
    100%{ width:100%;} 
}
@-webkit-keyframes fullexpand {
    0%  { width:0px;}
    100%{ width:100%;} 
}
/* ------------------------------
	コンテンツ
------------------------------ */
header, article, aside, section, footer, nav, menu, details, hgroup, summary {
	display: block;
}
html, body {
	width: 100%;
	height: 100%;
	background-color: #fff;
}
.loadingWrap {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
.loadingWrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -32px;
	margin-left: -32px;
}
body {
	font-size: 15px;
	font-family:Arial, Verdana, Roboto, 'Noto Sans Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight: 500;
	line-height: 1.8;
	color: #000;
	letter-spacing: 0.03em;
}
a {
	text-decoration: none;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: none;
	margin: 10px 0;
	padding: 0;
	border-bottom: 1px dashed #675931;
}
p {
	margin-bottom: 20px;
    line-height: 2em;
}
#container {
	width: 100%;
	height: 100%;
}
.contents {
	margin: 0 auto;
	width: 1200px;
	font-weight: 500;
	padding: 100px 0 0;
}
.column {
	max-width: 900px;
	margin: 0 auto;
}
.p {
	margin-bottom: 20px;
}
.pagettl img {
	height: 40px;
}
.pagettl {
    text-align: center;
    margin-bottom: 60px;
}
/*　イントロダクション -----------------------------------------　*/
#intro {
    position: relative;
    display: table;
    margin-bottom: 50px;
}
#intro .pagettl {
    position: absolute;
    top: 100px;
    margin-left: 20px;
}
#intro .boxL {
    width: 70%;
    position:relative;
    overflow: hidden;
    display: table-cell;
    background: #fff url("../images/intro/main.jpg") no-repeat center left fixed;
    background-size: 70% auto;
}
#intro .inner {
    width: 30%;
	padding: 7em 3em 5em;
	padding: 7vw 3vw 5vw;
	box-sizing: border-box;
    display: table-cell;
    vertical-align: top;
}
#intro .inner .ttl {
	text-align: right;
	margin-bottom: 60px;
	margin-right: 1em;
	margin-right: 1vw;
}
#intro .inner .ttl img {
	width: 70px;
}
/*　ドルビーデジタル -----------------------------------------　*/
#dc {
    margin-top: -49px;
    padding-top: 49px;
    padding-bottom: 30px;
    background: #231815 url("../images/characters/bg.png") repeat center top fixed;
    background-size: 10px auto;
    color: #fff;
}
#dc .box {
    position: relative;
    display: table;
    padding-bottom: 3em;
    padding-bottom: 3vw;
    max-width: 1600px;
    margin: 0 auto;
}
#dc .boxR {
    width: 56%;
    position:relative;
    overflow: hidden;
    display: table-cell;
    padding-top: 4em;
    padding-top: 4vw;
}
#dc .inner {
    width: 44%;
	padding: 8em 3em 5em;
	padding: 8vw 3vw 5vw;
	box-sizing: border-box;
    display: table-cell;
    vertical-align: top;
}
#dc .inner .ttl {
	text-align: right;
	margin-bottom: 80px;
	margin-right: 1em;
	margin-right: 1vw;
}
#dc .inner .ttl img {
	width: 70px;
}
#dc .inner .ttl_dc {
    float: left;
	margin-bottom: 80px;
}
#dc .inner .ttl_dc img {
	width: 130px;
}
#dc .cap {
    font-size: 0.8em;
    color: #999;
    line-height: 1.6em;
}
#dc .dc_banner {
    width: 200px;
    display: block;
}
/*　ストーリー -----------------------------------------　*/
#story {
    margin-top: -50px;
    padding-top: 50px;
    padding-bottom: 120px;
    background-color: #fff;
}
#story p {
    padding: 0 1.2em;
}
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 40px);
    transition : all 1000ms;
    }
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }

/* 2つ目の要素に200msのdelayをかける */
.photo02 .fadein:first-child, 
.photo01 .fadein:nth-of-type(2) {
    -moz-transition-delay:400ms;
    -webkit-transition-delay:400ms;
    -o-transition-delay:400ms;
    -ms-transition-delay:400ms;
    }
/* 3つ目の要素に400msのdelayをかける */
.photo02 .fadein:nth-of-type(2),
.photo01 .fadein:nth-of-type(3) {
    -moz-transition-delay:800ms;
    -webkit-transition-delay:800ms;
    -o-transition-delay:800ms;
    -ms-transition-delay:800ms;
    }
.photo02 .fadein:nth-of-type(3) {
    -moz-transition-delay:1200ms;
    -webkit-transition-delay:1200ms;
    -o-transition-delay:1200ms;
    -ms-transition-delay:1200ms;
    }
.photobox {
	/*レスポンシブ高さ調整
	padding-top: 45%;;
	position: relative;
	width: 100%;
	overflow: hidden;*/
}
.photobox .clearfix{
	/*レスポンシブ高さ調整
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;*/
}
#dc .photobox {
    padding-top: 0;
}
#dc .photobox .clearfix {
    position: relative;
    width: auto;
    height: auto;
}
.photo01, .photo02{
	width: 100%;
	display: inline-block;
	float: left;
    padding: 0 0 2em;
    box-sizing: border-box;
}
#dc .photo01, #dc .photo02{
	width: 100%;
	float: none;
    padding: 0 1.2em;
}
.photo01 li, .photo02 li{
	width: 50%;
	float: left;
	vertical-align: top;
    padding: 1.2em;
    box-sizing: border-box;
}
.photo01 li img, .photo02 li img{
	width: 100%;
	vertical-align: top;
}
.photo01 li:first-child, .photo02 li:nth-child(3) {
	width: 100%;
}
/*　キャラクター -----------------------------------------　*/
#characters {
    margin-top: -50px;
    padding-top: 50px;
    padding-bottom: 120px;
    background: #231815 url("../images/characters/bg.png") repeat center top fixed;
    background-size: 10px auto;
}
#characters .contents {
    max-width: 1000px;
}
#characters .chara img {
    max-width: 100%;
    height: auto;
}
/*　キャスト -----------------------------------------　*/
#cast {
    margin-top: -50px;
    padding-top: 150px;
    padding-bottom: 100px;
    background-color: #fff;
    width: 100%;
}
/*　スタッフ -----------------------------------------　*/
#staff {
    margin-top: -50px;
    padding-top: 50px;
    padding-bottom: 200px;
	position: relative;
    width: 100%;
    background: #007c8b url(../images/staff/bg.jpg) no-repeat center bottom fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    color: #fff;
}
#staff .read {
    margin-bottom: 60px;
    margin-bottom: 5vw;
}
.castbox, .staffbox {
    box-sizing: border-box;
	text-align: center;
	width: 100%;
    font-size: 0;
    letter-spacing: -.4em;
    padding: 0 1.5em;
}
#song .castbox {
	padding-bottom: 0;
}
.castbox li {
	display: inline-block;
	width: 25%;
	vertical-align: top;
    font-size: 15px;
    letter-spacing: normal;
    box-sizing: border-box;
    padding: 1.5em;
}
.staffbox li {
	display: inline-block;
	width: 28%;
	vertical-align: top;
    font-size: 15px;
    letter-spacing: normal;
    box-sizing: border-box;
    padding: 1.5em;
}
.castbox li a {
	position: relative;
    display: block;
}
#staff a:hover, 
.castbox li a:hover {
	text-decoration: none;
	color: #00aced;
}
.castbox li .castname {
    font-size: 32px;
    font-size: 2.6vw;
    letter-spacing: 0.1em;
    color: #000;
    line-height: 1.6em;
    margin-top: 0.4em;
    margin-bottom: 0.8em;
}
.castbox li .castname span {
    font-size: 0.3em;
    display: block;
    line-height: 1.2em;
    font-family: 'ZCOOL QingKe HuangYou', cursive;
    letter-spacing: 0.1em;
}
.castbox li p {
	background-color: rgba( 0, 0, 0, 0.7 );
    color: #fff;
    display: block;
	font-family: 'ZCOOL QingKe HuangYou', cursive;
    font-size: 14px;
    font-size: 1vw;
	letter-spacing: 0.1em;
    position: absolute;
    bottom: 0;
	right: 0;
    margin-bottom: 10px;
    padding: 0 5%;
}
#staff .photo img, 
.castbox li img {
	width: 100%;
}
#staff .photo {
	display: block;
	width: 20%;
	margin: -1em auto 4em;
}
#staff .bt_profile {
    background-color: rgba( 0, 0, 0, 1 );
    display: block;
    font-family: 'ZCOOL QingKe HuangYou', cursive;
    font-size: 14px;
    font-size: 1.1vw;
    letter-spacing: 0.1em;
    padding: 0 5px;
    margin: 14px auto;
    width: 90px;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.4em;
    color: #fff;
}
#staff a:hover .bt_profile {
	background-color: #333;
}
/*　クレジット -----------------------------------------　*/
#credit {
    margin-top: -50px;
    padding-top: 50px;
    padding-bottom: 50px;
	position: relative;
    width: 100%;
    background: #007c8b url(../images/staff/bg.jpg) no-repeat center bottom fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    color: #fff;
}
/* ------------------------------
	レスポンシブ
------------------------------ */
.sp {
	display: none;
}
.grid_1 {
	width: 98%;
	margin: 1%;
}
.grid_2 {
	width: 48%;
	margin: 1%;
}
.grid_3 {
	width: 30%;
	margin: 0 1%;
}
.grid_4 {
	width: 22%;
	margin: 0 1%;
}
.L {
	float: left;
}
.R {
	float: right;
}

@media screen and (max-width : 768px) {
.sp {
	display: block;
}
#global-nav ul li.pc, 
.pc {
	visibility: hidden;
	display: none;
}
.grid_1, .grid_2, .grid_3, .grid_4 {
	width: 100%;
	margin: 0;
}
.contents {
    width: 100%;
    padding: 10vw 8vw 0;
    box-sizing: border-box;
}
.pagettl {
    margin-bottom: 10px;
}
.pagettl img {
	height: 26px;
}
/*　イントロダクション -----------------------------------------　*/
#intro {
    display: block;
    margin-bottom: 40px;
    margin-top: 0;
}
#intro .pagettl {
    top: 40px;
    left: 20px;
    margin: auto;
}
#intro .pagettl img {
    height: 20px;
}
#intro .boxL {
    width: 100%;
    display: block;
    background: #fff url("../images/intro/main.jpg") no-repeat center center scroll;
    background-size: 100% auto;
    padding-bottom: 100%;
}
#intro .inner {
    width: 100%;
	padding: 10vw 8vw 0;
    display: block;
}
#intro .inner .ttl {
	text-align: center;
	margin-bottom: 10vw;
	margin-right: 0;
}
#intro .inner .ttl img {
	width: 50px;
}
/*　ドルビーデジタル -----------------------------------------　*/
#dc .box {
    display: block;
    padding: 10vw 6vw;
    margin: 0
}
#dc .boxR {
    display: none;
}
#dc .inner {
    width: 100%;
    display: block;
	padding: 10vw 0;
}
#dc .inner .ttl {
    margin-right: 3vw;
}
#dc .inner p {
    padding-left: 2vw;
    padding-right: 2vw;
}
#dc .inner .ttl img {
	width: 50px;
}
#dc .inner .ttl_dc img {
	width: 80px;
}
#dc .dc_banner {
    margin: 30px auto 0;
}
/*　ストーリー -----------------------------------------　*/
#story {
    padding-bottom: 100px;
}
#story p {
    padding: 0 2vw;
}
#story .contents {
    padding: 10vw 6vw 0;
}
.photobox {
    padding-top: 0;
}
.photobox .clearfix {
    position: relative;
}
.photo01, .photo02 {
    width: 100%;
    float: none;
    padding: 0;
}
.photo01 li, .photo02 li {
    padding: 2vw;
}
#dc .photo01, #dc .photo02 {
    padding: 0;
    margin-bottom: 20px;
}
/*　キャスト -----------------------------------------　*/
#cast {
    padding-top: 50px;
}
#staff, #credit {
    background: #007c8b url(../images/staff/bg.jpg) no-repeat center center repeat;
    -webkit-background-size: 200% auto;
    -moz-background-size: 200% auto;
    -o-background-size: 200% auto;
    background-size: 200% auto;
}
#staff {
    padding-bottom: 50px;
}
#staff .read {
    margin-bottom: 10vw;
}
.castbox, .staffbox {
    padding: 0 2vw;
}
.castbox li {
    width: 50%;
    padding: 2vw;
}
.staffbox li {
    width: 100%;
    padding: 2vw;
}
.castbox li p {
    background-color: rgba( 0, 0, 0, 1 );
    font-size: 3vw;
}
.castbox li .castname {
    font-size: 6vw;
}
#staff .name, #song .name {
    font-size: 6vw;
}
#staff .bt_profile {
    font-size: 3vw;
    padding: 3px 5px;
}
#next .read, #investment .read {
	margin-bottom: 30px;
}
/*　相関図 -----------------------------------------　*/
#characters .contents {
    padding: 10vw 2vw 0;
}
.slider-wrapper {
	width: 100%;
	max-width: 600px;
	height: 900px;
	margin: 0 auto;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.slider-wrapper > * {
	-webkit-transform: translateZ(0px);
    transform: translateZ(0px);
}
.slider-wrapper::-webkit-scrollbar {
 display: none;
 height: 0 !important;
}
.slider {
	width: auto;
}
.unit {
	width: 600px;
	margin: 0;
}
}