/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img , font {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
a:link { color: #666; outline:none; overflow:hidden; border:none;}
a:visited {	color: #666;}
a:hover { color: #999; text-decoration:underline}
a:active { color: #666;}

span.pink{ color:#ff3188; }

.p05{ padding:25px; }
.p10{ padding:30px; }
.p15{ padding:35px; }
.p20{ padding:40px; }

.pt05{ padding-top:25px; }
.pt10{ padding-top:30px; }
.pt15{ padding-top:35px; }
.pt20{ padding-top:40px; }
.pb05{ padding-bottom:25px; }
.pb10{ padding-bottom:30px; }
.pb15{ padding-bottom:35px; }
.pb20{ padding-bottom:40px; }
.pb40{ padding-bottom:80px; }

.ptb05{ padding:25px 0; }
.ptb10{ padding:30px 0; }
.ptb15{ padding:35px 0; }
.ptb20{ padding:40px 0; }
.prl05{ padding:0 25px; }
.prl10{ padding:0 30px; }
.prl15{ padding:0 35px; }
.prl20{ padding:0 40px; }

.txt_c{	text-align:center; }
.txt_l{ text-align:left; }
.txt_r{ text-align:right; }

/*==============================================================*/
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}

html {
	width: 100%;
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","heisei-maru-gothic-std","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
	font-size: 62.5%;
	line-height: 2.8;
	color:#000000;
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer */
	-khtml-user-select: none; /* KHTML browsers (e.g. Konqueror) */
	-webkit-user-select: none; /* Chrome, Safari, and Opera */
	-webkit-touch-callout: none; /* Disable Android and iOS callouts*/
}
body {
	font-size: 16px;
	font-size: 1.6rem;
}

a img.mouselink{
	background:none!important;
}
 
a:hover img.mouselink{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	background:none!important;
}

#menu{
	width:100%;
	min-width: 1024px;
	background-image: url("../img/bg.jpg");
	border-bottom: solid 1px #2c94e4;
}

#contents{
	width:80%;
	margin:0 auto;
	min-width: 1024px;
	max-width: 1920px;
}

#top{
	width:100%;
	height:720px;
	min-width: 1024px;
	background-image: url(../img/main_top.jpg);
	background-position: 0 center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow:hidden;
	display:block;
}
/*
div.top_line{
	width:100%;
	height:100px;
	background-image: url(../img/top_line.png);
	position:absolute;
	bottom:0;
	z-index:10;
}
*/
div.top_line_2{
	width:100%;
	height:100px;
	background-image: url(../img/top_line.png);
	margin-top:-100px;
}
div.top_line_3{
	width:100%;
	height:100px;
	background-image: url(../img/top_line.png);
	transform: rotateX( 180deg );
}

div.top_main{
	width:1024px;
	height:720px;
	margin:0 auto;
	position:relative;
	text-align:left;
	display:block;
}

div.chara_front{
	width:960px;
	height:720px;
	position:absolute;
	left:30%;
	bottom:5%;
	z-index:3;
}
div.chara_center{
	width:553px;
	height:433px;
	top:13%;
	left:25%;
	z-index:2;
	position:absolute;
}
div.chara_back{
	width:600px;
	height:303px;
	top:0;
	left:35%;
	z-index:1;
	position:absolute;
}

/*
div.chara_text{
	width:660px;
	height:159px;
	bottom:20%;
	left:42%;
	z-index:4;
	position:absolute;
}
*/

div.chara_text{
	width:180px;
	height:500px;
	top:3%;
	right:3%;
	z-index:4;
	position:absolute;
}

div.logo{
	width:340px;
	height:198px;
	top: 3%;
	left: 3%;
	z-index:4;
	position:absolute;
}

div.twitter{
	width:180px;
	height:60px;
	top: 3%;
	right: 3%;
	z-index:4;
	position:absolute;
}

div.store{
	width:340px;
	height:120px;
	position:absolute;
	/*
	left: 3%;
	bottom:15%;
	*/
	right: 5%;
	bottom:15%;
	background-color: rgba( 255, 255, 255, 0.85 );
	z-index:5;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border: solid 2px #ff3188;
	padding:20px;
}

div.store_text_img{
	width:380px;
	height:60px;
	position:absolute;
	/*
	left: 3.3%;
	bottom:33%;
	*/
	right: 5%;
	bottom:33%;
	z-index:6;
}

ul.store_main{
	width:100%;
	font-size: 0;
	padding-top:15px;
	padding-left:20px;
}
ul li.store_icon{
	width:30%;
	display: inline-block;
}
ul li.store_btn{
	width:70%;
	display: -moz-inline-box;
	display: inline-block;
	text-align: center;
}

ul.store_text {
	list-style-type: none;
	margin-left:14px;
	font-size: 1.4rem;
	padding-top:15px;
}
ul.store_text li:before {
	content: '★';
	color:#ff3188;
	margin-left:-14px;
}

div.twitter_time{
	width:380px;
	height:350px;
	position:absolute;
	background-color: rgba( 255, 255, 255, 0.85 );
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border: solid 2px #ff3188;
	left: 3%;
	bottom:15%;
	z-index:6;
}
div.twitter_time_main{
	padding-top:35px;
	padding-left:10px;
}
div.twitter_news_title{
	width:360px;
	height:57px;
	position:absolute;
	left: 3.8%;
	top:33%;
	z-index:7;
}

#end_service{
	width:40%;
	margin: 0 auto 2%;
	padding: 1% 0;
	font-size: 2.4rem;
}
/*
#end_service a {
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
	transition: 0.3s;
}
#end_service a:hover{
	box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.5);
      transform: translateY(-5px);
}
*/
#story{
	width:100%;
	background-image: url("../img/story_p.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	/*background-size: contain;*/
	background-size:cover;
	padding-top:10px;
	padding-bottom:80px;
	border-bottom: solid 1px #2c94e4;
	min-width: 1024px;
}

div.story_main{
	position:relative;
}

div.navi_text_bg{
	width:180px;
	height:180px;
	position:absolute;
	bottom: 0%;
	left:80%;
	z-index:1;
}
div.navi_text{
	width:220px;
	height:92px;
	position:absolute;
	bottom: 10%;
	left:80%;
	z-index:1;
}
div.navi_chara{
	width:180px;
	height:247px;
	position:absolute;
	bottom: -10%;
	left:85%;
	z-index:1;
}

#card{
	padding-top:80px;	
	padding-bottom:80px;
	background-image: url("../img/bg.jpg");
	border-bottom: solid 1px #2c94e4;	
	min-width: 1024px;	
}
.card_img{ position:relative; }
.card_miku{
	width:300px;
	height:300px;
	position:absolute;
	top: 0;
	left:75%;
	z-index:1;
}
.card_rin{
	width:180px;
	height:247px;
	position:absolute;
	bottom: 0;
	left:85%;
	z-index:1;
}
.card_len{
	width:180px;
	height:247px;
	position:absolute;
	bottom: 0;
	left:85%;
	z-index:1;
}
.card_luka{
	width:180px;
	height:247px;
	position:absolute;
	bottom: 0;
	left:85%;
	z-index:1;
}
.card_kaito{
	width:180px;
	height:247px;
	position:absolute;
	bottom: 0;
	left:85%;
	z-index:1;
}
.card_meiko{
	width:180px;
	height:247px;
	position:absolute;
	bottom: 0;
	left:85%;
	z-index:1;
}

ul.card_list_main, ul.card_list_sub{
	width:100%;
}
ul.card_list_main li{
	width:20%;
	display: inline-block;
	padding:10px;
}
ul.card_list_sub li{
	width:15%;
	display: inline-block;
	padding:10px;
}
.card_name{
	position:relative;
}
.card_name_text{
	position:absolute;
	bottom:3px;
	right:3px;
	text-shadow: 0px 0px 1px #FFF,
	             0px 0px 2px #FFF,
	             0px 0px 3px #FFF,
	             0px 0px 4px #FFF,
	             0px 0px 5px #FFF,
	             0px 0px 6px #FFF;
	font-weight: bold;
	color:#000;
	font-size: 12px;
	font-size: 1.2rem;
}


#clothes{
	padding-top:80px;	
	padding-bottom:80px;	
	background-image: url(../img/chara_bg.png);
	min-width: 1024px;
}
#game{
	padding-top:80px;	
	padding-bottom:80px;
	border-bottom: solid 1px #2c94e4;	
	min-width: 1024px;
	background-image: url("../img/game_bg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size:contain;
}

ul.game_img{
	width:100%;
	margin:0 auto;
	padding-top:25px;
}

ul.game_img li{
	width:25%;
	display: inline-block;
	padding:20px;
}

img.radius{
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border: solid 5px #ffba00;
}

div.game_img_main{
	width:90%;
	position:relative;
}
div.game_img_icon{
	width:90%;
	position:absolute;
	right:-90px;
	bottom:-80px;
}

#music{
	width:100%;
	min-width: 1024px;
	background-image: url(../img/bg.png);
}

div.misic_bg{
	width:90%;
	background-color:#FFFFFF;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border: solid 3px #2c94e4;
	margin:0 auto;
}
div.song_bg{
	width:76%;
	background-color:#FFFFFF;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border: solid 3px #2c94e4;
	margin:0 auto;
	padding:30px 0;
}

div.misic_icon{
	width:90%;
	margin:0 auto;
	padding-top:10px;
	padding-bottom:10px;
}

div.misic_text{
	font-size: 24px;
	font-size: 2.4rem;
	padding-bottom:20px;
}

ul.misic_main{
	widht:100%;
}
ul.misic_main li{
	width:40%;
	display: inline-block;
	padding-top:40px;
}
@media only screen and (max-width: 1024px) {
	ul.misic_main li{
		width:90%;
		display: inline-block;
		padding-top:40px;
	}
}

ul.song_text {
	width:100%;
	display: block;
	margin-left:24px;
	font-size: 2.4rem;
	margin-top:-30px;
	padding-bottom:20px;
	color:#666666;
}
ul.song_text li:before {
	content: '★';
	color:#ff3188;
	margin-left:-24px;
}

h1.music_title{ 
	font-size: 36px;
	font-size: 3.6rem;
	color:#255aea;
	text-shadow: 1px 1px 0px #0936af;
}
h1.music_title_sub{ 
	margin-top:-10px;
	font-size: 24px;
	font-size: 2.4rem;
	color:#7288a6;
}

h1.song_title{
	font-size: 28px;
	font-size: 2.8rem;
	color:#2c94e4; 
	padding-top:20px;
}

#special{
	padding-top:50px;	
	padding-bottom:50px;	
	background-image: url("../img/story_bg.jpg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: solid 1px #2c94e4;	
	min-width: 1024px;	
}

.twitter_special{
	font-size: 24px;
	font-size: 2.4rem;
	padding-top:20px;
	padding-bottom:80px;
	font-weight: bold;
	color:#2c94e4; 
}


.list-mv07{
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
}
.mv07{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
	color:#666;
	background:#000033;
	text-align:center;
	width:100%;
	min-width: 1024px;
}
.copy {
	background:url(../img/logo_piapro.png) no-repeat right bottom;
	padding-right:60px;
	display:inline-block;
}

ul.sns_btn{
	width:100%;
	margin:0 auto;
}
ul.sns_btn li{
	width:40px;
	height:40px;
	display: inline-block;
	padding-top:40px;
}

/*------------------------------------------------------------
	ローディング
------------------------------------------------------------*/
#loading{
	position: absolute;
	left: 45%;
	top: 350px;
}
#loader-bg {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background-image: url(../img/load_bg.png);
	z-index: 100;
}
#main-contents{
	text-align: center;
}

