body {
    margin: 0 auto;
	border: 0;
	padding: 0;
	width: 100%;
	min-width: 1100px;
	overflow-y: scroll;
	background: url( ../bg.png ) center top repeat fixed;
}

h1, h2, h3 {
	margin: 0;
	border: 0;
	padding: 0;
}

img {
	display: inline;
	vertical-align: bottom;

}

a {
	text-decoration: none;
}

p {
	margin: 0;
	margin-bottom: 0.5em;
}

nav {
    margin: 0 auto;
	border: 0;
	padding: 0;
	width: 1050px;
}

main {
	margin: 0;
	border: 0;
	padding: 0;
	width: 100%;
	text-align: center;
}

area {
	border :none;
	outline: none;
}



/* ------------------------------------------- Background ------------------------------------------- */
#bg_a {
    background-image: url( ../bg_a.png );
	background-position: 50% 0%;
	background-repeat: repeat;
	background-attachment: scroll;
}

#bg_b {
    background-image: url( ../bg_b.png );
	background-position: 50% 75%;
	background-repeat: repeat;
	background-attachment: scroll;
}




#header_bg {
	margin: 0;
	border: 0;
	padding: 0;
	width: 100%;
	height: 377px;
	position: relative;
	z-index: 100;
    background-image: url( ../header_01.png ), url( ../header_bg.png );
	background-position: 50% 0%, 0% 0%;
	background-repeat: no-repeat, repeat-x;
}

#main_visual_bg {
	margin: 0 auto;
	border: 0;
	padding: 0;
	width: 100%;
	height: 750px;
	margin-top: -25px;
	position: relative;
	z-index: 99;
	background-image: url( ../main_visual_bg2.png ), url( ../main_visual_bg.png );
	background-position: 50% 6%, 50% 6%;
	background-repeat: no-repeat, no-repeat;
}


#japanmap_bg {
	margin: 0 auto;
	border: 0;
	padding: 0;
	width: 950px;
	height: 970px;
	position: relative;
	background-image: url( ../character/japanmap_bg.png );
	background-position: 50% 0%;
	background-repeat: no-repeat;
}


#blackboard_bg {
    margin: 20px auto 20px auto;
	padding: 25px 0 143px 0;
	width: 1000px;
	height: auto;
	position: relative;
    background-image: url( ../cast/blackboard_bg_top.png ), url( ../cast/blackboard_bg_bottom.png ), url( ../cast/blackboard_bg_middle.png );
	background-position: 50% 0, 50% 100%, 50% 1%;
	background-repeat: no-repeat, no-repeat, repeat-y;
	text-align: center;
    box-sizing: border-box;
}

#blackboard_bg h3 {
	padding: 5px 0 20px 0;
}

#blackboard_bg_s {
    margin: 20px auto 20px auto;
	padding: 25px 0 143px 0;
	width: 1000px;
	height: auto;
	position: relative;
    background-image: url( ../cast/blackboard_bg_top.png ), url( ../cast/blackboard_bg_bottom_kt.png ), url( ../cast/blackboard_bg_middle.png );
	background-position: 50% 0, 50% 100%, 50% 1%;
	background-repeat: no-repeat, no-repeat, repeat-y;
	text-align: center;
    box-sizing: border-box;
}

#blackboard_bg_s h3 {
	padding: 5px 0 20px 0;
}

#blackboard_bg_w {
    margin: 20px auto 20px auto;
	padding: 25px 0 143px 0;
	width: 1000px;
	height: auto;
	position: relative;
    background-image: url( ../cast/blackboard_bg_top.png ), url( ../cast/blackboard_bg_bottom_ks.png ), url( ../cast/blackboard_bg_middle.png );
	background-position: 50% 0, 50% 100%, 50% 1%;
	background-repeat: no-repeat, no-repeat, repeat-y;
	text-align: center;
    box-sizing: border-box;
}

#blackboard_bg_w h3 {
	padding: 5px 0 20px 0;
}





#char_link_area_bg {
 	margin: 0 auto;
	width: 901px;
	height: 218px;
	position: relative;
    background-image: url( ../character/link_area_bg.png );
	background-position: 0 0;
	background-repeat: no-repeat;
	display: block;
}


#pickup_bg {
	margin: 0;
	border: 0;
	padding: 0;
	width: 100%;
	height: 655px;
    background-image: url( ../pickup_bg2.png ), url( ../pickup_bg_top.png ), url( ../pickup_bg_bottom.png ), url( ../pickup_bg_middle.png );
	background-position: 50% 13px, 0% 0%, 0% 100%, 50% 1.5%;
	background-repeat: no-repeat, repeat-x, repeat-x, repeat;
}

#footer_bg {
	margin: 0;
	border: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
	position: relative;
    background-image: url( ../footer_bg_top.png ), url( ../footer_bg_middle.png );
	background-position: 0% 0%, 49.5% 0%;
	background-repeat: repeat-x, repeat;
}
/* ------------------------------------------- End Background ------------------------------------------- */


#header_bg header {
    margin: 0 auto;
	border: 0;
	padding: 0;
	width: 1000px;
	height: 150px;
}


#header_logo {
	width: 261px;
	height: 112px;
	position: relative;
	left: 44px;
	top: 45px;

}



#main_visual {
    margin: 0 auto;
	border: 0;
	padding: 0;
	width: 1500px;
	height: 750px;
	position: relative;
}



#main_content {
    margin: 20px auto 20px auto;
	padding: 25px 0;
	width: 1000px;
	height: auto;
	background-color: #fff;
	text-align: center;
	border-radius: 28px;
}




#pickup_box {
    margin: 0 auto;
	border: 0;
	padding: 45px 0 0 0;
	width: 1000px;
	height: auto;
	position: relative;
	font-size: 0;
	letter-spacing: -.4em;
}



#footer_bg footer {
    margin: 0 auto;
	border: 0;
	padding: 0;
	width: 1000px;
	height: 120px;
	color: #fff;
	font-size: 1em;
	line-height: 1;
	letter-spacing: -.4em;
}




/* ------------------------------------------- Global Navigation ------------------------------------------- */
#Global_Navi {
	margin: 45px auto 0 auto;
	border: 0;
	padding: 0 0 0 10px;
    list-style: none;
	font-size: 0;
	width: 1050px;
	text-align: left;
}

#Global_Navi ul {
	margin: 0;
	border: 0;
	padding: 0;
    list-style: none;
	font-size: 0;
	width: 1050px;
}

#Global_Navi li {
	margin: 0;
	border: 0;
	padding: 0;
	display: inline-block;
	width: 210px;
	height: 76px;
	text-align: center;
	font-size: 1rem;
}



#Global_Navi li a,
#Global_Navi li div {
	display: block;
	text-decoration: none;
	width: 200px;
	height: 61px;

}





#Global_Navi li a.navi_Top              { background: url( ../global_navi.png ) no-repeat 0 0; }
#Global_Navi li a.navi_Top:hover        { background: url( ../global_navi.png ) no-repeat 0 -61px; }
#Global_Navi li a.navi_Top.select       { background: url( ../global_navi.png ) no-repeat 0 -122px; }

#Global_Navi li a.navi_Release          { background: url( ../global_navi.png ) no-repeat -200px 0; }
#Global_Navi li a.navi_Release:hover    { background: url( ../global_navi.png ) no-repeat -200px -61px; }
#Global_Navi li a.navi_Release.select   { background: url( ../global_navi.png ) no-repeat -200px -122px; }

#Global_Navi li a.navi_Cast             { background: url( ../global_navi.png ) no-repeat -400px 0; }
#Global_Navi li a.navi_Cast:hover       { background: url( ../global_navi.png ) no-repeat -400px -61px; }
#Global_Navi li a.navi_Cast.select      { background: url( ../global_navi.png ) no-repeat -400px -122px; }

#Global_Navi li a.navi_Character        { background: url( ../global_navi.png ) no-repeat -600px 0; }
#Global_Navi li a.navi_Character:hover  { background: url( ../global_navi.png ) no-repeat -600px -61px; }
#Global_Navi li a.navi_Character.select { background: url( ../global_navi.png ) no-repeat -600px -122px; }

#Global_Navi li a.navi_Story            { background: url( ../global_navi.png ) no-repeat -800px 0; }
#Global_Navi li a.navi_Story:hover      { background: url( ../global_navi.png ) no-repeat -800px -61px; }
#Global_Navi li a.navi_Story.select     { background: url( ../global_navi.png ) no-repeat -800px -122px; }

#Global_Navi li a.navi_Copyright        { background: url( ../global_navi.png ) no-repeat 0 -183px; }
#Global_Navi li a.navi_Copyright:hover  { background: url( ../global_navi.png ) no-repeat 0 -244px; }
#Global_Navi li a.navi_Copyright.select { background: url( ../global_navi.png ) no-repeat 0 -305px; }

#Global_Navi li a.navi_Goods            { background: url( ../global_navi.png ) no-repeat -200px -183px; }
#Global_Navi li a.navi_Goods:hover      { background: url( ../global_navi.png ) no-repeat -200px -244px; }
#Global_Navi li a.navi_Goods.select     { background: url( ../global_navi.png ) no-repeat -200px -305px; }

#Global_Navi li a.navi_LineUp           { background: url( ../global_navi.png ) no-repeat -400px -183px; }
#Global_Navi li a.navi_LineUp:hover     { background: url( ../global_navi.png ) no-repeat -400px -244px; }
#Global_Navi li a.navi_LineUp.select    { background: url( ../global_navi.png ) no-repeat -400px -305px; }

#Global_Navi li a.navi_Contact          { background: url( ../global_navi.png ) no-repeat -600px -183px; }
#Global_Navi li a.navi_Contact:hover    { background: url( ../global_navi.png ) no-repeat -600px -244px; }
#Global_Navi li a.navi_Contact.select   { background: url( ../global_navi.png ) no-repeat -600px -305px; }

#Global_Navi li a.navi_Almaz            { background: url( ../global_navi.png ) no-repeat -800px -183px; }
#Global_Navi li a.navi_Almaz:hover      { background: url( ../global_navi.png ) no-repeat -800px -244px; }
#Global_Navi li a.navi_Almaz.select     { background: url( ../global_navi.png ) no-repeat -800px -305px; }





#Global_Navi li img {
	vertical-align: top;
}


#Global_Navi div:hover > a {
	transition-property: transform;
	-moz-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	animation: hover-effect 0.12s ease 0s 1 alternate none running;
}



@keyframes hover-effect {
	0% {
		transform: scaleY(1.0);
	}

	30% {
		transform: scaleY(0.9);
	}

	50% {
		transform: scaleY(1.2);
	}

	100% {
		transform: scaleY(1.0);
	}
}






/* header logo hover animation */
#header_bg header h1,
#header_bg header a {
	display: block;
	text-decoration: none;
	width: 261px;
	height: 112px;
}

#header_bg header h1:hover > a {
	transition-property: transform;
	-moz-transform-origin: 50% 100%;
	-o-transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;

	animation: hover-effect2 0.2s ease 0s 1 alternate none running;
}


@keyframes hover-effect2 {
	0% {
		transform: scale(1.0);
	}

	30% {
		transform: scaleX(0.9) scaleY(0.9);
	}

	50% {
		transform: scaleX(1.1) scaleY(1.2);
	}

	100% {
		transform: scale(1.0);
	}
}





/* ------------------------------------------- End Global Navigation ------------------------------------------- */




::selection {
    background: rgba( 255, 192, 203, .6 );
    color: #fff;
    text-shadow: none;
}

/* Firefox */
::-moz-selection {
    background: rgba( 255, 192, 203, .6 );
    color: #fff;
    text-shadow: none;
}




.float-left {
	float: left;
}


p.line_a {
	margin: 1.5em 3%;
	border-bottom: 2px solid #ffd200;
}

p.line_b {
	margin: 1.5em 3%;
	border-bottom: 2px solid #505050;
}

p.line_c {
	margin: 1.5em 3%;
	border-bottom: 2px solid #5fce56;
}




/* Rounded corners */
.RC-border {
	border: 14px solid #f0f0f0;
    box-sizing: border-box;
	border-radius: 28px;
}

.RC {
    box-sizing: border-box;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}





.BOX-shadow {
	box-shadow: 0px 3px 16px -4px rgba(0,0,0,0.3);
}


/* Background Color */
.BG_C_A {
	background-image: none;
	background-color: #ffc7d9 !important;
}

.BG_C_B {
	background-image: none;
	background-color: #23273e !important;
}




/* Character List */
#chara_list {
	margin: 0px auto;
	padding: 0;
	width: 96.7%;
	text-align: left;
    list-style: none;
}

.chara_box {
	margin: 20px 0 0 7px;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	width: 185px;
	height: 245px;
}


/* Cast List */
.cast_list {
	margin: 0px auto;
	padding: 0;
	width: 94%;
	text-align: left;
    list-style: none;
}

.cast_box {
	margin: 0 10px 0 10px;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	width: 168px;
	height: 231px;
}







#goods_list {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	text-align: center;
}

#goods_list li .title {
	padding: 20px 0 30px 0;
}



#release_list {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	text-align: center;
}

#release_list li {
    list-style: none;
}





#button_box {
	margin: 20px 0 0 0;
	padding: 0;
	width: 100%;
	text-align: center;
}


#rbutton_box {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
}


.rbutton {
	margin: 20px 20px 50px 20px;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	width: 300px;
	height: 70px;
}






/* 2column */
.c2_box {
	margin-top: 30px;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	width: 47.5%;
	height: auto;
	font-size: 1em;
	letter-spacing: normal;
}

/* padding */
.p_b_30 {
	padding-bottom: 30px !important;
}
.p_b_40 {
	padding-bottom: 40px !important;
}
.p_b_50 {
	padding-bottom: 50px !important;
}


.p_b_25 {
	padding-bottom: 25px !important;
}
.p_b_35 {
	padding-bottom: 35px !important;
}
.p_b_45 {
	padding-bottom: 45px !important;
}


.p_t_25 {
	padding-top: 25px !important;
}



.l_head {
	margin: 0 0 0 -25px;
}
.l_bt1 {
	margin: -5px 0 0 -55px;
}
.l_bt2 {
	margin: -5px 0 0 -55px;
}



.f_l {
	margin-top: 30px;
	border: 0;
	padding: 0;
	display: inline-block;
	width: 320px;
	height: auto;
	color: #fff;
	font-size: 1em;
	letter-spacing: normal;
}

.f_r {
	margin-top: 50px;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	width: 680px;
	height: auto;
	color: #fff;
	font-size: 0.9em;
	letter-spacing: normal;
}


.c_h2 {
	margin: 10px auto 0 auto;
	border: 0;
	padding: 0;
	width: 1000px;
}

.text_l {
	font-size: 1.5em;
}

.map_pos {
	margin: 0;
	border: 0;
	padding: 0;
	position: absolute;
	top: 90px;
	left: 20px;
}

.SV_button {
	margin: 0;
	border: 0;
	padding: 0;
	position: absolute;
	top: 246px;
	left: 396px;
}



.char_link {
	margin: 0;
	border: 0;
	padding: 0;
	position: absolute;
	top: 50px;
	left: 210px;
}




#pickup_list {
	margin: 0px;
	border: 0px;
	padding: 0px;
	display: inline-block;
	width: 50%;
	height: 590px;
	font-size:14px;
	letter-spacing: normal;
    list-style: none;
	position: relative;
	z-index: 110;
}

#pickup_list ul {
	margin: -83px 25px 0 25px;
	border: 0;
	padding: 0;
    list-style: none;
	font-size: 0;
	width: 100%;
}

#pickup_list li {
	margin: 0;
	border: 0;
	padding: 0;
	text-align: center;
	font-size: 1rem;
}

#pickup_list li a {
	display: inline-block;
	text-decoration: none;
}


#pickup_twitter {
	margin: 0px;
	border: 0px;
	padding: 20px 0 0;
	display: inline-block;
	width: 50%;
	height: 590px;
	font-size:14px;
	letter-spacing: normal;
	position: relative;
	z-index: 110;
}




/* Top */
#parts-001 {
	margin: 0px;
	border: 0px;
	padding: 0px;
	position: absolute;
	top: -30px;
	right: -5px;
	z-index: 150;
}

/* cast */
#blackboard_bg #parts-001 {
	margin: 0px;
	border: 0px;
	padding: 0px;
	position: absolute;
	top: 405px;
	right: 70px;
	z-index: 150;
}
#blackboard_bg #parts-002 {
	margin: 0px;
	border: 0px;
	padding: 0px;
	position: absolute;
	top: 780px;
	right: 60px;
	z-index: 150;
}



#copyright {
	text-align: left;
	font-size: 13px;
}

#copyright ul {
	list-style: none;
}

#copyright .c2_box {
	margin-top: 0;
	margin-left: 20px;
}




#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 500;
}

#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #000;
	z-index: 501;
}
