@charset "utf-8";

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

"Design is not just what it looks like and feels like. Design is how it works." - Steave Jobs

"Think different." - 

Author : EXTRADNA (http://www.extradna.com) 
Last modified : Jan-27, 2016

(C) Copyright EXTRADNA. All rights reserved.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */



/*
=================================================
ローディング
=================================================
*/
#loadingCover {
	width: 100%;
	height: 100%;
	z-index:9000;
	position:fixed;
	left:0;
	top:0;
	background:#fff;
	display:table;
}

#loadingIcon {
	display:table-cell;
	vertical-align:middle;
	text-align: center;
}



/*
=================================================
汎用スタイル
=================================================
*/
body { background: #fff; color: #000; overflow: hidden;}

a:link { color: #ff1d97; text-decoration: underline; }
a:visited { color: #ff1d97; text-decoration: underline; }
a:hover { color: #ff1d97; text-decoration: none; }
a:active { color: #ff1d97; text-decoration: none; }

.imgLft { float:left; margin:3px 15px 15px 0px;}
.imgRgt { float:right; margin:3px 0px 20px 20px}

.txtLft { text-align:left;}
.txtCtr { text-align:center;}
.txtRgt { text-align:right;}

.txtPink { color: #ff1d97;}

.deleteLine {text-decoration: line-through;}

/* 注釈用 */
.coutionTxt { padding-left:1em; text-indent:-1em;}

/* フロートクリア */
.clearfix:after { content: " "; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix { display: inline-block;min-height: 1%;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-Mac */

/* ジャニーズ画像プロテクト用 */
img.protectPic { position: absolute; left: 0; top: 0; width:100%; height:100%;}



/*
=================================================
コンテナ
=================================================
*/
#container {
	width:100%;
	min-width: 1152px; max-width: 1440px;
	margin:0 auto;
}


/*
=================================================
ヘッダー & メニュー関連
=================================================
*/

/* ヘッダー */
header {}

#pcHdr {
	width: 100%; height: 101px;
	background-color: #fff;
	position: fixed; left: 0; top:0;
	z-index: 100;
}


/* ナビメニュー要素 */
#pcHdr nav {
	width: 100%; height: 101px;
	min-width: 1152px; max-width: 1440px;
	margin: 0 auto;
	position:relative;
}

/* ロゴ */
#pcHdr nav h1 {
	position:absolute;
	left:40px; top:12px;
	z-index: 5;
}
#pcHdr nav h1 a {
	display:block;
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#pcHdr nav h1 a:hover {
	position:relative; top:3px; left:0;
}


/* メインメニュー */
#pcHdr nav ul#mainMenu {
	width:100%; height: 41px;
	position: absolute; left: 0; bottom:0;
	background-color: #ef7e00;
	text-align: center;
}
#pcHdr nav ul#mainMenu li {
	height: 41px;
	margin-left:30px;
	display: inline-block;
	vertical-align: top;
	text-indent: 102%; white-space: nowrap; overflow: hidden;
}
#pcHdr nav ul#mainMenu li:first-child { margin-left:0;}
#pcHdr nav ul#mainMenu li a { height: 41px; display:block;
}

#pcHdr nav ul#mainMenu li.menuHome { width:45px;}
#pcHdr nav ul#mainMenu li.menuHome a { background:url(../img/common/navHome.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuIntro { width:135px;}
#pcHdr nav ul#mainMenu li.menuIntro a { background:url(../img/common/navIntro.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuStory { width:77px;}
#pcHdr nav ul#mainMenu li.menuStory a { background:url(../img/common/navStory.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuCastStaff { width:130px;}
#pcHdr nav ul#mainMenu li.menuCastStaff a { background:url(../img/common/navCastStaff.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuCat { width:112px;}
#pcHdr nav ul#mainMenu li.menuCat a { background:url(../img/common/navCat.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuBookSong { width:133px;}
#pcHdr nav ul#mainMenu li.menuBookSong a { background:url(../img/common/navBookSong.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuPronote { width:160px;}
#pcHdr nav ul#mainMenu li.menuPronote a { background:url(../img/common/navPronote.png) no-repeat left top;}
#pcHdr nav ul#mainMenu li.menuTrailer { width:50px;}
#pcHdr nav ul#mainMenu li.menuTrailer a { background:url(../img/common/navTrailer.png) no-repeat left top;}

#pcHdr nav ul#mainMenu li a:visited { background-position:0px 0px;}
#pcHdr nav ul#mainMenu li a:hover,
#pcHdr nav ul#mainMenu li a:active,
#pcHdr nav ul#mainMenu li a.pageSelected { background-position:0px -41px;}


/* サブメニュー */
#pcHdr nav ul#subMenu {
	width:283px; height: 16px;
	position: absolute; left: 170px; top:22px;
}
#pcHdr nav ul#subMenu li {
	height: 16px;
	margin-left:20px;
	display: inline-block;
	vertical-align: top;
	text-indent: 102%; white-space: nowrap; overflow: hidden;
}
#pcHdr nav ul#subMenu li:first-child { margin-left:0;}
#pcHdr nav ul#subMenu li a { height: 16px; display:block;}

#pcHdr nav ul#subMenu li.menuNews { width:73px;}
#pcHdr nav ul#subMenu li.menuNews a { background:url(../img/common/navNews.png) no-repeat left top;}
#pcHdr nav ul#subMenu li.menuTheater { width:73px;}
#pcHdr nav ul#subMenu li.menuTheater a { background:url(../img/common/navTheater.png) no-repeat left top;}
#pcHdr nav ul#subMenu li.menuTicket { width:97px;}
#pcHdr nav ul#subMenu li.menuTicket a { background:url(../img/common/navTicket.png) no-repeat left top;}

#pcHdr nav ul#subMenu li a:visited { background-position:0px 0px;}
#pcHdr nav ul#subMenu li a:hover,
#pcHdr nav ul#subMenu li a:active,
#pcHdr nav ul#subMenu li a.pageSelected { background-position:0px -16px;}


/* SNSメニュー */
#pcHdr nav ul#snsMenu {
	height:24px;
	position: absolute; right: 40px; top:18px;
}
#pcHdr nav ul#snsMenu li {
	height:24px;
	margin-left:20px;
	display: inline-block;
	vertical-align: top; line-height: 0;
}
#pcHdr nav ul#snsMenu li:first-child { margin-left:0;}
#pcHdr nav ul#snsMenu li a {
	height:24px;
	display: block;
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#pcHdr nav ul#snsMenu li a:hover { position:relative; top:3px; left:0;}

#pcHdr nav ul#snsMenu li.linkTwtr {}
#pcHdr nav ul#snsMenu li.linkFcbk {}
#pcHdr nav ul#snsMenu li.linkIsgm {}
#pcHdr nav ul#snsMenu li.linkYtbe { padding-right:20px; border-right:1px solid#c1c1c1;}
#pcHdr nav ul#snsMenu li.twTweet { margin:2px 0 0 20px;}
#pcHdr nav ul#snsMenu li.fbLike { margin:2px 0 0 10px;}
#pcHdr nav ul#snsMenu li.lineSend { width:82px; margin:2px 0 0 10px;}
#pcHdr nav ul#snsMenu li.lineSend a:hover { top:0;}
#pcHdr nav ul#snsMenu li.gPlusOne { width:32px; margin:2px 0 0 10px;}
#pcHdr nav ul#snsMenu li.eigacom { width:122px; margin:2px 0 0 10px;}



/*
=================================================
ホーム
=================================================
*/

#home {
	width:100%;
	padding-top: 101px;
}

/* ホームコンテンツ */
#homeContents {
	width: 100%;
	position: relative;
	overflow:hidden;
}

#homeContents img { width: 100%;}

#homeContents h2 {
	width: 31%;
	position: absolute; left: 9%; top:25%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents h3 {
	width: 53%;
	position: absolute; right: 3%; bottom:4%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents h4 {
	width: 50%;
	position: absolute; left: 3%; top:0%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents h5 {
	width: 12%;
	position: absolute; right: 3%; bottom:14%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents h6 {
	width: 24%;
	position: absolute; left: 10%; top:20%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents #mainViasual {
	position: relative;
	z-index: -1;
}

#homeContents #castPic {
	width: 35%;
	position: absolute; left: 4%; bottom:-10%;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents #btnBalloonL {
	width: 15%;
	position: absolute; right: 45.5%; top:33%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents #btnBalloonR {
	width: 15%;
	position: absolute; right: 18%; bottom:17.5%;
	vertical-align: top; line-height: 0;
	opacity:0;
	filter:alpha(opacity=0);
}

#homeContents #btnBalloonL a,
#homeContents #btnBalloonR a {
	display: block;
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#homeContents #btnBalloonL a:hover,
#homeContents #btnBalloonR a:hover { position:relative; top:3px; left:0;}

/* ホームフッター */
#homeFtr {
	 width: 100%;
	 margin-bottom: 50px;
	 padding: 30px 0;
	 background:#dfe568 url(../img/home/ftrBg.png) repeat-x left bottom;
}

/* バナー */
ul#homeFtrBanner {
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
}
ul#homeFtrBanner li {
	padding: 0 8px;
	margin-bottom: 20px;
	display: inline-block;
	vertical-align: top; line-height: 0;
}

ul#homeFtrBanner li a {
	width: 248px; height: 56px;
	display:block;
	box-shadow: 1px 1px rgb(178, 183, 83), 2px 2px rgb(178, 183, 83), 3px 3px rgb(178, 183, 83), 4px 4px rgb(178, 183, 83);
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
ul#homeFtrBanner li a:hover {
	box-shadow: none;
	/*box-shadow: -1px -1px rgb(178, 183, 83), -2px -2px rgb(178, 183, 83), -3px -3px rgb(178, 183, 83), -4px -4px rgb(178, 183, 83);*/
	position:relative; top:4px; left:4px;
}

/* ビリング */
#homeFtrBilling {
	height:238px;
	background:url(../img/home/ftrBilling.png) no-repeat center top;
	text-indent: 102%; white-space: nowrap; overflow: hidden;
}


/*
=================================================
作品情報
=================================================
*/
#about {
	background: url(../img/common/bgGrid.jpg) repeat center top;
}


/*
=================================================
イントロダクション
=================================================
*/
#intro {
	padding: 0 0 222px;
	background: url(../img/intro/bg.png) no-repeat center bottom;
}

#introMainPic { background:#fff; padding-top:100px; margin-bottom: 60px; position: relative;}
#introMainPic img { width: 100%;}

#introCol {
	width: 1072px;
	margin: 0 auto;
}
#introColLft {
	width: 376px;
	float: left;
}
#introColRgt {
	width: 656px;
	float: right;
}

#introColLft h2 {
	text-align: right;
	vertical-align: top; line-height: 0;
}
#introColRgt h3 {
	margin-bottom: 25px;
	vertical-align: top; line-height: 0;
}
#introColRgt h3+p { margin-top: 0;}
#introColRgt p { line-height: 1.8;}



/*
=================================================
ストーリー
=================================================
*/
#story {
	padding: 100px 0 345px;
	background: url(../img/story/bg.png) no-repeat center bottom;
}

#storyMainPic { margin-bottom: 60px; position: relative;}
#storyMainPic img { width: 100%;}

#storyCol {
	width: 1072px;
	margin: 0 auto;
}
#storyColLft {
	width: 656px;
	float: left;
}
#storyColRgt {
	width: 376px;
	float: right;
}

#storyTitleCatch {
	width: 656px;
	margin-bottom: 21px;
}
#storyTitleCatch h2 {
	width: 178px;
	float: left;
	vertical-align: top; line-height: 0;
}
#storyTitleCatch h3 {
	width: 438px;
	float: right;
	vertical-align: top; line-height: 0;
}
#storyColLft p { margin-top:0; line-height: 1.8;}

#storyColRgt p { margin-top: 10px; position: relative;}
#storyColRgt p:first-child { margin-top: 0em;}
#storyColRgt p img { border-radius: 10px;}



/*
=================================================
キャスト & スタッフ
=================================================
*/
#castStaff {
	padding: 160px 0 255px;
	background: url(../img/castStaff/bg.png) no-repeat center bottom;
}

#cast { padding-bottom: 20px;}
#staff {}
#staff02 { margin-bottom: 40px;}

.castStaffCol {
	width: 1072px;
	margin: 0 auto 60px;
}
.castStaffColLft {
	width: 518px;
	float: left;
}
.castStaffColRgt {
	width: 518px;
	float: right;
}


#castStaff h2 { text-align: center; margin-bottom: 40px;}
#castStaff h3 { margin-bottom: 18px; text-align: center; position: relative;}
#castStaff h3 img { border-radius: 10px;}
#castStaff h3 img.castStaffName { border-radius:0; margin-top: 20px;}
#castStaff h3+p { margin-top: 0;}



/*
=================================================
出演猫について
=================================================
*/
#cat {
	padding: 100px 0 250px;
	background: url(../img/cat/bg.png) no-repeat center bottom;
}

#catMainPic { margin-bottom: 60px; position: relative;}
#catMainPic img { width: 100%;}

#catTitleCatch {
	width: 810px;
	margin: 0 auto 60px;
}
#catTitleCatch h2 {
	width: 261px;
	float: left;
}
#catTitleCatch h3 {
	width: 509px;
	float: right;
}

#catCol {
	width: 1072px;
	margin: 0 auto;
}
#catColLft {
	width:518px;
	float: left;
}
#catColRgt {
	width:518px;
	float: right;
}

#cat h4 { line-height: 1.8; margin:-5px 0;}

.catTxt {
	width:476px;
	padding: 31px 21px;
	background-color: rgba(255,255,255,0.75);
	border-radius: 10px;
}
.catTxt h5 { margin-bottom: 17px; text-align: center;}
.catTxt h5+p { margin-top: 0;}

.catMgnT { margin-top:36px;}

#cat p img { border-radius: 10px;}


/*
=================================================
原作 & 主題歌情報
=================================================
*/
#bookSong {
	padding: 160px 0 302px;
	background: url(../img/bookSong/bg.png) no-repeat center bottom;
}

#book { padding-bottom: 90px; }

.bookSongTitleCatch {
	width: 862px;
	margin: 0 auto;
}
.bookSongTitleCatch h2 {
	width: 194px;
	float: left;
	text-align: right;
}
.bookSongTitleCatch h3 {
	width: 628px;
	float: right;
}

#bookInfo {
	width: 938px;
	margin: 0 auto;
	padding-top: 25px;
}
#bookInfoLft {
	width: 460px;
	float: left;
}
#bookInfoRgt {
	width: 438px;
	padding-top: 30px;
	float: right;
}
#bookInfoRgt h4 { margin-bottom: 20px;}


#song {}
#song p#songTxt {
	margin: 31px 0 36px;
	text-align: center;
	line-height: 1.8;
}

#songComment {
	width: 896px;
	margin: 0 auto 30px;
	padding: 21px;
	background-color: rgba(255,255,255,0.75);
	border-radius: 10px;
	display:table;
}
#songCommentLft {
	width: 330px;
	display:table-cell; vertical-align:middle;
	 padding-right: 20px;
}
#songCommentLft img { border-radius: 10px;}

#songCommentRgt {
	width: 546px;
	display:table-cell; vertical-align:middle;
}
#songCommentRgt h4 {}
#songCommentRgt h4+p { margin-top: 0;}

.btnSongBook {
	margin-top: 0;
	vertical-align: top; line-height: 0;
}
.btnSongBook a {
	display: inline;
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.btnSongBook a:hover {
	position:relative; top:3px; left:0;
}


/*
=================================================
プロダクション・ノート
=================================================
*/
#pronote {
	padding: 100px 0 120px;
}

#pronoteMainPic { margin-bottom: 60px; position: relative;}
#pronoteMainPic img { width: 100%;}

#pronote h2 { text-align: center; margin-bottom: 40px;}

#pronoteCol01 {
	width: 1072px;
	margin: 0 auto 60px;
}
#pronoteCol01Lft {
	width: 658px;
	float: left;
}
#pronoteCol01Rgt {
	width: 374px;
	padding-top: 52px;
	float: right;
}

#pronoteCol02 {
	width: 1072px;
	margin: 0 auto;
}
#pronoteCol02Lft {
	width: 374px;
	padding-top: 52px;
	float: left;
}
#pronoteCol02Rgt {
	width: 658px;
	float: right;
}

#pronote h3 { margin-bottom: 18px;}
#pronote h3+p { margin-top: 0;}
#pronote p { position: relative;}
#pronote p img { border-radius: 10px;}
#pronote p img#cat01 { border-radius: 0; position: absolute; right: 23px; top:-53px;}
#pronote p img#cat02 { border-radius: 0; position: absolute; left: 30px; top:-45px;}



/*
=================================================
フッター
=================================================
*/
footer {}

#pcFtr {
	height:136px;
	background:url(../img/common/ftrTxt.png) no-repeat center 30px;
	text-indent: 102%; white-space: nowrap; overflow: hidden;
}



/*
=================================================
ページトップボタン
=================================================
*/
#btnPageTopPos {
	width:50%; height:0;
	max-width: 720px;
	position: fixed; left: 50%; bottom: 15px;
	z-index: 1000;
	display: none;
}

#btnPageTop {
	width:61px; height: 57px;
	position:absolute; right:15px; bottom:0;
}
#btnPageTop a {
	width:61px; height: 57px;
	display: block;
	position:relative; top:0px; left:0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#btnPageTop a:hover {
	position:relative; top:3px; left:0;
}