/* vim:set ts=4 sts=4 sw=4 bs=2 ai si noet nu ff=dos ft=css: */
/* $Id$ */
/* Last Change: 25-March-2023 09:36:48. */

body.noscroll {
	overflow: hidden;
}

#outside {
	width: 100%;
	background-color: #ecebeb;
}

#header {
	display: table;
	width: 100%;
	overflow: hidden;
	color: gray;
	height: auto;
}

#gnavi a:link,
#gnavi a:visited,
#gnavi a:hover,
#gnavi a:active {
	color: gray;
	text-decoration: none;
}

#gnavi, #gnavi_menulist, #gnavi_bg {
	display: none;
}

	#header #main {
		display: none;
		background: none;
		text-align: center;
		font-size: 1.7em;
	}

	#contents #rail {
		display: table-cell;
/* 		width: 300px; */
/* 		max-width: 340px; */
		min-width: 250px;
		width: 20%;

		vertical-align: top;
	}

	#header #hd_navi_sp {
		display: table-cell;
/* 		width: 300px; */
/* 		max-width: 340px; */
		min-width: 250px;
		width: 20%;
/* 		width: 250px; */
		background-color: white;
	}

	#header #hd_navi {
		display: table-cell;
/* 		width: 300px; */
/* 		max-width: 340px; */
		min-width: 250px;
		width: 20%;
/* 		width: 250px; */
		vertical-align: top;
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		overflow-y: auto;
		background-color: white;
	}

	#hd_navi #side_menu {
		list-style-type: none;
		background-color: white;
/* 		border: 1px solid gray; */
		border-left: none;
		height: 100vh;
	}

		#hd_navi #side_menu > li {
			list-style-type: none;
			border-bottom: 1px solid gray;
			padding: 10px;
			padding: 10px;
			display: block;
		}

		#hd_navi #side_menu > li:last-child {
			margin-bottom: 0;
			border-bottom: none;
		}

		#hd_navi #side_menu li#logo {
			padding: 1em;
			text-align: center;
			vertical-align: middle;
		}

		#hd_navi #side_menu li#logo img {
/* 			width: 69%; */
			width: 160px;
		}

		#hd_navi #side_menu li#eki,
		#hd_navi #side_menu li#chiiki,
		#hd_navi #side_menu li#jyouken {
/* 			height: 90px; */
/* 			height: 10%; */
			height: 6vw;
/* 			min-height: 90px; */
			min-height: 75px;
			position: relative;
			overflow: hidden;
			display: table;
			width: 100%;
		}

			#hd_navi #side_menu li#eki a,
			#hd_navi #side_menu li#chiiki a,
			#hd_navi #side_menu li#jyouken a {
				display: table-cell;
				position: relative;
				height: 100%;
				vertical-align: bottom;
				font-size: 1.3em;
				font-weight: bold;
				color: #5398C7;
				text-decoration: none;
			}

			#hd_navi #side_menu li#eki a span,
			#hd_navi #side_menu li#chiiki a span,
			#hd_navi #side_menu li#jyouken a span {
				display: block;
				margin: 0.5em;
			}

			#hd_navi #side_menu li#eki figure img,
			#hd_navi #side_menu li#chiiki figure img,
			#hd_navi #side_menu li#jyouken figure img {
				width: 100%;
				height: auto;
			}

			#hd_navi #side_menu li#eki figure {
				position: absolute;
				bottom: -12px;
				right: -8px;
				width: 110px;
				height: 60px;
			}

			#hd_navi #side_menu li#eki figure.hover {
				bottom: -4px;
			}

			#hd_navi #side_menu li#chiiki figure {
				position: absolute;
				bottom: -14px;
				right: -8px;
				width: 70px;
				height: 60px;
			}

			#hd_navi #side_menu li#chiiki figure.hover {
				bottom: -7px;
			}

			#hd_navi #side_menu li#jyouken figure {
				position: absolute;
				bottom: -16px;
				right: -8px;
				width: 70px;
				height: 56px;
			}

			#hd_navi #side_menu li#jyouken figure.hover {
				bottom: -8px;
			}

			#hd_navi #side_menu li#contact {
				border-bottom: none;
			}

			#hd_navi #side_menu li#contact a:link,
			#hd_navi #side_menu li#contact a:visited,
			#hd_navi #side_menu li#contact a:hover,
			#hd_navi #side_menu li#contact a:active {
				color: gray;
				text-decoration: none;
			}

			#hd_navi #side_menu li#contact ul {
				display: table;
				width: 102%;
				height: 110px;
				table-layout: fixed;
				margin-top: 0.5em;
				margin-bottom: 0.5em;
				margin: 0.5em auto;
			}

				#hd_navi #side_menu li#contact ul li {
					display: table-cell;
					text-align: center;
					font-size: 0.9em;
					vertical-align: top;
				}

					#hd_navi #side_menu li#info a.contact {
						position: relative;
						border: 1px solid gray;
						border-radius: 10px;
						display: inline-block;
/* 						width: 250px; */
						width: 94%;
						height: 90px;
						background-size: 68%;
						box-shadow: #aaa 4px 4px 4px;
					}

					#hd_navi #side_menu li#info a.contact img {
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						bottom: 0;
						margin: auto;
						width: 85%;
					}

					#hd_navi #side_menu li#contact a.mail {
						position: relative;
						border: 1px solid gray;
						border-radius: 10px;
						display: inline-block;
						background: url(../images/svg/sidemenu_mail.svg) no-repeat center center;
						width: 96px;
						height: 96px;
						background-size: 50%;
						box-shadow: #aaa 4px 4px 4px;
					}

					#hd_navi #side_menu li#info a.contact:hover,
					#hd_navi #side_menu li#contact a.mail:hover,
					#hd_navi #side_menu li#contact a.access:hover {
						margin-left: 4px;
						margin-top: 4px;
						box-shadow: none;
					}

					#hd_navi #side_menu li#contact a.access {
						position: relative;
						border: 1px solid gray;
						border-radius: 10px;
						display: inline-block;
						background: url(../images/svg/sidemenu_access.svg) no-repeat center center;
						width: 96px;
						height: 96px;
						background-size: 68%;
						box-shadow: #aaa 4px 4px 4px;
					}

					#hd_navi #side_menu li#contact a span {
						position: absolute;
						bottom: 0.7em;
						left: 0;
						right: 0;
					}

			#hd_navi #side_menu li#info {
				border-bottom: none;
			}

			#hd_navi #side_menu li#info ul {
				height: 140px;
				list-style-type: none;
			}

				#hd_navi #side_menu li#info ul li {
					text-align: center;
					line-height: 1.4;
				}

				#hd_navi #side_menu li#info ul li.title {
					text-align: left;
					color: #5398C7;
					text-decoration: none;
					padding-left: 0.5em;
					position: relative;
					margin-bottom: 1rem;
				}

				#hd_navi #side_menu li#info ul li.title a:link,
				#hd_navi #side_menu li#info ul li.title a:visited,
				#hd_navi #side_menu li#info ul li.title a:hover,
				#hd_navi #side_menu li#info ul li.title a:active {
					color: gray;
					text-decoration: none;
				}

				#hd_navi #side_menu li#info ul li.title a {
					margin-left: 36px;
					display: block;
				}

				#hd_navi #side_menu li#info ul li.title:before {
					content: "";
					width: 22px;
					height: 17px;
					display: inline-block;
					background: url(../images/svg/sidemenu_gaiyo_m.svg) no-repeat 0 center;
					background-size: 17px;
					position: absolute;
					bottom: 5px;
					left: 18px;
				}

				#hd_navi #side_menu li#info ul li.title:hover:before {
					left: 22px;
				}

				#hd_navi #side_menu li#info ul li.number {
					color: #5398C7;
					font-size: 1.8em;
					font-weight: bold;
				}

				#hd_navi #side_menu li#info ul li.note {
					font-size: 0.9em;
				}


#contents {
	display: table;
	position: relative;
	width: 100%;
	overflow: hidden;
	color: gray;
}

#contents .disp_table {
	display: table;
	table-layout: fixed;
	width: 100%;
}

#contents .disp_cell {
	display: table-cell;
	vertical-align: top;
	padding: 0.5em;
}

		#content ul,
		#content li {
			list-style-type: none;
		}

		#content #wrap {
			width: 95%;
			margin: 0 auto;
			max-width: 1100px;
		}

#town_wrap {
	position: relative;
	display: table;
	width: 100%;
	z-index: 11;
	margin-top: 4em;
	margin-bottom: -50px;
}

#town_rail {
	display: table-cell;
/* 		width: 300px; */
	max-width: 340px;
	min-width: 250px;
	width: 20%;

	vertical-align: top;
}

#town {
	display: table-cell;
	width: 80%;
	text-align: right;
}

#town img {
	width: 98%;
}

#footer_bg {
	position: relative;
	padding-top: 80px;
	background-color: #4B4C4D;
	display: table;
	width: 100%;
	max-height: 445px;
	z-index: 10;
}

#footer {
	color: white;
	margin-left: auto;
	margin-right: 0;
	padding-left: 2em;
	display: table;
	position: relative;
	display: table-cell;
	color: #B6BAB7;
	font-size: 0.9em;
}

		#footer ul,
		#footer li {
			list-style-type: none;
			margin-bottom: 0.6em;
		}

#footer .table {
	display: table;
	width: 100%;
}

#footer .cell {
	display: table-cell;
	vertical-align: middle;
	padding: 1em;
}

		#footer a:link,
		#footer a:visited,
		#footer a:hover,
		#footer a:active {
			color: #B6BAB7;
			text-decoration: none;
		}

#footer_rail {
	display: table-cell;
/* 		width: 300px; */
	max-width: 340px;
	min-width: 250px;
	width: 20%;

	vertical-align: top;
}

	#footer .wrap {
		display: table;
		width: 90%;
		margin: 0 auto;
	}

	#footer .wrap .title {
		margin-bottom: 1em;
		text-decoration: underline;
	}

	#footer .bukken {
		display: table-cell;
		table-layout: fixed;
	}

	#footer .bukken > ul,
	#footer .fudousan > ul {
		display: table;
		width: 100%;
	}

	#footer .bukken > ul > li,
	#footer .fudousan > ul > li {
		display: table-cell;
	}


	#footer #address {
	}

	#footer figure#ft_logo {
		width: 160px;
		max-width: 160px;
	}

	#footer #footer_end {
		border-top: 1px solid gray;
		margin-top: 1em;
		padding: 1em;
		width: 98%;
	}

	br.sp {
		display: none;
	}
