@charset "UTF-8";

/*━━━━━━━━━━━━━━
▼全ページ共通のスタイル
━━━━━━━━━━━━━━━*/
body {
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", "MS Gothic", monospace;
	color: #fff;
	background-color: #000;
	min-width: 1000px;	/*横幅の最低値*/
	font-size: 14px;
	line-height: 21px;
}

#bg_wrap {
	width: 100%;
	min-width: 1000px;
	/*overflow: hidden;*/
	background: #000 url(../gra/bg.jpg) repeat-x center top fixed;
}

a {color: #ffbd0c; transition: color 0.3s;text-decoration: none;}
a:hover {color: #e9220d;}

.anchr12 {
	font-size: 12px;
	line-height: 21px;
	background: url(../gra/anchr.png) no-repeat 0 4px;
	padding-left: 20px;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ローダー
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#loading {
	width: 100%;
	height: 100%;
	background-color: #000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	/*display: none;*/
}
#loading_wrap {
	width: 202px;
	height: 264px;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -150px;
	margin-left: -132px;
	opacity: 0;
}
#load_mark {
	position: absolute;
	top: 0;
	left: 0;
}
#load_text {
	position: absolute;
	top: 165px;
	left: 14px;
}

#bg_circle {
	width: 920px;
	height: 920px;
	overflow: hidden;
	position: fixed;
	top: 320px;
	left: 50%;
	margin-left: 100px;
	z-index: 0;
}
#bg_circle1 {
	animation: bganime1 90s linear 0 infinite normal;
	-webkit-animation-name: bganime1;
	-webkit-animation-duration: 90s;
	-webkit-animation-direction: normal;
	-webkit-animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-name: bganime1;
	-moz-animation-duration: 90s;
	-moz-animation-direction: normal;
	-moz-animation-timing-function: linear;
	-moz-animation-iteration-count: infinite;
	position: absolute;
	top: 116px;
	left: 116px;
}
#bg_circle2 {
	animation: bganime2 90s linear 0 infinite normal;
	-webkit-animation-name: bganime2;
	-webkit-animation-duration: 90s;
	-webkit-animation-direction: normal;
	-webkit-animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-name: bganime2;
	-moz-animation-duration: 90s;
	-moz-animation-direction: normal;
	-moz-animation-timing-function: linear;
	-moz-animation-iteration-count: infinite;
	position: absolute;
	top: 0;
	left: 0;
}
@keyframes bganime1 {
	0%{transform: rotate(360deg);}
	100%{transform: rotate(0deg);}
}
@-webkit-keyframes bganime1 {
	0%{-webkit-transform: rotate(360deg);}
	100%{-webkit-transform: rotate(0deg);}
}
@keyframes bganime2 {
	0%{transform: rotate(0deg);}
	100%{transform: rotate(360deg);}
}
@-webkit-keyframes bganime2 {
	0%{transform: rotate(0deg);}
	100%{transform: rotate(360deg);}
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼年齢認証
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#age_cover {
	background-color: #000;
	background-color: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	display: none;
}
#age_wrap {
	width: 632px;
	height: 264px;
	position: fixed;
	left: 50%;
	margin-left: -316px;
	top: 50%;
	margin-top: -132px;
}
#age_yes,
#age_no {
	width: 160px;
	height: 50px;
	overflow: hidden;
	box-shadow: 1px 1px 6px #000;
	position: absolute;
	top: 175px;
	transition: box-shadow 0.3s;
}
#age_yes {
	left: 150px;
}
#age_no {
	right: 150px;
	cursor: pointer;
}
#age_no img {
	position: absolute;
	left: -160px;
	top: 0;
}
#age_yes:hover,
#age_no:hover {
	box-shadow: 0 0 6px #f00;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ヘッダ
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#page_head {
	width: 100%;
	min-width: 1000px;
	height: 152px;
	background: url(../gra/bg_header.png) repeat-x 0 0;
	margin: 0 0 20px;
}
#page_head header {
	width: 1000px;
	height: 99px;
	margin: 0 auto;
	position: relative;
}
#page_head h1 {
	position: absolute;
	top: 16px;
	left: 30px;
	transition: opacity 0.3s;
}
#page_head h1:hover {
	opacity: 0.7;
}
#social_wrap {
	position: absolute;
	right: 30px;
	top: 24px;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼メニュー
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#page_menu {
	width: 1000px;
	height: 53px;
	margin: 0 auto;
	background: url(../gra/bg_menu.png) no-repeat center top;
	overflow: hidden;
}
#page_menu ul {
	width: 980px;
	height: 31px;
	overflow: hidden;
	margin: 9px auto 0;
	position: relative;
}
#page_menu li {
	height: 31px;
	overflow: hidden;
	line-height: 31px;
	text-indent: 100%;
	position: absolute;
	top: 0;
	background: url(../gra/btn_menu.png) no-repeat;
}
#page_menu li.close {
	opacity: 0.4;
}
#page_menu li a {
	display: block;
	height: 31px;
}
#page_menu li a::after {
	content: "";
	display: block;
	height: 31px;
	background: url(../gra/btn_menu.png) no-repeat;
	opacity: 0;
	transition: all 0.3s;
	transform: scale(2,0);
	-webkit-transform: scale(2,0);
	position: absolute;
	top: 0;
	left: 0;
}
#page_menu li a:hover::after {
	opacity: 1;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
}

#page_menu #m01 a {width: 127px;}
#page_menu #m01 a::after {width: 127px;background-position: 0 -31px;}
#page_menu #m01 {left: 35px;background-position: 0 0;}

#page_menu #m02 a {width: 180px;}
#page_menu #m02 a::after {width: 180px;background-position: -127px -31px;}
#page_menu #m02 {left: 187px;background-position: -127px 0;}

#page_menu #m03 a {width: 143px;}
#page_menu #m03 a::after {width: 143px;background-position: -307px -31px;}
#page_menu #m03 {left: 391px;background-position: -307px 0;}

#page_menu #m04 a {width: 104px;}
#page_menu #m04 a::after {width: 104px;background-position: -450px -31px;}
#page_menu #m04 {left: 558px;background-position: -450px 0;}

#page_menu #m05 a {width: 96px;}
#page_menu #m05 a::after {width: 96px;background-position: -554px -31px;}
#page_menu #m05 {left: 688px;background-position: -554px 0;}

#page_menu #m06,
#page_menu #m06 a {width: 140px;}
#page_menu #m06 a::after {width: 140px;background-position: -650px -31px;}
#page_menu #m06 {left: 809px;background-position: -650px 0;}

#prestory #page_menu #m01 a::after,
#introduction #page_menu #m02 a::after,
#character #page_menu #m03 a::after,
#goods #page_menu #m04 a::after,
#music #page_menu #m05 a::after,
#animation #page_menu #m06 a::after {opacity: 1;transform: scale(1,1);}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼コンテンツ（トップページ）
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {width: 8px;}
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {background-color: #fff;}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {background-color: #ddd;}
.mCSB_scrollTools .mCSB_draggerRail {background-color: #393939; width: 8px;}
#bottom_black {
	width: 100%;
	min-width: 1000px;
	padding: 5px 0 0;
	background: url(../gra/bg_black.png) repeat;
	position: relative;
}

#prestory #bottom_black,
#introduction #bottom_black,
#character #bottom_black,
#goods #bottom_black,
#music #bottom_black,
#animation #bottom_black,
#backerkit #bottom_black {
	margin: 142px 0 0;
}

#h1_wrap {
	width: 100%;
	min-width: 1000px;
	height: 123px;
	background: url(../gra/bg_slideshow.png) repeat-x center bottom;
	position: absolute;
	top: -123px;
	left: 0;
}
#h1_wrap h1 {
	width: 1000px;
	height: 106px;
	margin: 0 auto;
	text-align: center;
	background: url(../gra/bg_slideshow_section.png) no-repeat center bottom;
}

#content_wrap h1 {
	width: 940px;
	height: 41px;
	overflow: hidden;
	background: url(../gra/h2.png) no-repeat 0 0;
	font-size: 16px;
	line-height: 41px;
	font-weight: bold;
	text-shadow: 1px 1px 2px #000;
	padding-left: 20px;
}

/*汎用ボタン*/
#content_wrap .btn p {
	margin: 0 0 10px;
	background: url(../gra/btn.png) no-repeat 0 0;
	position: relative;
}
#content_wrap .btn a {
	display: block;
	width: 480px;
	height: 37px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	line-height: 37px;
	position: relative;
	text-shadow: 1px 1px 2px #000;
	transition: text-shadow 0.3s;
	z-index: 1;
}
#content_wrap .btn a:hover {
	text-shadow: 0 0 6px #f00;
}
#content_wrap .btn p::after {
	content: "";
	display: block;
	width: 480px;
	height: 37px;
	background: url(../gra/btn.png) no-repeat 0 -37px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 0;
}
#content_wrap .btn p:hover::after {
	opacity: 1;
}

#content_wrap b {
	font-weight: bold;
	color: #c00;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼フッターメニュー
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#footer_menu_wrap {
	width: 100%;
	min-width: 1000px;
	height: 46px;
	padding: 40px 0 0;
	background: url(../gra/bg_footer_menu_wrap.png) repeat-x center bottom;
	position: relative;
}
#footer_menu {
	width: 980px;
	height: 48px;
	margin: 0 auto;
	overflow: hidden;
	background: url(../gra/bg_footer_menu.png) repeat-x center bottom;
	position: relative;
	z-index: 2;
}
#footer_menu .close {
	color: #666;
	font-weight: bold;
	margin-left: 20px;
}
#footer_menu a {
	display: block;
	float: left;
	margin-left: 20px;
	font-weight: bold;
	text-decoration: none;
}

#top #fm00,
#prestory #fm01,
#introduction #fm02,
#character #fm03,
#goods #fm04,
#music #fm05,
#animation #fm06 {color: #e9220d;}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ページトップ
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#pagetop a {
	transition: opacity 0.3s linear;
	opacity: 1;
}
#pagetop a:hover {
	opacity: 0.7;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━
▼フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#footer_wrap {
	width: 100%;
	min-width: 1000px;
	margin: 0 auto;
	padding: 20px 0 20px;
	/*background: url(../gra/bg_footer.png) repeat 0 0;*/
	overflow: hidden;
	position: relative;
}
#footer_wrap footer {
	width: 680px;
	margin: 0 auto;
	z-index: 1;
}
#footer_wrap #light {
	float: left;
	width: 83px;
	padding: 4px 0 0;
	transition: opacity 0.3s;
}
#footer_wrap #light:hover {
	opacity: 0.7;
}
#footer_wrap #foot_text01 {
	float: left;
	height: 30px;
	overflow: hidden;
}
#footer_wrap #foot_text02 {
	float: left;
	line-height: 14px;
}
