@charset "utf-8";

body{
	color:#221815;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.container{
	width:1000px;
	max-width:100%;
	margin:auto;
	position:relative;
	overflow:hidden;
}


/* ==========================================================================
   common
   ========================================================================== */
#topicpath li a,
#main a{
	color:#007AFF;
	text-decoration:underline;
}
#main a:not(.noicon)[target="_blank"]:before{
	content:"";
	width:13px;
	height:12px;
	display:inline-block;
	margin-right:2px;
	background:url(../img/blank.png) 0 0 no-repeat;
	background-size:100% auto;
}

#main h2{
	font-size:30px;
	color: #1c579c;
	margin-bottom:20px;
	padding:2px 10px;
	border-left:solid 6px #1c579c;
}
#main .section h3{
	font-size:18px;
	font-weight:bold;
	border:solid 1px #e2e4e8;
	border-bottom:none 0 transparent;
	padding:15px 60px 15px 10px;
	position:relative;
	border-radius:2px 2px 0 0;
	line-height:1.25;
}
	#main .section h3:before{
		content:"";
		display:block;
		height:3px;
		background:#1c579c;
		margin:-12px -57px 15px -7px;
	}
	#main .section h3 > span{
		color:white;
		font-size:12px;
		background:#2cc0c0;
		padding:5px 5px 5px 10px;
		border-radius:4px;
		position:absolute;
		right:10px;
		top:50%;
		margin-top:-10px;
	}
		#main .section h3 > span > .fa{
			-webkit-transform:translateX(-5px) rotate(-180deg);
			transform:translateX(-5px) rotate(-180deg);
			-webkit-transition:all .3s;
			transition:all .3s;
		}
		#main .section h3.close > span > .fa{
			-webkit-transform:translateX(-5px) rotate(0deg);
			transform:translateX(-5px) rotate(0deg);
		}

#main .section h4{
	font-size:16px;
	font-weight:bold;
	line-height:1.25;
	border-left:solid 4px #27A9D7;
	background:#f2f2f2;
	margin: 20px auto 10px auto;
	padding:4px 10px;
}


.section .block{
	padding: 10px 10px 20px;
	margin-bottom:20px;
	overflow:hidden;
	border:solid 1px #e2e4e8;
	border-top:none 0 transparent;
	border-radius:0 0 2px 2px;
	-webkit-transition:height .3s;
	transition:height .3s;
}
.section h3.close + .block{
	height:0;
	padding:0;
	-webkit-transition:height .3s, padding 0s .2s;
	transition:height .3s, padding 0s .2s;
}
	.section .block:before{
		content:"";
		display:block;
		border-top:dotted 1px #e2e4e8;
		margin:-10px -5px 10px;
	}


#main #callhere{
	text-align:center;
	padding:15px 10px;
	margin:20px 0 0;
	border:solid 3px #2cc0c0;
	border-radius:4px;
}
	#main #callhere > div{
		font-size:21px;
	}
		#main #callhere > div > a{
			text-decoration:none;
			white-space:nowrap;
			display:inline-block;
		}
		#main #callhere i,
		#main #callhere p{
			font-size:smaller;
		}
		#main #callhere a{
			color:#2cc0c0;
		}
			#main #callhere a > span{
				margin-right:.25em;
			}
@media screen and (max-width: 767px){
	#main #callhere > div > a{
		display:block;
	}
}


#totop{
	font-size:0;
	text-align:center;
	width:40px;
	height:40px;
	line-height:38px;
	position:fixed;
	right:15px;
	bottom:15px;
	z-index:1;
	border-radius:20px;
	background:rgba(39,169,215,0.9);
	visibility:hidden;
	pointer-events:none;
	-webkit-transition:all .3s;
	transition:all .3s;
	-webkit-transform:translateY(56px);
	transform:translateY(56px);
}
#totop.in{
	visibility:visible;
	pointer-events:auto;
	-webkit-transform:translateY(0);
	transform:translateY(0);
}
#totop:hover{
	background:rgba(44,192,192,0.9);
}
	#totop a{
		display:block;
	}
	#totop img{
		vertical-align:middle;
	}


#tab{
	height:51px;
	margin:20px 0 10px;
	overflow:hidden;
	font-weight:bold;
	border-top:solid 1px #1c579c;
}
#tab li{
	float:left;
	width:20%;
	height:50px;
	text-align:center;
	line-height:50px;
	position:relative;
	color:#1c579c;
	background:#fff;
	border-bottom:solid 1px #1c579c;
	cursor:pointer;
}
#tab li.active{
	color:white;
	background:#1c579c;
}
#tab li.active:after{
	content:"";
	position:absolute;
	width:0;
	height:0;
	border-style:solid;
	border-width:0 5px 5px;
	border-color:transparent transparent white transparent;
	left:0;
	right:0;
	bottom:-1px;
	margin:auto;
}
#tab li span{
	margin-right:3px;
}
#tab li.ws{
	cursor:default;
	pointer-events:none;
}


@media screen and (min-width: 767px){
	#tab li:not(:first-child):before{
		content:"";
		position:absolute;
		width:1px;
		height:30px;
		background:#1c579c;
		left:0;
		top:10px;
	}
}
@media screen and (max-width: 767px){
	#tab{
		margin-left:-10px;
		margin-right:-10px;
		padding:0 10px;
		height:102px;
	}
	#tab li{
		width:33.3%;
	}
		#tab li:not(:nth-of-type(3n+1)):before{
			content:"";
			position:absolute;
			width:1px;
			height:30px;
			background:#1c579c;
			left:0;
			top:10px;
		}
}

/* ==========================================================================
   info
   ========================================================================== */
#main.info dt{
	width:5.5em;
	float:left;
	clear:left;
	padding:6px .25em;
}
#main.info dd{
	padding:6px .25em 6px 6em;
	border-bottom:dotted 1px #e2e4e8;
}
#main.info dd:last-child{
	padding-bottom:0;
	border-bottom-width:0;
}
#map_canvas{
	position:relative;
	height:0;
	padding-bottom:56.25%;
	overflow: hidden;
}
#map_canvas iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}
@media screen and (max-width: 767px){
	#map_canvas{
		padding-bottom:75%;
		padding-bottom:100%;
	}
}

/* ==========================================================================
   profile
   ========================================================================== */
#main.profile .block p{
	width:180px;
	margin:auto;
	text-align:center;
	float:left;
}
#main.profile .block p > i,
#main.profile .block p > span{
	display:block;
	font-size:smaller;
}
#main.profile .block p + div{
	margin-left:190px;
}
#main.profile .block ol > li{
	padding:5px 0;
	border-top:solid 1px #e2e4e8;
}
#main.profile .block ol > li:first-child{
	border-top-width:0;
}
#main.profile .block .note{
	border-top: solid 1px #e2e4e8;
	text-indent:-2.5em;
	padding-left:2.5em;
	padding-top:10px;
	margin-top:10px;
}
@media screen and (max-width: 767px){
	#main.profile .block p{
		float:none;
	}
	#main.profile .block p + div{
		margin-left:0;
	}
}

/* ==========================================================================
   sitemap
   ========================================================================== */
#main.sitemap dt{
	font-size:16px;
	margin-top:15px;
	padding-top:15px;
	border-top: dotted 1px #e2e4e8;
}
#main.sitemap dt:first-child{
	border-top-width:0;
}
#main.sitemap dt > a{
	color:inherit;
	display:block;
}
#main.sitemap dt:hover > a{
	color:#2cc0c0;
}
#main.sitemap dt > a:before{
	color:#2cc0c0;
	content:"\f0a9";
	font:normal normal normal 14px/1 FontAwesome;
	display:inline-block;
	margin-right:5px;
}
#main.sitemap dd{
	font-size:smaller;
	padding-top:5px;
}
