@charset "UTF-8";
/* ==

　■ 共通

=============================================================================== */
body,
html body {
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Arial, Helvetica, sans-serif;
}
#mainContents {
	padding-top: 40px;
	padding-bottom: 40px;
}
#mainContents h2,
#mainContents h3,
#mainContents h4 {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
.top-icon-align-campaign {
	height: 60px;
	top: -30px;
}
@media only screen and (max-width: 600px) {
	.top-icon-align-campaign {
		height: 20px;
		top: -10px;
	}
	.title-horizon br {
		display: none;
	}
	#mainContents {
		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 100%;
	}
}
/* ==

　■ モジュール

=============================================================================== */
#mainContents p,
#mainContents ul,
#mainContents ol {
	line-height: 1.7;
	font-size: 134%;
}

#mainContents .gDevice {
	margin: 0 0 35px;
	padding: 60px 20px;
	background: #fff url(../images/index_bg01.jpg) left bottom repeat-x;
}
#mainContents .gDevice_in {
	max-width: 800px;
	margin: 0 auto;
}
#mainContents .gDevice_txt {
	margin: 0 0 33px;
}
#mainContents .gDevice_catch {
	margin: 0 0 79px;
}
#mainContents .gDevice_term {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
	font-size: 100%;
}
#mainContents .gDevice_term dt {
	position: absolute;
	top: -20px;
	left: 50%;
	margin: 0 0 0 -108px;
	z-index: 1;
}

#mainContents .gInfo {
	padding: 60px 20px 84px;
	background-color: #fff;
	color: #333;
}
#mainContents .gInfo_in {
	max-width: 1180px;
	margin: 0 auto;
}
#mainContents.mainBgBlack .gHead01 {
	margin: 33px 0 17px;
	padding: 7px 10px 6px 18px;
	border-left: 6px solid #be8f59;
	background-color: #4a352d;
	color: #fff;
	font-size: 142%;
	font-weight: bold;
}
#mainContents.mainBgBlack .gHead01:first-child {
	margin-top: 0;
}

#mainContents .gList02 li {
	margin: 8px 0 0;
	padding: 0 0 0 22px;
	background: url(../images/index_ico01.png) left 0.55em no-repeat;
}
#mainContents .gList02 li:first-child {
	margin-top: 0;
}
#mainContents .dataBlock {
	width: 100%;
	margin-bottom: 20px;
	background-color: #f4f3f5;
}
#mainContents .dataBlock p {
	margin-bottom: 0;
	font-size: 117%;
}
#mainContents .dataBlock a,
#mainContents .dataBlock a:hover {
	color: #333;
}
#mainContents .dataBlock .groupHead {
	padding: 6px 10px;
	background-color: #dfdfd0;
	color: #666;
}
#mainContents .dataBlock .wrap {
	width: 100%;
	border-bottom: 1px solid #777;
}
#mainContents .dataBlock .wrap .boxName {
	float: left;
	width: 26%;
}
#mainContents .dataBlock .wrap .boxAddr {
	float: left;
	width: 31.8%;
}
#mainContents .dataBlock .wrap .boxTel {
	float: left;
	width: 21%;
}
#mainContents .dataBlock .wrap .boxMap {
	float: left;
	width: 21%;
}
#mainContents .dataBlock .wrap .boxHead {
	padding: 6px 10px;
	border-left: 1px solid #f4f3f5;
	background-color: #777;
	color: #fff;
}
#mainContents .dataBlock .wrap .boxName .boxHead {
	border: none;
}
#mainContents .dataBlock .wrap .boxBody {
	padding: 6px 10px;
	border-left: 1px solid #f4f3f5;
}
#mainContents .dataBlock .linkExternal {
	padding-left: 18px;
	background: url(/common/images/rn02/ico_arw03.gif) left 0.35em no-repeat;
}
@media only screen and (max-width: 949px) {
	#mainContents .gInfo {
		padding-bottom: 30px;
	}
	#mainContents .gDevice {
		margin-bottom: 0;
	}
}
@media only screen and (max-width: 600px) {
	#mainContents .gDevice {
		padding: 25px 10px 30px;
	}
	#mainContents .gDevice_txt {
		line-height: 1.6;
		margin-bottom: 12px;
		color: #333;
		font-size: 117%;
	}
	#mainContents .gDevice_catch {
		line-height: 1.6;
		margin-bottom: 35px;
		color: #006E45;
		font-size: 167%;
		font-weight: bold;
	}
	#mainContents .gDevice_term {
		position: relative;
		max-width: 600px;
		margin: 0 auto;
	}
	#mainContents .gDevice_term dt {
		top: -15px;
		width: 178px;
		line-height: 30px;
		margin-left: -89px;
		background-color: #BE8F59;
		color: #fff;
		font-size: 134%;
		font-weight: bold;
		text-align: center;
	}
	#mainContents .gDevice_term dt:before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: -12px;
		margin: 0 0 0 -15px;
		border: 15px solid transparent;
		border-right: 12px solid #BE8F59;
		z-index: 10;
	}
	#mainContents .gDevice_term dt:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: -27px;
		margin: 0 0 0 -15px;
		border: 15px solid transparent;
		border-left: 12px solid #BE8F59;
		z-index: 10;
	}
	#mainContents .gDevice_term dd {
		line-height: 1.6;
		padding-top: 30px;
		padding-bottom: 15px;
		background-color: #005537;
		color: #fff;
		font-size: 150%;
		font-weight: bold;
		text-align: center;
	}
	#mainContents .gInfo {
		padding: 30px 10px;
	}
	#mainContents.mainBgBlack .gHead01 {
		margin-top: 20px;
		margin-bottom: 12px;
		padding-top: 8px;
		padding-left: 10px;
		font-size: 134%;
	}
	#mainContents .gList02 li {
		padding-left: 17px;
		background: url(../images/index_ico01_smp.png) left 0.55em no-repeat;
		background-size: 6px auto;
	}
	#mainContents .dataBlock {
		width: auto;
		border: 1px solid #ccc;
		padding: 5px;
	}
	#mainContents .dataBlock .wrap {
		padding-top: 6px;
		padding-bottom: 6px;
	}
	#mainContents .dataBlock .wrap-last {
		padding-bottom: 0;
		border-bottom: none;
	}
	#mainContents .dataBlock .wrap .boxName,
	#mainContents .dataBlock .wrap .boxAddr,
	#mainContents .dataBlock .wrap .boxTel,
	#mainContents .dataBlock .wrap .boxMap {
		display: table;
		float: none;
		width: auto;
		margin-bottom: 5px;
	}
	#mainContents .dataBlock .wrap .boxMap {
		margin-bottom: 0;
	}
	#mainContents .dataBlock .wrap .boxHead,
	#mainContents .dataBlock .wrap .boxBody {
		border: none;
		display: table-cell;
		vertical-align: top;
	}
	#mainContents .dataBlock .wrap .boxHead {
		width: 5em;
	}
	#mainContents .dataBlock .wrap .boxBody {
		line-height: 1.4;
		padding-top: 3px;
		padding-bottom: 2px;
	}
	#mainContents .dataBlock .wrap .boxBody p {
		line-height: 1.5;
	}
	#mainContents .dataBlock .wrap .boxHead {
		padding-top: 4px;
		padding-bottom: 3px;
		font-size: 100%;
	}
	#mainContents .dataBlock .linkExternal {
		background-position: left center;
	}
}
/* 終了文言
------------------------------------------------------------------------------- */
.endTxtWrap {
	background-color: #fff;
	padding: 20px;
}
.endTxtArea {
	max-width: 916px;
	margin: 0 auto;
	padding: 16px 15px;
	border: 2px solid #f00;
	background-color: #fff;
	text-align: center;
}
.endTxtArea p {
	line-height: 1.5;
	margin: 0;
	color: #f00;
	font-size: 20px;
	font-weight: bold;
}
@media only screen and (max-width: 600px) {
	.endTxtWrap {
		padding: 10px;
	}
}