html{
	font-size:12px;
}
body{
	margin:0;
	padding:0;
	background-color:#fdfafa;
}


.tagsearch.pc {
    width: 800px;
    border: 0;
    border: 2px solid #bbb;
    padding: 5px;
    height: 300px;
}
.tagsearch.smp {
    width:100%;
    border: 1px solid #bbb;
    padding: 0;
    height: 300px !important;
}

#contents .app-out{
	display:block;
	text-align:center;
	color:white;
	font-size:18px;
	margin:5px;
}
#contents .app-out a{
	background-color:#05b0ff;
	display:block;
	padding:1rem;
	text-decoration:none;
	height:100%;
	color:white;
	border-radius:5px;
}

#contents h1{
	font-weight:normal;
	font-size:1.25rem;
	display:block;
	text-align:center;
	padding:8px;
	position:relative;
	box-shadow:0px 1px 3px rgba(10,10,10,0.2);
	margin:0;
	margin-bottom:10px;
	font-weight:bolder;
	letter-spacing:2px;
	
	border-left: 1px solid #1682ba;
	border-right: 1px solid #1682ba;
	border-top: 1px solid #1682ba;
	cursor: pointer;
	z-index: 2;
	font-weight: bold;
	text-decoration: none;
	color: #ffffff;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
	background: #36aae7;
	background: -webkit-linear-gradient(#36aae7, #1fa0e4);
	background: -moz-linear-gradient(#36aae7, #1fa0e4);
	background: -o-linear-gradient(#36aae7, #1fa0e4);
	background: -ms-linear-gradient(#36aae7, #1fa0e4);
	background: linear-gradient(#36aae7, #1fa0e4);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
	position: relative;
	line-height: 1.25em;	
}

#contents .data{
	height:100%;
	overflow:auto;
}
#contents .condition{
	float:left;
	width:70%;
	border-right: 1px solid #2ba5e5;
	box-sizing:border-box;
	background-color:white;
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
#contents .result{
	float:right;
	width:30%;
	position:relative;
	height:100%;
}
#contents .result .list{
	position:fixed;
	right:1%;
	bottom:1%;
	width:28%;
	top:0;
	height:85%;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
#contents .result .list .tag{
	padding:5px 0;
	border-bottom:1px solid #ddd;
	cursor:pointer;
	position:relative;
}
#contents .result .list .tag:hover{
	color:blue;
}
#contents .result .tag strong{
	display:inline-block;
	margin-right:5px;
	border-radius:5px;
	color:white;
	background-color:#333;
	padding:2px 8px;
}
#contents .result .tag .close{
	display:none;
	position:absolute;
	right:0;
	top:0;
	height:20px;
	width:20px;
	background-image:url(../images/icon-close.png);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
}
#contents .result .tag:hover .close{
	display:block;
}

#contents .result .search{
	position:fixed;
	right:1%;
	bottom:1%;
	width:28%;
	background-color:#333;
	text-align:center;
	font-size: 12px;
	color: white;
	height:10%;
	font-size:15px;
	text-align: center;
	border-radius: 5px;
	box-sizing: border-box;
	cursor:pointer;
}
#contents .result .search a{
	color:white;
	text-decoration:none;
	display:block;
	height:100%;
}
#contents .result .search em{
	font-style:normal;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
#contents h2{
	margin:0 5px;
	margin-bottom:5px;
	font-weight:normal;
	font-size:1.25rem;
	display:block;
	padding:5px;
	padding-left:30px;
	cursor:pointer;
	position:relative;
	border-bottom:1px solid #2da6e5;
	color: #333;
	font-weight:bolder;
	background-color:#efefef;
}
#contents h2:before{
	content:"";
	display:block;
	width:16px;
	height:16px;
	background-image:url(../images/nav-arrow-right.png);
	background-size:contain;
	background-repeat:no-repeat;
	position:absolute;
	left:15px;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	transform-origin:0.5rem 2px;
	-ms-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
#contents h2 .clear{
	display:none;
	font-size:12px;
	background-color:white;
	position:absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	padding:2px 4px;
	border-radius:4px;
	font-weight:normal;
	color:#26a3e4;
	cursor:pointer;
	
}
#contents h2 .clear.selected{
	display:block;
}
#contents h2 .clear:hover{
	color:white;
	background-color:#26a3e4;
}

#contents .group{
	margin:0 5px;
	padding:0;
	list-style-type:none;
	display:none;
	overflow:hidden;
	display:none;
	margin-bottom:10px;
}
#contents h2.open:before{
	transform:rotate(90deg);
}
#contents h2.open + .group{
	display:block;
}


#contents .group label{
	display:inline-block;
	float:left;
	box-sizing:border-box;
	overflow:hidden;
	position:relative;
	box-sizing:border-box;
	font-size:14px;
	text-align:center;
	margin-right:2px;
	margin-bottom:2px;
}
#contents .group label input{
	position:absolute;
	visibility:hidden;
}
#contents .group label span{
	display:block;
	background-color:aliceblue;
	padding:0.6rem 1rem;
	cursor:pointer;
	box-sizing:border-box;
	position:relative;
	word-wrap: break-word;
}
#contents .group label input + span:after{
	content:"";
	display:block;
	border:1px solid #ddd;
	width:100%;
	height:100%;
	left:0;
	top:0;
	box-sizing:border-box;
	position:absolute;
}
#contents .group label input + span:hover:after{
	border:1px solid blue;
}
#contents .group label input:checked + span:after{
	border:2px solid blue;
}
#contents .group label input:checked + span{
	color:blue;
}




/* SP */
@media screen and (max-width: 736px) {
	#contents{
		font-family:-apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Lucida Grande', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		-webkit-text-size-adjust: 100%; 
		-webkit-appearance: none;
	}
	#contents .condition{
		float:none;
		width:auto;
		border:0;
		height:initial;
		margin-bottom:2px;
		/* overflow:visible; */
		overflow:visible;
	}
	#contents h1{
		margin:0;
		padding:10px;
	}
	#contents h2{
		margin:0;
		padding:10px;
		padding-left:30px;
		border-bottom-width:1px;
	}
	#contents .group{
		margin:5px;
	}
	#contents .group label span{
		padding:0.5rem 1rem;
	}
	
	#contents .result{
		float:none;
		width:auto;
		height:auto;
	}
	#contents .result:before{
		content:"検索内容";
		display:block;

		font-weight:normal;
		font-size:1.25rem;
		display:block;
		text-align:center;
		padding:10px;
		position:relative;
		box-shadow:0px 1px 3px rgba(10,10,10,0.2);
		margin:0;
		font-weight:bolder;
		letter-spacing:2px;
		
		border-left: 1px solid #1682ba;
		border-right: 1px solid #1682ba;
		border-top: 1px solid #1682ba;
		cursor: pointer;
		z-index: 2;
		font-weight: bold;
		text-decoration: none;
		color: #ffffff;
		text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
		background: #36aae7;
		background: -webkit-linear-gradient(#36aae7, #1fa0e4);
		background: -moz-linear-gradient(#36aae7, #1fa0e4);
		background: -o-linear-gradient(#36aae7, #1fa0e4);
		background: -ms-linear-gradient(#36aae7, #1fa0e4);
		background: linear-gradient(#36aae7, #1fa0e4);
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
		position: relative;
		line-height: 1.25em;	
		
	}
	#contents .result .list{
		position:static;
		right:auto;
		bottom:auto;
		width:auto;
		height:auto;
		margin:0  5px;
		margin-bottom:5px;
		overflow:visible;
		font-size:14px;
	}
	#contents .result .search{
		position:static;
		right:auto;
		bottom:auto;
		width:auto;
		height:auto;
		margin:0 5px;
		margin-bottom:10px;
	}
	#contents .result .search a{
		display:block;
		height:100%;
		padding:1rem;
	}
	#contents .result .search em{
		position:static;
		top:auto;
		left:auto;
		transform:none;
	}
	#contents .result .list .tag{
		padding:5px 0;
	}
	#contents .result .tag .close{
		display:block;
		right:10px;
	}
	#contents .result .tag strong{
		padding:5px 8px;
	}
}
