body {
	display:-webkit-flex;
	display:flex;
	height:100vh;
	background-color:#f2f2f2;
	font-size:1.0em;
	font-size:100%;
	line-height:1.5;
	text-align:center;
	padding:0;
	margin:0;
}
#main {
	width:100%;
	margin:auto;
	text-align:center;
	overflow:auto;
}
/* #logo {
	font-size:22px;
	font-weight:bold;
}
img {
	vertical-align: middle;
} */
 #box {
	margin:1.2em auto;
	text-align:left;
	border:1px solid #4a69c5;
	display:-webkit-flex;
	display:flex;
	flex-flow:row;
	align-items:center;
	background-color:#fff;
}
.box-pc {
	width:90%;
	max-width:980px;
}
.box-m {
	width:95%;
}
#box div {
	text-align:center;
	color:#f2f2f2;
	background-color:#4969c7;
	cursor:pointer;
	padding:0.4em 0.6em;
}
input {
	flex:1;
	border:none;
	font-size:1.1em;
	padding:0.2em 0.5em;
}
input:focus {
	outline:none;
}
#link {
	width:100%;
	text-align:center;
	margin:1.2em 0;
}
#link span {
	display:inline-block;
	margin:0.5em 0.3em;
	/*padding:0.2em 0;*/
	color:#666;
	font-weight:bold;
	text-decoration:none;
	box-shadow:1px 1px 2px #aaa;
	border-radius:5px;
	cursor:pointer;
}
@media (any-hover:hover) {
	#link span:hover, #nav span:hover {
		color:#f2f2f2;
		background-color:#4969c7;
	}
	.cls a:hover {
		color:#f2f2f2 !important;
		background-color:#4969c7 !important;
	}
}
.link-pc {
	margin:0 0.5em;
	padding:0.2em 1em;
	font-size:0.95em;
}
.link-m {
	margin:0 0.4em;
	padding:0.2em 0.8em;
	font-size:0.9em;
}
#linkbox {
	margin:0 auto;
}
.linkbox-pc {
	max-width:750px;
}
.linkbox-m {
	width:90%;
}
.focus {
	color:#f2f2f2 !important;
	background-color:#4969c7 !important;
}
.cls {
	display:none;
	margin:0 auto;
	padding:0.5em 0;
	border-bottom:1px solid #fff;
}
.cls a {
	display:inline-block;
	text-align:center;
	font-size:0.8em;
	text-decoration:none;
	color:#303030;
	border-radius:5px;
}
.cls-a-pc {
	padding:0.3em 0.5em;
	margin:0.2em;
}
.cls-a-m {
	border:1px solid #ddd;
	margin:0.3em 0.5%;
	padding:0 0.4em;
	width:24%;
	height:2.5em;
	line-height:2.5em;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
}
input, .cls a, #box {
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
#nav {
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:#fff;
	text-align:center;
	filter:alpha(opacity=95);
	-moz-opacity:0.95;
	opacity:0.95;
}
#nav span {
	display:inline-block;
	margin:0.6em 1%;
	padding:0.4em 1em;
	width:80px;
	box-shadow:1px 1px 2px #aaa;
	border-radius:5px;
	background-color:#f2f2f2;
	cursor:pointer;
}