@charset "utf-8";

*{
	margin:0;
	padding:0;
}
body{
	background:#fff;
	color:#555;
	font-family:"メイリオ", Meiryo,
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
		"ＭＳ　Ｐゴシック","MS P Gothic",
		sans-serif;
	font-size:15px;
	line-height:1.7;
}
.clearfix{
	overflow:hidden;
}
.clearboth{
	clear:both;
}
.center{
	text-align:center;
}
.right{
	float:right;
}
.left{
	float:left;
}
.marginTop{
	margin-top:30px;
}
.marginBottom{
	margin-bottom:30px;
}
.marginRight{
	margin-right:20px;
}
.paddingRight{
	padding-right:30px;
}
.paddingTop{
	padding-top:30px;
}
.paddingTopM{
	padding-top:15px;
}
.breakWord{
	word-wrap: break-word;
}
img{
	border:none;
	padding:0;
	margin:0;
}
.structure{
	width:960px;
	margin:0 auto;
	padding:0px 0px 30px 0px;
}
p{
	margin:15px 0;
}
p.blank{
	margin:30px 0;
}
ul{
	list-style-type:none;
}
ul li{
	margin:0px 0px;
	padding:0;
}
ul.square {
	list-style-type:square;
	list-style-position: outside;
	margin:5px 0px 5px 25px;
}
span.caution{
	color:#ff0000;
}
span.caution2{
	color:#0000ff;
}
span.lineHeight{
	line-height:1.2;
}
a:link{
//	color:#0e8bd1;
	color:#ED1E79;
	text-decoration:none;
	font-weight:none;
}
a:visited{
	color:#3ebbe1;
	color:#F478AF;
	text-decoration:none;
	font-weight:none;
}
a:hover{
	color:#DEC604;
	text-decoration:underline;
	font-weight:none;
}
.nowrap{
	white-space:nowrap;
}
/*************************************/
/* レイアウト */
/*************************************/
div.leftCol3{
	width:33%;
	float:left;
}
div.centerCol{
	clear:both;
}
div.leftColHalf{
	float:left;
	width:50%;
}
div.rightColHalf{
	float:right;
	width:50%;
}
div.colInner{
	padding:0px 10px 20px 15px;
	font-size:90%;
}
div.colInnerMain{
	padding:20px 30px 30px 0;
}
div.line{
	border:1px solid #14CCC7;
	padding:10px 20px;
	border-radius:5px;
}

/*************************************/
/* フッター */
/*************************************/
div#footer-wrap{
	clear:both;
	border-top:1px solid #14CCC7;
//	background-color:#F5FAFD;
	background-color:rgba(0,0,0,0.8);
	color:#eee;
	box-shadow:inset 0px -15px 30px 10px rgba(0,0,0,0.05), inset 0px 15px 30px 10px rgba(255,255,255,0.05);
}
div#footer{
	width:960px;
	margin:10px auto;
	padding:0px;
}
div#footer a{
//	color:#555;
	color:#eee;
	color:#14ccc7;
	text-decoration:none;
}
div#footer a:hover{
	text-decoration:underline;
}
div#copy{
	text-align:center;
	padding:20px 0;
}
div.leftColFooter{
	width:720px;
	float:left;
}
div.rightColFooter{
	width:240px;
	float:right;
	padding-top:85px;
}
h2.footerH2{
	background-image:url("../img/topH2bg.png");
	background-repeat: no-repeat;
	background-position:left top;
	border:none;
	padding-left:50px;
	margin-top:30px;
}
div.footerCol{
	padding:20px 20px 20px 50px;
}

/*************************************/
/* メッセージ */
/*************************************/
div.error-message{
	color:#ff0000;
	padding:5px 10px;
	font-size:100%;
	background:#ffdddd;
	border:1px solid #ff0000;
//	border-radius:3px;
	box-shadow:inset 0px -15px 20px -12px rgba(0,0,0,0.2), inset 0px 15px 20px -12px rgba(255,255,255,0.2);
}
div#flashMessage, div#authMessage{
	color:#ff0000;
	padding:10px;
	font-size:100%;
	background:#ffdddd;
	margin:0 0 0px 0;
	border:1px solid #ff0000;
//	border-radius:3px;
	box-shadow:inset 0px -15px 20px -12px rgba(0,0,0,0.2), inset 0px 15px 20px -12px rgba(255,255,255,0.2);
}

/*************************************/
/* ページネート */
/*************************************/
div.paging{
	background:#eee;
	padding:5px 20px;
	margin:10px 0 0 0;
//  box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
	border-radius:3px;
	text-align:center;
	overflow:hidden;
	font-size:18px;
}
div.paging span{
	margin:0 5px;
}
/*************************************/
/* フォーム */
/*************************************/
form{
	display:inline-block;
}
input[type=text], textarea, input[type=password], input[type=file], select{
	font-size:90%;
	margin:2px 0px;
	padding:5px;
	border:2px solid #aaa;
	box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 3px 0px inset;
	border-radius:3px;
}
input[type=text]:hover, textarea:hover, fieldset:hover{
	border:2px #29abe2 solid;
}
textarea{
	font-size:120%;
	padding:5px;
}
input[type=checkbox], input[type=radio]{
//	display:none;
}
* html input[type=checkbox], * html input[type=radio]{
	display:inline-block;
}

input[type=checkbox] + label, input[type=radio] + label{
	border:1px solid #cacece;
	box-shadow:0 1px 2px rgba(0,0,0,0.05), inset 0px -15px 10px -12px rgba(0,0,0,0.1);
	padding:8px 15px 8px 15px;
	display:inline-block;
	position:relative;
	min-width:50px;
	margin-right:5px;
	background-color:#666;
	color:#ccc;
}
input[type=checkbox] + label:active, input[type=checkbox]:checked + label:active{
	box-shadow:0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.05);
}
input[type=checkbox]:checked + label, input[type=radio]:checked + label{
	background-color:#14CCC7;
	box-shadow:0 1px 2px rgba(0,0,0,0.05), inset 0px -15px 10px -12px rgba(0,0,0,0.1), inset 0px 15px 10px -12px rgba(255,255,255,0.2);
	border:1px solid #adb8c0;
	color:#fff;
}
input[type=checkbox]:checked + label:after, input[type=radio]:checked + label:after{
	content:'\2714';
	font-size:14px;
	position:absolute;
	top:0px;
	left:3px;
	color:#555;
}
label{
	display:inline-block;
	margin:0px 0px 0px 0px;
	cursor:pointer;
}
label:hover{
	background:#eee;
}
div.submit{
	text-align:center;
}
input[type=submit], button{
	background-color:#14CCC7;
	border:1px solid #999999;
	box-shadow:inset 0px -15px 15px 0px rgba(0,0,0,0.15), inset 0px 15px 15px 0px rgba(255,255,255,0.15);
	padding:5px 20px;
	min-width:100px;
	color:#fff;
	font-size:15px;
	line-height:1.7;
}
input[type=submit].red{
	background-color:#f00;
}
input[type=submit].blue{
	background-color:#00f;
}

input[type=submit]:hover, button:hover{
	background-color:#053332;
	color:#14CCC7;
	cursor:pointer;
}
input[type=submit].small{
	padding:9px 10px;
	margin:2px;
	font-size:90%;
	min-width:0px;
}
select{
	font-size:110%;
	border:2px #28c7c2 solid;
	padding:2px;
}
select:hover{
	border:2px #f16b94 solid;
}
/*************************************/
/* table */
/*************************************/
table{
	border-collapse: collapse;
	border-spacing:0;
	margin:0;
	padding:0;
}
table td, table th{
	padding:2px;
	text-align:left;
}
table th{
	text-align:center;
}
table td.center{
	text-align:center;
}
table td.price{
	text-align:right;
}
table td.small{
	font-size:80%;
}
table.layout{
	border:none;
}
table.layout td, table.layout th{
	vertical-align: top;
}
table.breakWord tr td, table.breakWord tr th{
	word-wrap: break-word;
}