@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++

	Teaser CSS

++++++++++++++++++++++++++++++++++++++++ */

body {
	height: 100%;
	min-width: 1000px;
	text-align: center;
	color: #333;
	font-size: 14px;
	line-height: 1.5;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	user-select:none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	user-drag: none;
}

a:link,
a:visited,
a:active,
a:hover { /* FireFox リンク選択時の点線を消す */
	outline: none;
}

a {
	text-decoration: underline;
	color: #c00;
	cursor: pointer;
	transition: .2s;
}
a img,
input[type=submit],
input[type=image] {
	/* transition: .2s; */
}


h1,
p,
a {
	margin: auto;
}

h1 {
	width: 64%;
}
h1 img {
	width: 100%;
	margin-left: 1.5%;
}

.pc {
	display: block;
}
.sp {
	display: none;
}


#fade {
    width: 100%;
    height: 100%;
    background-color: #000;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9998;
}

/*------------- ski icon -------------*/

#loading {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -18px;
	margin-left: -60px;
	color: #fff;
	z-index: 9999;
	font-size: 25px;
	letter-spacing: 2px;
}

#ski {
	position: absolute;
	top: -10%;
	left: -30%;
	width: 9%;
	z-index: 9999;
}
#ski img {
	width: 100%;
}


/* ----------------------------------------
    main
---------------------------------------- */

#main {
	padding-top: 0;
	padding-bottom: 15.5%;
	position: relative;
	background: url(../img/top_bg.jpg) top no-repeat;
	background-size: cover;
}

#copy {
	width: 50%;
	margin-bottom: 12.3%;
}
#copy img {
	width: 100%;
}

#teddy {
	position: absolute;
	top: 21.5%;
	right: 4.5%;
	width: 18%;
}
#teddy a:hover img {
	opacity: 1;
}
#teddy a img {
	width: 100%;
	transition: .2s;
}

#dvd-bluray {
    position: absolute;
    top: 21%;
    left: 8%;
    width: 18%;
}

#staff {
	position: relative;
	padding-top: 4%;
	padding-bottom: 6.5%;
	margin-top: -2.5%;
	background: url(../img/staff_bg.png) top no-repeat;
	background-size: 100%;
}
#staff img {
	width: 72%;
}

#sns {
	margin-top: 20px;
	height: 40px;
}
#sns ul {
	margin: auto;
	width: 237px;
}
li.facebook {
	float: left;
	width: 162px;
}
li.twitter {
	float: left;
	width: 72px;
}
li.line {
	display: none;
}

.fb_iframe_widget span {
	display: inline-block;
	position: relative;
	text-align: justify;
	height: 25px !important;
}

#nav-area {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: 62px;
	padding-bottom: 3px;
	background: url(../img/nav_bg.png) top no-repeat;
}

#nav-area nav {
	margin: auto;
	width: 608px;
	height: 37px;
}
nav > li > a {
	float: left;
	margin-right: 28px;
	background: url(../img/nav.png) top no-repeat;
	text-indent: -10000px;
	transition: none;
}
#nav-area .news a {
	width: 81px;
	height: 37px;
	background-position: 0 0;
}
#nav-area .movie a {
	width: 81px;
	height: 37px;
	background-position: -108px 0;
}
#nav-area .trailer a {
	width: 62px;
	height: 37px;
	background-position: -215px 0;
}
#nav-area .list a {
	width: 120px;
	height: 37px;
	background-position: -303px 0;
}
#nav-area .song a {
	width: 60px;
	height: 37px;
	background-position: -452px 0;
}

#nav-area .tw a {
	float: left;
	margin-right: 0;
	background: none;
	text-indent: 0;
}
#nav-area .tw img {
	position: relative;
	margin-top: -22px;
	z-index: 1;
	transition: .2s;
}

#nav-area .news a:hover {
	width: 81px;
	height: 37px;
	background-position: 0 -37px;
}
#nav-area .movie > a:hover,
#nav-area .movie > a.on {
	width: 81px;
	height: 37px;
	background-position: -108px -37px;
}
#nav-area .trailer a:hover {
	width: 62px;
	height: 37px;
	background-position: -215px -37px;
}
#nav-area .list a:hover {
	width: 120px;
	height: 37px;
	background-position: -303px -37px;
}
#nav-area .song a:hover {
	width: 60px;
	height: 37px;
	background-position: -452px -37px;
}


/*------------- 作品情報 -------------*/ 

#nav-movie {
	display: none;
	position: absolute;
	top: 97px;
	left: 0;
	padding-top: 20px;
	width: 100%;
	height: 42px;
	background: url(../img/nav_movie_bg.jpg) top no-repeat;
}

#nav-movie > ul {
	margin: auto;
	width: 510px;
}

#nav-movie > ul.comingsoon > li {
}

#nav-movie li a {
	float: left;
	margin-right: 13px;
	background: url(../img/nav_movie.png) top no-repeat;
	text-indent: -10000px;
	transition: none;
}
#nav-movie li a:hover {
}
#nav-movie li.intro a,
#nav-movie li.intro a:hover {
	width: 140px;
	height: 21px;
	background-position: 0 0;
}
#nav-movie li.story a,
#nav-movie li.story a:hover {
	width: 86px;
	height: 21px;
	background-position: -153px 0;
}
#nav-movie li.cast a,
#nav-movie li.cast a:hover {
	width: 70px;
	height: 21px;
	background-position: -250px 0;
}
#nav-movie li.staff a,
#nav-movie li.staff a:hover {
	width: 86px;
	height: 21px;
	background-position: -331px 0;
}

.banner {
	display: none;
}


/* ----------------------------------------
	traialer
---------------------------------------- */

#trailer-modal {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
    z-index: 9;
}

#trailer-modal a.btn img {
	position: absolute;
	top: 10px;
	left: 50%;
	opacity: 0.7;
}

#trailer-modal a.movie1 img {
	margin-left: -150px;
}

#trailer-modal a.movie1:hover img,
#trailer-modal a.movie2:hover img,
#trailer-modal a.on img {
	opacity: 1;
}

#yt,
#videoWrap {
	position: absolute;
	top: 50px;
	left: -100%;
	width: 80%;
	z-index: 99;
	height: 0;
	padding-top: 45% !important;
	margin-left: -40%;
	overflow: hidden;
}

#video,
#yt iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

#videoWrap.on,
#yt.on {
	left: 50%;
}

#trailer-modal .close {
	position: absolute;
	top: 15px;
	right: 16px;
	z-index: 99;
}


/* ----------------------------------------
    modal advance
---------------------------------------- */

#advance {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	z-index: 9;
	overflow-y: scroll;
}

.advance-wrap {
	position: absolute;
	top: 13%;
	left: 50%;
	padding: 50px 45px;
	margin-left: -503px;
	width: 910px;
	background: url(../img/modal_header.jpg) top no-repeat #FFFFFF;
	background-size: 100%;
	border: 3px solid #fdee15;
}
.advance-wrap h2 {
	margin: 0 auto 25px;
	width: 363px;
}
.advance-wrap h2 img {
	width: 100%;
}

.advance-wrap .left {
	float: left;
}

.advance-wrap .right {
	float: right;
	width: 455px;
}
.advance-wrap .right p {
	line-height: 1.8;
	text-align: left;
	font-size: 15px;
}

.advance-wrap h3 {
	margin-top: 10px;
	margin-bottom: 15px;
	padding: 15px 20px 12px;
	background: #00a0ac;
	color: #fff;
	text-align: left;
	font-size: 22px;
}

#advance .close {
	position: absolute;
	top: 15%;
	left: 50%;
	margin-left: 430px;
}


/* ----------------------------------------
    modal
---------------------------------------- */

/*------------- modal common -------------*/ 

.modal-wrap {
	position: absolute;
	top: 0;
	left: 0;
	padding: 50px 0 0;
	width: 100%;
	min-height: 100%;
	min-width: 930px;
	background: url(../img/modal_header_full.jpg) top no-repeat #FFFFFF;
	background-size: 100%;
	border: 3px solid #fdee15;
	box-sizing: border-box;
}

.pagetop {
	position: fixed;
	bottom: 22px;
	right: 43px;
	z-index: 99;
}


/*------------- modal news -------------*/ 

#modal-news {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#modal-news h2 {
	margin: 0 auto 25px;
	width: 363px;
}
#modal-news h2 img {
	width: 100%;
}

#modal-news .tumblr {
	margin: auto;
	text-align: left;
	width: 780px;
	font-size: 14px;
}
.tumblr li {
	margin-bottom: 80px;
}

#modal-news .date {
	font-size: 16px;
	font-weight: bold;
}

#modal-news .title {
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: bold;
	color: #00a0ac;
}

.tumblr figure {
	text-align: center;
}

.tumblr p img {
	margin: auto;
	display: block;
}

#modal-news .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}


/*------------- modal intro -------------*/ 

#modal-intro {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#modal-intro h2 {
    margin-top: -23px;
}

#modal-intro h3 {
	text-align: left;
	margin-bottom: 15px;
}

#modal-intro .contents {
	margin: auto;
	width: 930px;
}
#modal-intro .contents p {
	margin: 15px 0;
	font-size: 15px;
	text-align: left;
	line-height: 2;
}

#modal-intro .bg {
	margin-top: -22%;
	padding-top: 56%;
	background: url(../img/intro_bg.jpg) bottom no-repeat;
	background-size: 100%;
}

#modal-intro .intro-image {
	margin: 20px 0;
}
#modal-intro .intro-image img {
	float: left;
}

#modal-intro .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}


/*------------- modal story -------------*/ 

#modal-story {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#modal-story .modal-wrap {
	padding: 0;
	background: #fff;
}

#modal-story .story {
	padding: 1030px 0 0;
	background: url(../img/story.jpg) center top no-repeat;
}

#modal-story h2 {
	position: absolute;
	margin: -5px auto 0;
	width: 100%;
	text-align: left;
	background: url(../img/modal_header_full.png) top no-repeat;
	background-size: 100%;
}
#modal-story h2 img {
	position: relative;
	top: 43px;
	left: 50%;
	margin-left: -460px;
}

#modal-story .contents {
	margin-top: 40px;
	padding-bottom: 120px;
	background: url(../img/modal_footer_full.png) bottom no-repeat;
	background-size: 100%;
}

#modal-story h4 img {
	margin-bottom: 10px;
}

#modal-story dl {
	margin: 15px auto;
	padding: 20px;
	width: 890px;
	border: 2px solid #fdee15;
}
#modal-story dt {
	float: left;
	margin-right: 12px;
	width: 588px;
	text-align: left;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.1px;
}
#modal-story dd {
	float: left;
	margin-bottom: 35px;
}
#modal-story dd:last-child {
	margin-bottom: 0;
}

#modal-story .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}


/*------------- modal cast -------------*/ 

#modal-cast {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#modal-cast .modal-wrap {
	background-color: none;
}

#modal-cast h2 {
	margin-bottom: 15px;
}
#modal-cast h2 img {
	margin-left: -740px;
}

#modal-cast .contents {
	padding-bottom: 40px;
	background: url(../img/cast_bg.jpg) bottom no-repeat;
	background-size: 100%;
}

#diagram {
	position: relative;
	margin: auto;
	width: 930px;
	height: 1274px;
	background: url(../img/diagram.png) no-repeat;
}

#modal-cast h3 {
	margin: 10px auto 0;
	width: 930px;
	text-align: right;
}

#modal-cast .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}


/*------------- modal diagram -------------*/ 

#modal-diagram {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#diagram {
	position: relative;
}

#diagram li {
	cursor: pointer;
}


/* character */

.kuribayashi {
	position: absolute;
	top: 468px;
	left: 210px;
	width: 150px;
	height: 180px;
}
.nezu {
	position: absolute;
	top: 468px;
	left: 520px;
	width: 150px;
	height: 180px;
}
.seri {
	position: absolute;
	top: 778px;
	left: 517px;
	width: 150px;
	height: 180px;
}
.yamano {
	position: absolute;
	top: 112px;
	left: 38px;
	width: 113px;
	height: 134px;
}
.tougou {
	position: absolute;
	top: 394px;
	left: 39px;
	width: 113px;
	height: 134px;
}
.kuzuhara {
	position: absolute;
	top: 619px;
	left: 39px;
	width: 113px;
	height: 134px;
}
.origuchi {
	position: absolute;
	top: 833px;
	left: 69px;
	width: 113px;
	height: 134px;
}
.keisatsu {
	position: absolute;
	top: 1092px;
	left: 69px;
	width: 113px;
	height: 134px;
}
.yamazaki {
	position: absolute;
	top: 90px;
	left: 311px;
	width: 113px;
	height: 134px;
}
.kawabata {
	position: absolute;
	top: 90px;
	left: 555px;
	width: 113px;
	height: 134px;
}
.takano {
	position: absolute;
	top: 87px;
	left: 787px;
	width: 113px;
	height: 134px;
}
.k-hideto {
	position: absolute;
	top: 276px;
	left: 312px;
	width: 113px;
	height: 134px;
}
.t-yuuki {
	position: absolute;
	top: 274px;
	left: 555px;
	width: 113px;
	height: 134px;
}
.t-seiya {
	position: absolute;
	top: 276px;
	left: 787px;
	width: 113px;
	height: 134px;
}
.makita {
	position: absolute;
	top: 510px;
	left: 788px;
	width: 113px;
	height: 134px;
}
.kakari {
	position: absolute;
	top: 706px;
	left: 788px;
	width: 113px;
	height: 134px;
}
.untenshu {
	position: absolute;
	top: 888px;
	left: 788px;
	width: 113px;
	height: 134px;
}
.tenin {
	position: absolute;
	top: 1078px;
	left: 788px;
	width: 113px;
	height: 134px;
}
.front {
	position: absolute;
	top: 1078px;
	left: 555px;
	width: 113px;
	height: 134px;
}
.watanabe {
	position: absolute;
	top: 1078px;
	left: 311px;
	width: 113px;
	height: 134px;
}
.miharu {
	position: absolute;
	top: 949px;
	left: 311px;
	width: 85px;
	height: 85px;
}
.wada {
	position: absolute;
	top: 773px;
	left: 311px;
	width: 113px;
	height: 134px;
}


#modal-diagram,
#modalBg {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
}
#modal-diagram {
	display: none;
}
#modalBg {
	background: url(../img/character_bg.jpg) bottom center no-repeat #fff;
	background-size: 100%;
	border: 3px solid #fdee15;
	box-sizing:border-box;
}
#modalBg:hover {
	opacity: 1;
}

#modalContents,
#modalNum,
.modalClose,
#modalPrev,
#modalNext {
	position: absolute;
	z-index: 100;
}
#modalContents {
	left: 50%;
	top: 50%;
	width: 930px;
	margin: -270px 0 0 -465px;
}

#modalContents .modalSection {
	display: none;
	overflow: hidden;
}

#modalContents .modalSection.on {
	display: block;
}

#modalContents ul {
	position: relative;
	left: 0;
	white-space: nowrap;
	transition: .5s;
}
#modalContents li {
	display: inline-block;
	width: 100%;
	vertical-align: top;
}


.modalClose {
	right: 16px;
	top: 16px;
	width: 52px;
	height: 52px;
	background: url(../img/modal_close_full.png) 50% 50% no-repeat;
}

#modalPrev,
#modalNext {
	top: 50%;
	width: 39px;
	height: 74px;
	margin-top: -37px;
}
#modalPrev {
	left: 50%;
	margin-left: -537px;
	background: url(../img/prev.gif) 0 50% no-repeat;
}
#modalNext {
	right: 50%;
	margin-right: -537px;
	background: url(../img/next.gif) 100% 50% no-repeat;	
}


/*------------- modal staff -------------*/ 

#modal-staff {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	overflow-y: scroll;
}

#modal-staff .modal-wrap {
}

#modal-staff h2 img {
	margin-left: -730px;
}

#modal-staff h3 img {
	margin-bottom: 8px;
}

#modal-staff .contents {
	margin: 25px auto 0;
	width: 930px;
}

#modal-staff ul.first {
	padding-bottom: 470px;
	margin-bottom: 30px;
	position: relative;
	z-index: 2;
	background: url(../img/staff_photo01.jpg) bottom no-repeat;
}

ul.first li {
	float: left;
	margin-right: 30px;
	margin-bottom: 30px;
	width: 450px;
	text-align: left;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 1px;
	word-break: break-all;
}
ul.first li:nth-child(2n) {
	margin-right: 0;
}
ul.first li img {
	float: right;
	margin-left: 10px;
}
ul.first p {
	margin-bottom: 30px;
	font-size: 13px;
	font-weight: normal;
}

ul.second li {
	float: left;
	margin-right: 36px;
	margin-bottom: 30px;
	width: 286px;
	text-align: left;
	font-size: 13px;
	font-weight: normal;
	letter-spacing: 1px;
	word-break: break-all;
}
ul.second li:last-child {
	margin-right: 0;
}
ul.second h3 img {
	margin-bottom: 0;
}

#modal-staff .bg_footer {
	padding-top: 1339px;
	background: url(../img/staff_photo02.jpg) center bottom no-repeat;
	background-size: 930px;
}

#modal-staff .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}



/*------------- modal song -------------*/ 

#modal-song {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fcdf12;
	z-index: 9;
	overflow-y: scroll;
}
#modal-song .modal-wrap {
	padding-bottom: 80px;
	background: none;
	border: none;
}

ul.lylics {
	margin: 0 auto 58px;
	width: 835px;
	font-size: 17px;
}
ul.lylics li {
	margin-right: 77px;
	float: left;
	text-align: left;
	line-height: 1.8;
}
ul.lylics li:last-child {
	margin-right: 0;
}

#modal-song .profile {
	margin: 80px auto 50px;
	width: 930px;
}
#modal-song .bz {
	float: left;
	margin-right: 38px;
}
#modal-song .profile-data {
	float: left;
	width: 442px;
	text-align: left;
	line-height: 1.8;
	font-size: 13px;
}
#modal-song .profile-data h3 {
	margin-bottom: 10px;
}

#modal-song .comment {
	position: relative;
	margin: auto;
	padding: 15px 20px;
	border: 3px solid #00aebb;
	width: 890px;
	font-size: 15px;
	line-height: 1.8;
	text-align: left;
}
#modal-song .comment h3 {
	margin-top: -33px;
	text-align: left;
}
#modal-song .comment h3 span {
	display: block;
	margin-top: -35px;
	width: 168px;
	background: #fcdf12;
}
#modal-song .comment .signature {
	position: absolute;
	right: 20px;
	bottom: 15px;
}

#modal-song .close {
	position: absolute;
	top: 3%;
	right: 2.5%;
}


@media print {
	header {
		display: none;
	}
}