@charset "UTF-8";
body {
	font: 62.5%/1.8 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background: #fff;
	margin: 0;
	padding: 0;
	color: #666;
}

/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl {
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む block からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
}
h1 {
	text-align: center;
}
h2 {
	border-left: 10px solid #a9cd1d;
	background: #e2e2e2;
	line-height: 2.5;
	text-indent: 10px;
	font-size: 1.6em;
}
h3 {
	background: url(../images/bg-inner-subttl.jpg) no-repeat;
	line-height: 2.3;
	text-indent: 20px;
	font-size: 1.6em;
}
p {
	padding-left: 1em;
	padding-right: 1em;
}
a img {
	border: none;
}
/* ~~ サイトのリンクのスタイル付け~~ */
a:link {
	color: #42413C;
	text-decoration: underline;
}
a:visited {
	color: #6E6C64;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}

table, p, ul, ol, dl {
	font-size: 1.2em;
}

strong {
	font-size: 1.6em;
}

h1#topttl {
	width: 980px;
	height: 360px;
	display: block;
	background: url(../images/main-top.jpg) no-repeat;
	text-indent: -10000px;
}

h1#qualityTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-quality.jpg) no-repeat;
	text-indent: -10000px;
}

h1#companyTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-company.jpg) no-repeat;
	text-indent: -10000px;
}

h1#seisouTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-seisou.jpg) no-repeat;
	text-indent: -10000px;
}
h1#environmentTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-environment.jpg) no-repeat;
	text-indent: -10000px;
}
h1#facilitiesTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-facilities.jpg) no-repeat;
	text-indent: -10000px;
}
h1#inspectionTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-inspection.jpg) no-repeat;
	text-indent: -10000px;
}
h1#securityTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-security.jpg) no-repeat;
	text-indent: -10000px;
}
h1#serviceTtl {
	width: 980px;
	height: 190px;
	display: block;
	background: url(../images/ttl-service.jpg) no-repeat;
	text-indent: -10000px;
}




/* ~~ この固定幅コンテナが他のすべての block を囲みます。~~ */
.container {
	width: 980px;
	margin: 20px auto 0 auto;
}

.contentMain {
	margin: 0 0 30px 0;
	text-justify: distribute;
	text-align: justify;
}

.contentMain h2 {
	background: url(../images/bg-line-top.jpg) no-repeat bottom;
	line-height: 2em;
	text-indent: 1em;
	border-left: none;
}

.contentMain p {
	padding-left: 2em;
	padding-right: 2em;
}

.content {
	margin-bottom: 30px;
	text-justify: distribute;
	text-align: justify;
	float: left;
	width: 720px;
	margin-left: 10px;
}

div#side {
	width: 210px;
	float: right;
	background: #ecebeb;
	padding: 5px;
	margin-right: 10px;
}

aside h2 {
	border-left: none;
	background: none;
	line-height: 1;
	text-indent: 0;
	margin-bottom: 0;
}

div#side li a {
	text-decoration: none;
	display: block;
	line-height: 3.5;
	border-bottom: 2px solid #ecebeb;
	color: #0f254c;
}
div#side li a:hover {
	text-decoration: underline;
}

aside ul {
	list-style: none;
	background: #fff;
	margin-top: 0;
}

aside li {
	background: url(../images/aside-arrow.jpg) no-repeat 1em center;
	line-height: 15px;
	text-indent: 2em;
}

aside .asideBanner {
	margin-top: 10px;
}

/* ~~ このセレクターグループは、.content 内のリストに領域間隔を指定します。~~ */
.content ul, .content ol {
	padding: 0 15px 15px 40px;
}

table {
	width: 700px;
	margin: 0 auto;
	padding: .5em;
}

table th {
	font-weight: normal;
	width: 10em;
	vertical-align: top;
	text-align: left;
}

/* ~~ ヘッダー ~~ */
header {
	margin: 0 auto;
	width: 980px;
}

header a#logo {
	width: 170px;
	height: 105px;
	float: left;
	margin-top: 5px;
}

header a#contactSpace {
	margin-left: 210px;
}

div#headerIn h1 {

}

div#navInner {
	float: right;
	width: 800px;
	height: 105px;
}

/* ~~ ナビゲーション ~~ */
nav {
	height: 40px;
	/*#position: absolute;
	#top: 10px;
	#left: 345px;*/
}

nav ul {
	list-style: none;
}
nav ul li a.top {
	background: url(../images/bg-gnav.jpg) transparent 0 0;
	display: block;
	width: 160px;
	height: 40px;
	float: left;
	text-indent: -10000px;
}
nav ul li a:hover.top {
	background: url(../images/bg-gnav.jpg) transparent 0 -40px;
}
nav ul li a.quality {
	background: url(../images/bg-gnav.jpg) transparent -160px 0;
	display: block;
	width: 160px;
	height: 40px;
	float: left;
	text-indent: -10000px;
}
nav ul li a:hover.quality {
	background: url(../images/bg-gnav.jpg) transparent -160px -40px;
}
nav ul li a.service {
	background: url(../images/bg-gnav.jpg) transparent -320px 0;
	display: block;
	width: 160px;
	height: 40px;
	float: left;
	text-indent: -10000px;
}
nav ul li a:hover.service {
	background: url(../images/bg-gnav.jpg) transparent -320px -40px;
}
nav ul li a.company {
	background: url(../images/bg-gnav.jpg) transparent -480px 0;
	display: block;
	width: 160px;
	height: 40px;
	float: left;
	text-indent: -10000px;
}
nav ul li a:hover.company {
	background: url(../images/bg-gnav.jpg) transparent -480px -40px;
}
nav ul li a.contact {
	background: url(../images/bg-gnav.jpg) transparent -640px 0;
	display: block;
	width: 160px;
	height: 40px;
	float: left;
	text-indent: -10000px;
}
nav ul li a:hover.contact {
	background: url(../images/bg-gnav.jpg) transparent -640px -40px;
}

/*ie6／ie7用ナビゲーションハック*/
html*nav li {
	line-height: 0;
}

/*************************************トピックス*/

section.topics h2 {
	background: url(../images/bg-line-top2.jpg) no-repeat bottom;
	line-height: 2em;
	text-indent: 1em;
	border-left: none;
}

section.topics {
	margin-bottom: 30px;
	/*margin-top: 30px;*/
}

section.topics ul {
	margin-left: 2em;
	list-style: none;
}
section.topics li {
	background: url(../images/arrow-footer.jpg) no-repeat left center;
	padding-left: 1em;
}

div#mapSpace {
	width: 700px;
	height: 500px;
	margin: 0 auto;
}

.w10 {
	width: 150px;
}

.w20 {
	width: 200px;
}

.w30 {
	width: 300px;
}

.w40 {
	width: 95%;
}

.h50 {
	height: 15em;
}

.small {
	font-size: .85em;
}

.attention {
	color: #1d318e;
	font-weight: bold;
}

.err {
	font-size: .85em;
	color: #f33;
}

.clearfix {zoom:1;}
.clearfix:after{
    content: ""; 
    display: block; 
    clear: both;
}


/* ~~ サービス ~~ */

div.topServiceBox {
	width: 310px;
	height: 22em;
	background: #f6f6f6;
	float: left;
	margin: 8px;
	/*#float: left;
	#height: 350px;
	#width: 200px;*/
}

div.topServiceBox h3 {
	background: none;
	line-height: 1;
	text-indent: 0;
}

div.topServiceBox li {
	background: url(../images/arrow-top.jpg) no-repeat left center;
	list-style: none;
	font-weight: normal;
	margin-left: 80px;
	padding-left: 13px;
	line-height: 1.8em;
	/*#height: 1.8em;*/
}


div.serviceBox {
	margin-top: 1em;
	padding: 1em;
}

img.serviceImg {
	float: left;
	margin-right: 10px;
}

table.servicePrice {
	border: 1px dotted #444;
	margin: 1em auto;
	width: 700px;
	border-collapse: collapse;
}
table.servicePrice th {
	border: 1px dotted #444;
	background: #eee;
	text-align: center;
}
table.servicePrice td {
	border: 1px dotted #444;
	text-align: center;
}

div.servicePriceLink {
	background:#eee;
	line-height: 3em;
	text-indent: 1em;
	clear: both;
	width: 700px;
	margin: 0 auto;
}
div.servicePriceLink a {
	text-decoration: none;
	display: block;
	color: #142d6f;
	font-size: 14px;
}


dl.serviceCopy {
	width: 560px;
	margin: 0 auto 1em auto;
	border: 1px dotted #444;
	padding: 10px;
}
dl.serviceCopy dt {
	font-weight: bold;
	font-size: 1.3em;
	color: green;
}
dl.serviceCopy dd {
	background: url(../images/icon-footer.png) no-repeat left 5px;
	text-indent: 1em;
	margin-left: 1em;
}


div.youTube {
	width: 700px;
	margin: 0 auto;
}

/* ~~ 会社情報 ~~ */

.privacy li li {
	font-size: .85em;
}

.privacy dl {
	font-size: inherit;
}

.privacy table {
	font-size: inherit;
	border: 1px solid #666;
	border-collapse: collapse;
	width: 100%;
}
.privacy table th {
	background: #999;
	color: #fff;
	padding: 5px;
	border: 1px solid #666;
}
.privacy table td {
	padding: 5px;
	vertical-align: top;
	border: 1px solid #666;
}

.privacy dl {
	margin-top: 0;
	padding-top: 0;
	margin-bottom: 1em;
}

.privacy ul {
	list-style-type: decimal;
}

.listNone {
	list-style-type: none!important;
}
.listDefault {
	list-style-type: disc!important;
}
.upRoman {
	list-style-type: upper-roman!important;
}
.lowLatin {
	list-style-type: lower-latin!important;
}

/* ~~ お問い合わせ ~~ */

table#contact {
	width: 700px;
	margin: 0 auto;
}
table#contact td,
table#contact th {
	padding: 3px;
}

div#privacyBox {
	margin: 20px 0;
	padding: 1em;
	height: 200px;
	overflow: auto;
	border: 1px dashed #bbb;
	background: #fff;
}

/* ~~ フッター ~~ */
footer {
	padding-top: 30px;
	border-top: 1px solid #eee;
	width: 980px;
	margin: 0 auto 30px auto;
	position: relative;/* IE6 に、適切にクリアするための hasLayout を指定します。 */
	clear: both; /* この clear プロパティにより .container は、カラムの範囲がどこまでかを認識してその範囲を含めるようになります。 */
}

footer a {
	text-decoration: none!important;
}

footer ul {
	float: right;
	/*#width: 980px;
	#margin: 0 auto;*/
}

footer li {
	background: url(../images/arrow-footer.jpg) no-repeat left 3px;
	padding-left: 12px;
	display: inline-block;
	margin: 0 15px;
	width: 100px;
	font-weight: bold;
	vertical-align: top;
	text-align:left;
	line-height: 1.3em;
	#float: left;
}

footer ul li ul {
	/*#width: 150px;
	#margin: 0 auto;*/
}

footer ul li ul {

}

footer ul li ul li {
	font-size: 72.5%;
	font-weight: normal;
	margin-left: 30px;
	background: none;
	width: 80px;
}

address {
	font-style: normal;
	float: left;
	width: 250px;
}

/*HTML 5 サポート - 新しい HTML 5 タグを display:block に設定します。これにより、ブラウザーでタグが適切にレンダリングされます。 */
header, section, footer, aside, nav, article, figure {
	display: block;
}

section {
	margin-bottom: 10px;
}