@charset "utf-8";

* {
	font-family:'メイリオ', Meiryo, sans-serif;
	padding: 0;
	margin: 0;
	text-align: left;
	/*background: none;*/
}

html{
	height: 100%;
	overflow-y:scroll;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body{
	height: 100%;
	padding: 0 15px;
	text-align: center;
	background-color: #f8f8f8;
	/*background-color: #f8f5f1;
	background-image: url(/com/style/body-back.gif);*/
}

header, footer, nav, article {
	display:block;
}

img{
	border: none;
}

.fa{
	font-size: 14px !important;
	font-family: fontawesome;
}

.fa-lg{
	font-size: 1.33333333em !important;
}

.clearfix{
	overflow: hidden;
}

.clearfix:after{
	content: "";
	display: block;
	clear: both;
}

.center{
	text-align: center;
}

.bold{
	font-weight: bold;
}

.red{
	color: #f33;
}

.big{
	font-size: 20px;
}

.highlight{
	color: #f1ebe3;
}

.hide{
	display: none;
}

#ad_text{
	position: relative;
	left: 50%
}

	#ad_text iframe{
		position: absolute;
		top: 12px;
		left: 50px;
		z-index: 99999;
	}

	#ad_text *{
		text-align: center;
	}

#page{
	position: relative;
	width: 1080px;
	height: auto !important;
	height: 100%;
	min-height: 100%;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
}

/* --- ▼ヘッダー▼ --- */
#head{
	background-color: #3d362d;
}

	#head img{
		display: block;
		margin-left: 10px;
	}
/* --- ▲ヘッダー▲ --- */

/* --- ▼ナビゲーション▼ --- */
#navi{
	background-color: #f0f0f0;
}

	#navi ul{
		width: 100%;
		list-style: none;
	}

	#navi li{
		float: left;
		border-right: 1px solid #dddddd;
	}

	#navi a{
		display: block;
		padding: 10px 20px;
		text-align: center;
		text-decoration: none;
		background-color: #f0f0f0;
		color: #606060;
		font-size: 14px;
		transition: box-shadow 0.2s;
	}

	#navi a:hover{
		/*background-color: #5a5047;
		color: #fff;*/
		box-shadow: 0px -4px 0px 0px #5a5047 inset;
	}

	#navi a.icon{
		padding: 10px 14px;
	}

	#navi a.tw:hover{ box-shadow: 0px -6px 0px -2px #55acee inset; /*background-color: #55acee;*/ }
	#navi a.fb:hover{ box-shadow: 0px -6px 0px -2px #3b5998 inset; /*background-color: #3b5998;*/ }
	#navi a.gp:hover{ box-shadow: 0px -6px 0px -2px #dd4b39 inset; /*background-color: #dd4b39;*/ }

/* --- ▲ナビゲーション▲ --- */

#main{
	overflow: hidden;
	width: 1040px;
	padding-bottom: 140px;
	margin: 0 auto;
}

#main:after{
	content: "";
	display: block;
	clear: both;
}


/* --- ▼コンテンツ▼ --- */
#cont{
	float: left;
	width: 860px;
	margin: 0 auto;
	color: #333;
}

	#bread{
		margin: 10px 5px;
		padding: 5px 10px;
		border-radius: 5px;
		background-color: #f8f8f8;
		border: 1px solid #e8e8e8;
	}

		#bread li{
			display: inline;
			font-size: 11px;
		}

		#bread li a{
			color: #666;
		}

		#bread li:before{
			content: "\BB";
			color: #ccc;
			padding-right: 5px;
		}

		#bread li:first-child:before{
			content: none;
		}

		#bread li h1{
			display: inline;
			font-size: 11px;
		}

	.error{
		margin: 5px 5px;
		padding: 5px 10px;
		border-radius: 5px;
		font-size: 12px;
		font-weight: bold;
		background-color: #ffcc00;
	}

	#cont h2{
		padding: 3px 10px 0;
		margin: 15px 0 10px;
		border-bottom: 2px solid #776655;
		font-size: 20px;
		font-weight: normal;
	}

	#cont h3{
		padding: 3px 8px 2px;
		margin: 15px 10px 10px;
		border-left: 10px solid #A5967F;
		font-size: 16px;
	}

	#cont h4{
		padding: 3px 4px 2px;
		margin: 10px 15px 8px;
		color: #558866;
		border-bottom: 2px solid #446655;
		font-size:14px;
		line-height: 18px;
	}

	#cont p, #cont ul.line{
		margin: 0 30px;
		font-size: 13px;
		line-height: 20px;
	}

	#cont p{
		padding: 0 0 10px;
	}

	#cont ul.line{
		padding: 0 0 10px 20px;
	}

	#cont ul.lstc li{
		margin-bottom: 10px;
	}

		#cont ul.lstc li:last-child{
			margin-bottom: 0;
		}

	#cont a{
		color: #228888;
	}

	#cont ul.box{
		padding-left: 18px;
		list-style: none;
	}

		#cont ul.box li{
			float: left;
			position: relative;
			width: 400px;
			height: 150px;
			/*padding: 5px;*/
			margin: 5px;
			border: 1px solid #e8e8e8;
			border-radius: 5px;
			background-color: #fff;
		}

			#cont ul.box li h3{
				overflow: hidden;
				padding: 5px;
				margin: 0 0 2px 0;
				border-left: none;
				border-bottom: 2px solid #e8e8e8;
				border-radius: 5px 5px 0 0;
				background-color: #f8f8f8; /*#E9E4E0;*/
			}

			#cont ul.box li h3 span{
				display: block;
				padding: 0 5px;
				border-left: 4px solid #A5967F;
				font-size:14px;
				white-space: nowrap;
				text-overflow: ellipsis;
			}

			#cont ul.box li img{
				position: absolute;
				top: 35px;
				left: 12px;
				display:block;
				margin: 5px auto;
				border: 1px solid #999;
			}

			#cont ul.box li p {
				position: absolute;
				top: 36px;
				left: 185px;
				width: 190px;
				height: 100px;
				padding: 5px;
				margin: 0;
				font-size: 12px;
				line-height: 20px;
				background-image: url(/com/style/line.gif);
			}

	#cont table{
		font-size: 12px;
	}

	#flash{
		width: 800px;
		padding: 50px 0;
		margin: 10px auto 20px;
		text-align: center;
		border-radius: 10px;
		background-color: #000;
		color: #fff;
	}

	#share{
		width:600px;
		padding: 12px 0;
		margin: 0 auto 20px;
		border: 2px solid #ccc;
		border-radius: 5px;
		background-color: #f8f8f8;
	}

		#share ul{
			height: 20px;
			padding-left: 25px;
			text-align: center;
			list-style: none;
		}

		#share li{
			float: left;
			height: 20px;
		}

		#share #twitter_tweet { width:  90px; }
		#share #twitter_follow{ width: 110px; }
		#share #facebook_like { width: 160px; }
		#share #google_plus   { width:  70px; }
		#share #mixi_like     { width: 110px; }

	#column{
		position: relative;
		min-height: 300px;
		margin-right: 380px;
	}

	#main_ads{
		position: absolute;
		top: 10px;
		left: 500px;
		width: 336px;
	}

	#address{
		position: absolute;
		bottom: 70px;
		width: 860px;
		border-radius: 10px;
		background-color: #383430;
	}

		#address ul{
			padding: 10px;
		}

		#address li{
			display: inline;
			font-size: 13px;
		}

		#address li a{
			color: #999690;
			text-decoration: none;
		}

		#address li a:hover{
			color: #ccc9c0;
		}

		#address li:after{
			content: " | ";
			color: #666;
		}

		#address li:first-child:before{
			content: " | ";
			color: #666;
		}

	.i_banner:before{
		display: inline-block;
		width: 88px;
		text-align:center;
		vertical-align: middle;
		font-style: normal;
		border-radius:3px;
		margin-left: 5px;
		margin-right: 3px;
		font-size:10px;
		line-height:18px;
		color:#fff;
	}

	.i_esc:before{ content: "脱出ゲーム";   background-color:#664422;}
	.i_obj:before{ content: "探し物ゲーム"; background-color:#693;}
	.i_typ:before{ content: "タイピング";   background-color:#369;}
	.i_mng:before{ content: "ミニゲーム";   background-color:#ee8822;}
	.i_tol:before{ content: "ツール";       background-color:#c33;}
	.i_inf:before{ content: "おしらせ";     background-color:#228888;}
/* --- ▲コンテンツ▲ --- */


/* --- ▼サイド▼ --- */
#side{
	float: right;
	width: 160px;
	padding-top: 20px;
}

	#side h2:before{
		content: "";
		position: absolute;
		top: 3px;
		left: 3px;
		width: 10px;
		height: 10px;
		border: 2px solid #333;
		border-radius: 16px;
	}

	#side h2{
		position: relative;
		padding-left: 22px;
		font-size: 14px;
		font-weight: normal;
	}

	#side_share{
		text-align: center;
	}

		#side_share li{
			float: left;
			padding: 3px;
			list-style: none;
		}

		#side_share li img{
			display: block;
		}
/* --- ▲サイド▲ --- */

/* --- ▼フッター▼ --- */
#foot{
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 20px 0 15px;
	/*background-color: #594D3F;*/
	background-color: #252321;
	background-image: url(/com/style/foot-back.gif);
}

	#foot p{
		padding-bottom: 5px;
		text-align: center;
		color: #fff;
		font-size: 12px;
		font-style: normal;
	}

	#foot #counter{
		display: block;
		margin: 0 auto;
	}
/* --- ▲フッター▲ --- */

/* --- ▼画面の小さいユーザ用▼ --- */
@media screen and (max-width: 1100px) {
	#page{
		width: 900px;
	}

	#main{
		width: 860px;
	}

	#side{
		display: none;
	}
}