@charset "utf-8";

.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: #fff;
	opacity: 0.8;
	width: 200%;
	height: 200%;
}

/*横長バナー
------------------------------*/
.md_singleBanner {
	text-align: center;
	background: #f0f0f0;
	padding: 40px 0;
}
.md_singleBanner.bgWhite {
	background: #fff;
}

/*3枚横並びバナー
------------------------------*/
.md_tripleBanner {
	width: 1048px;
	min-width: 1048px;
	letter-spacing: -.40em;
	text-align: center;
	padding: 40px 0;
	margin: 0 auto;
}
	.md_tripleBanner > div {
		display: inline-block;
		width: 336px;
		letter-spacing: normal;
		margin: 0 5px 0 5px;
		vertical-align: top;
}
	}


/*黒帯見出し
------------------------------*/
.md_headerText {
	color: #fff;
	font-size: 129%;
	background-color: #373737;
	width: 100%;
	text-align: center;
	padding: 18px 0;
}



/* 2カラム(左コンテンツ/右バナー)右ブロック
------------------------------*/
.side {
	float: left;
	width: 336px;
	text-align: center;
}
	.side .localNavi {
		width: 334px;
		margin-bottom: 20px;
		background: #fff;
		border: #000 1px solid;
		z-index: 200;
	}
		.side .localNavi h2 {
			padding: 16px 0;
			margin: 0 12px;
			font-size: 128.6%;
			border-bottom: #000 2px solid;
		}
		.side .localNavi ul {
			margin: 13px 0;
			text-align: left;
		}
			.side .localNavi ul li {
				padding: 6px 19px;
			}
				.side .localNavi ul li a {
					color: #000;
					font-size: 92.9%;
					font-weight: bold;
				}
					.side .localNavi ul li a:hover {
						-webkit-transition: opacity 0.2s ease-out;
						-moz-transition: opacity 0.2s ease-out;
						-o-transition: opacity 0.2s ease-out;
						-ms-transition: opacity 0.2s ease-out;
						transition: opacity 0.2s ease-out;
						opacity: 0.7;
						filter: alpha(opacity=70);
						transition: all .4s;
						zoom: 1;
					}
	.side .md_sideBanner {}
		.side .md_sideBanner div {
			margin-bottom: 20px;
		}
			.side .md_sideBanner div:last-child {
				margin: 0;
			}
			.side .md_sideBanner div.fixed {
				position: fixed;
				top: 0;
				bottom: auto;
			}
				.side .md_sideBanner div.fixed img {
					max-width: 336px;
				}
			.side .md_sideBanner div.absolute {
				position: absolute;
				top: auto;
				bottom: 0;
				right: 0;
			}
				.side .md_sideBanner div.absolute img {
					max-width: 336px;
				}


/* アコーディオン枠
------------------------------*/
.md_accordion {
	background: #fff;
}
	.md_accordion .title {
		position: relative;
		padding: 17px;
		text-align: center;
		font-size: 142.9%;
		background-image: url(../../assets/img/ico_schedule_plus@2x.png), url(../../assets/img/bg_accordion_title@2x.png);
		background-repeat: no-repeat, repeat;
		background-position: right 22px center, center;
		background-size: 36px, 4px;
		cursor: pointer;
	}
		.md_accordion .title.active {
			background-image: url(../../assets/img/ico_schedule_minus@2x.png), url(../../assets/img/bg_accordion_title@2x.png);
		}
		.md_accordion .title:after {
			position: absolute;
			left: 25px;
			right: 25px;
			bottom: -1px;
			display: block;
			width: auto;
			height: 2px;
			background: #333;
			content: '';
		}
	.md_accordion .main {
		display: none;
		padding: 0 40px 30px;
	}
		.md_accordion .main div:last-child {
			margin-bottom: 0;
		}



/* 横並びDL
------------------------------*/
dl.md_dlLine {
	width: 100%;
	overflow: hidden;
	border-bottom: 1px solid #d7d7d7;
	margin: 10px 0;
}
	dl.md_dlLine dt {
		float: left;
		width: 150px;
		padding: 8px 0;
		font-weight: bold;
	}
	dl.md_dlLine dd {
		border-top: 1px solid #d7d7d7;
		padding: 8px 0 8px 150px;
	}



/* 灰色見出しDL
------------------------------*/
dl.md_dlBlock {
	width: 100%;
	margin: 10px 0 20px;
}
	dl.md_dlBlock dt {
		background: #d7d7d7;
		padding: 5px;
		font-weight: bold;
	}
	dl.md_dlBlock dd + dt {
		margin-top: 20px;
	}
	dl.md_dlBlock dd {
		padding: 10px 20px;
	}



/* table
------------------------------*/
table.md_table01 {
	width: 100%;
	border: 2px solid #000;
	margin: 0 0 20px;
}
table.md_table01:last-child {
	margin: 0;
}
	table.md_table01 th {
			background: url(../img/bg_dot2.png);
			background-size: 20px;
			font-weight: bold;
	}
	table.md_table01 th,
	table.md_table01 td {
		border-right: 1px solid #d7d7d7;
		border-bottom: 1px solid #d7d7d7;
		padding: 5px 10px;
	}



/* ・リスト
------------------------------*/
ul.md_listDot {
	margin: 0;
}
	ul.md_listDot li {
		text-indent: -1em;
		margin-left: 1em;
	}
	ul.md_listDot li:before {
		content: "・";
	}



/* 白枠ボタン
------------------------------*/
a.md_squareBtnWhite {
	display: block;
	padding: 14px 0;
	margin: 0 auto;
	background: #fff;
	text-align: center;
	color: #000;
	font-size: 115%;
	font-weight: bold;
	text-decoration: none;
}
a.md_squareBtnWhite:hover {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-o-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all .4s;
	box-shadow: 0 0 5px #333;
	zoom: 1;
}
/*黒縁*/
a.md_squareBtnWhite.line {
	border: 1px solid #000;
}
/*戻るアイコン*/
a.md_squareBtnWhite.back {
	background: url(../img/ico_arrow_back@2x.png) 30px center no-repeat #fff;
	background-size: 11px 16px;
}
/*アンカーアイコン*/
a.md_squareBtnWhite.anchor span:before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 12px;
	background: url(../img/ico_arrow_down@2x.png) no-repeat;
	background-size: cover;
	vertical-align: middle;
	margin-right: 5px;
}
/*外部リンクアイコン*/
a.md_squareBtnWhite.blank:after {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	background: url(/assets/img/ico_new@2x.png) no-repeat;
	background-size: cover;
	margin-left: 5px;
}
/*PDFアイコン*/
a.md_squareBtnWhite.pdf {
	padding: 6px 0;
}
	a.md_squareBtnWhite.pdf span {
		display: inline-block;
		padding: 8px 31px 8px 0;
		background: url(../../img/facility/ico_pdf@2x.png) no-repeat right center;
		background-size: 21px 23px;
	}



/*モーダル「この画面を閉じる」ボタン*/
.wrap .scroll .modalClose,
.wrap .inner + .modalClose {
	display: block;
	width: 40%;
	background: #fff;
	border: 1px solid #000;
	border-radius: 3px;
	color: #000;
	font-size: 129%;
	font-weight: bold;
	text-align: center;
	padding: 5px 0;
	margin: 30px auto;
	cursor: pointer;
}
.wrap .inner + .modalClose {
	margin: 15px auto;
}
.wrap .scroll .modalClose:hover,
.wrap .inner + .modalClose:hover {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-o-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all .4s;
	box-shadow: 0 0 5px #333;
	zoom: 1;
}



/*モーダル「×」ボタン*/
.wrap h1 + .modalClose {
	position: absolute;
	right: 0;
	top: 0;
	color: #fff;
	font-size:  200%;
	font-weight: bold;
	line-height: 56px;
	padding: 0 20px;
	cursor: pointer;
}
.wrap h1 + .modalClose:hover {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-o-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all .4s;
	box-shadow: 0 0 5px #333;
	zoom: 1;
}


/* サービス
------------------------------*/
.service {
	width: 100%;
	min-width: 1048px;
	background: #f0f0f0;
	padding: 50px 0 20px;
	margin: 0 auto;
}
	.service .inner {
		width: 100%;
		max-width: 1200px;
		min-width: 1048px;
		margin: 0 auto;
	}
		.service .inner h1 {
			color: #7d7e7e;
			text-align: center;
			font-size: 93%;
			font-weight: normal;
			margin: 0 0 40px;
		}
			.service .inner h1 span {
				display: block;
				color: #141614;
				font-size: 215%;
				font-weight: bold;
			}
		.service .inner ul {
			letter-spacing: -.40em;
			margin: 0 10px;
			font-size: 0;
		}
			.service .inner ul li {
				display: inline-block;
				width: 32%;
				letter-spacing: normal;
				vertical-align: top;
				padding: 0 2% 2% 0;
			}
			.service .inner ul li:nth-child(3n) {
				padding: 0 0 2% 0;
			}
				.service .inner ul li a {
					display: block;
					color: #000;
					text-decoration: none;
					font-size: 14px;
				}
				.service .inner ul li a:hover {
					-webkit-transition: opacity 0.2s ease-out;
					-ms-transition: opacity 0.2s ease-out;
					transition: opacity 0.2s ease-out;
					opacity: 0.7;
					filter: alpha(opacity=70);
					transition: all .4s;
					box-shadow: 0 0 5px #333;
					zoom: 1;
				}
					.service .inner ul li a dl {
						background: #fff;
					}
						.service .inner ul li dl dt {
							display: block;
							background: #393a39;
							color: #fff;
							font-size: 115%;
							padding: 5px 15px 5px 15px;
						}
						.service .inner ul li a dl dd {
							display: table;
							table-layout: fixed;
							background: #fff;
						}
							.service .inner ul li a dl dd .image {
								display: table-cell;
								width: 40%;
								vertical-align: middle;
								text-align: center;
							}
								.service .inner ul li a dl dd .image img {
									max-width: 151px;
								}
							.service .inner ul li a dl dd .text {
								display: table-cell;
								width: 60%;
								padding: 15px 20px 15px 15px;
							}

/* SNS
------------------------------*/
.sns {
	width: 100%;
	min-width: 1048px;
	background: #f0f0f0;
	padding: 0 0 40px;
	margin: 0;
}
	.sns .inner {
		width: 100%;
		max-width: 1048px;
		min-width: 1048px;
		letter-spacing: -.40em;
		text-align: center;
		margin: 0 auto;
	}
		.sns .inner p {
			display: inline-block;
			width: 468px;
			vertical-align: top;
			margin: 0 10px;
		}
			.sns .inner p a {
				display: block;
				width: 468px;
				height: 40px;
				background: #3C579D;
				letter-spacing: normal;
				padding: 15px 0 5px;
			}
			/*
			.sns .inner p.twitter a {
				display: block;
				width: 468px;
				height: 40px;
				background: #00AEF3;
				letter-spacing: normal;
				padding: 20px 0 0;
			}
			*/
			.sns .inner p.twitter a {
				display: block;
				width: 468px;
				height: 40px;
				background: #000;
				letter-spacing: normal;
				padding: 20px 0 0;
			}
			.sns .inner p a:hover {
				-webkit-transition: opacity 0.2s ease-out;
				-moz-transition: opacity 0.2s ease-out;
				-o-transition: opacity 0.2s ease-out;
				-ms-transition: opacity 0.2s ease-out;
				transition: opacity 0.2s ease-out;
				opacity: 0.7;
				filter: alpha(opacity=70);
				transition: all .4s;
				zoom: 1;
			}