/*- STYLE RESET --------------------------------------------------------------*/
html,body,header,footer,article,nav,section,menu,h1,p,dl,dt,dd,div,form,fieldset,img{
	display:block;
	margin:0;
	padding:0;
	border:none;
	outline:none;
}
html{
	font:10px /1 'ヒラギノ角ゴ Pro W3','Osaka','メイリオ','ＭＳ Ｐゴシック',sans-serif;
	color:#000;
	-webkit-text-size-adjust:none;
}
a{
	text-decoration:none;
	outline:none;
}
a:link,a:visited{
	color:#f03;
}
a:hover,a:active{
	color:#f69;
}
ul,li{
	margin:0;
	padding:0;
	list-style:none;
}
table{
	border-collapse:collapse;
}
caption{
	text-align:left;
}
th,td{
	margin:0;
	padding:0;
	font-weight:normal;
}
input,textarea{
	margin:0;
	font:inherit;
}
input[type='submit'],input[type='radio'],input[type='checkbox'],input[type='file'],select,label{
	font:inherit;
	cursor:pointer;
}
/*- LAYOUT STYLE -------------------------------------------------------------*/
html{
	background:#eee;
	height:100%;
}
body{
	position:relative;
	width:980px;
	margin:0 auto;
	min-height:100%;
	background:#fff;
	box-shadow:0 0 5px #999;
}
/*- HEADER STYLE -------------------------------------------------------------*/
#header{
	position:relative;
	background:#111;
	background:linear-gradient(top, #333, #000);
	background:-moz-linear-gradient(top, #333, #000);
	background:-webkit-gradient(linear, center top, center bottom, from(#333), to(#000));
}
#header h1{
	padding:30px 25px;
	font:bold 3rem 'Helvetica','Arial';
	color:#fff;
	letter-spacing:0.1em;
	text-shadow:1px 1px 1px #666;
}
#header h1 span{
	color:#f03;
}
#header nav{
	position:absolute;
	top:25px;
	right:25px;
	border-right:1px solid #666;
}
#header nav ul:after{
	content:'';
	display:block;
	clear:left;
}
#header nav li{
	float:left;
}
#header nav a{
	display:block;
	padding:15px;
	font-size:1.5rem;
	border-left:1px solid #666;
	text-shadow:1px 1px 1px #333;
}
#header nav a:link,
#header nav a:visited{
	color:#fff;
}
#header nav a:hover,
#header nav a:active{
	color:#f66;
}
/*- FOOTER STYLE -------------------------------------------------------------*/
#footer{
	position:absolute;
	bottom:0;
	width:100%;
	padding:10px 0;
	background:#111;
	background:linear-gradient(top, #333, #000);
	background:-moz-linear-gradient(top, #333, #000);
	background:-webkit-gradient(linear, center top, center bottom, from(#333), to(#000));
	border-top:2px solid #c00;
	text-align:right;
	box-shadow:0 0 5px #666;
}
#footer small{
	margin-right:25px;
	font-size:1.2rem;
	color:#999;
}
#footer small strong{
	color:#fff;
	letter-spacing:0.1em;
}
#footer small strong span{
	color:#f03;
}
/*- MAIN STYLE ---------------------------------------------------------------*/
#main{
	padding:0 20px 80px 20px;
	font-size:1.5rem;
}
#main > *{
	margin-bottom:30px;
}
#main header{
	margin:0 -20px 30px -20px;
	padding:10px 25px;
	background:#c00;
	background:linear-gradient(top, #c00, #900);
	background:-moz-linear-gradient(top, #c00, #900);
	background:-webkit-gradient(linear, center top, center bottom, from(#c00), to(#900));
	border:solid #f33;
	border-width:1px 0;
	box-shadow:0 0 5px #666;
}
#main header:after{
	content:'';
	display:block;
	clear:both;
}
#main header h1{
	float:left;
	font-size:2rem;
	color:#fff;
	line-height:1.5;
	text-shadow:1px 1px 1px #600;
}
#main header select{
	float:right;
	margin-left:15px;
}
#main menu{
	text-align:center;
}
#main menu a{
	display:inline-block;
	width:14em;
	margin:0 5px;
	padding:10px 0;
	background:#eee;
	background:linear-gradient(top, #fff, #ddd);
	background:-moz-linear-gradient(top, #fff, #ddd);
	background:-webkit-gradient(linear, center top, center bottom, from(#fff), to(#ddd));
	border:1px solid #999;
	border-radius:5px;
	box-shadow:0 0 0 1px #fff inset;
	text-shadow:1px 1px 1px #fff;
	text-align:center;
	cursor:pointer;
}
#main menu a:link,
#main menu a:visited{
	color:#000;
}
#main menu a:hover,
#main menu a:active,
#main menu a:focus{
	color:#69f;
}
#main .image{
	width:180px;
	height:180px;
	border:3px solid #fff;
	outline:1px solid #ccc;
}
#main .image img{
	width:100%;
	height:100%;
}
#main .image:empty:before{
	content:'NO IMAGE';
	display:block;
	background:#eee;
	text-align:center;
	font-size:2rem;
	color:#999;
	line-height:180px;
}
#main .hints{
	padding:10px 10px 5px 10px;
	background:#ffe;
	border:1px solid #bbb;
	border-radius:10px;
}
#main .hints p{
	margin-bottom:5px;
	font-size:1.2rem;
}
#main .hints p:before{
	content:'‼';
	margin-right:0.3em;
	font-size:2.4rem;
	font-weight:bold;
	vertical-align:middle;
	color:#f03;
}
#main .error{
	padding:5px;
	border:2px solid;
	border-radius:5px;
	font-weight:bold;
	text-align:center;
	color:#f03;
}
#main .error:before{
	content:'‼';
	margin-right:0.2em;
	font-size:3rem;
	font-weight:bold;
	vertical-align:middle;
	color:#f03;
}
#main #submit{
	display:none;
}
/*----------------------------------------------------------------------------*/
