﻿@charset "UTF-8";

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	}

/* 大枠 */
html,
body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	}
body {
	font-size: 16px;
	line-height: 1.6;
	}
#wrapper {
	width: 100%;
	margin: 0 auto;
	position: relative;
	}
body > #wrapper {
	height: auto;
	}
.clearfix:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
    }

@media print {
	html,
	html body{overflow: visible !important;}
	}

/* アクセシビリティ */
.guidance {
	left:-999px;
	position:absolute;
	width:990px;
	}
img {max-width: 100%;height: auto;vertical-align: bottom;} /* レスポンシブ対応 */
img {
	vertical-align: bottom;
	box-shadow: #000 0 0 0; /* ロールオーバー対応 */
	}
img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0; /* IE7対応 */
	}

/* リンク */
a{display: block;color: #333;}
a:link    {color: #333;text-decoration: none;}
a:visited {color: #333;text-decoration: none;}
a:hover   {color: #333;opacity: .7;}


.mincho{
	/* font-family: "FOT-筑紫明朝 Pr6 L","TsukuMinPr6-L","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","TakaoEx明朝",TakaoExMincho,"MotoyaLCedar","Droid Sans Japanese","HGS明朝E","ipamin","ＭＳ Ｐ明朝",serif; */
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	position: relative;
	font-weight: normal;
	}

/* CLEARFIX */
.container:after,
.row:after,
.col:after {content: "";display: table;clear: both;}

.container {width: 100%;max-width: 1000px;margin: 0 auto;position: relative;}

/* ブロック関係 */
.row {padding-bottom: 0em;}
.col {display: block;float: left;width: 100%;line-height: 1.5;}
.col:first-child {margin-left: 0;}
.col:last-child {margin-right: 0;}

/* グリッドの設定 */
.span_1 {width: 6.25%;}
.span_2 {width: 15%;}
.span_3 {width: 23.5%;}
.span_4 {width: 32%;}
.span_5 {width: 40.5%;}
.span_6 {width: 49%;}
.span_7 {width: 57.5%;}
.span_8 {width: 64%;}
.span_9 {width: 74.5%;}
.span_10 {width: 83%;}
.span_11 {width: 91.5%;}
.span_12 {width: 100%;}

.pc {display: block;}
.sp {display: none;}

/* ボーダー */
header::before,#main::before {
	display: block;
	content: "";
	width: 100%;
	height: 20px;
	background: url(../img/main_border.png)repeat-x top center;
	background-size: 100px;
	margin-bottom: 15px;
	}

h2 {
	margin-bottom: 20px;
	color: #0098dc;
	font-size: 24px;
	text-align: center;
	}
	h2 img{
		display: block;
		width: 62px;
		height: 57px;
		margin: 0 auto 5px;
		}
		section {
			border-bottom: 1px solid #959595;
			padding: 45px 0 30px;
			overflow: hidden;
			}
			section .sp_box > p{
				max-width: 650px;
				margin: 0 auto 30px;
				}
				section .sp_box > p span{
					font-weight: bold;
					}
					section .sp_box > p span.red{
						color: #e91c24;
						}
/* ▼▼▼ ヘッダー
=====================================*/
header {
	width: 100%;
	overflow: hidden;
	}
	header .header_bg {
		background: #0098dc;
		}
		header .container {
			position: relative;
			}
	header #site_title {
		padding: 50px 15px 35px;
		text-align: center;
		}
		header #site_title img{
			width: 670px;
			}
			header .header_link {
				position: absolute;
				top: -45px;
				right: 0;
				}
				header .header_link ul{
					width: 170px;
					background: #fff;
					border-radius: 5px;
					padding: 15px 20px;
					margin-bottom: 10px;
					overflow: hidden;
					}
					header .header_link ul li {
						float: left;
						}
						header .header_link ul li:first-child {
							margin-right: 15px;
							}
							header .header_link p a{
								display: block;
								float: right;
								width: 110px;
								height: 40px;
								background: url(../img/navicorn_top.png);
								background-size: cover;
								text-indent: -999999px;
								}
								header .header_link p a:hover{
									opacity: 1;
									background: url(../img/navicorn_top_on.png);
									background-size: cover;
									}
/* メイン */
#mainVisual {
	background: url(../img/main_bg.png)no-repeat 0 -24vw;
	background-size: cover;
	padding: 20px 0 0;
	position: relative;
	}
	#mainVisual::after {
		display: block;
		content: "終日対面通行規制は終了しました。\Aご協力ありがとうございました。";
		background: rgba(51, 51, 51,.8);
		width: 100%;
		height: 65%;
		padding-top: 150px;
		color: #fff;
		font-size: 40px;
		text-align: center;
		font-weight: bold;
		white-space: pre;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9;
		}
	#mainVisual > .container{
		max-width: 800px;
		margin: 0 auto 20px;
		}
	#mainVisual .span_7 p {
		font-size: 17px;
		text-align: center;
		font-weight:bold;
		}
		#mainVisual .span_7 p.ic{
			max-width: 440px;
			padding: 20px;
			margin: 0 auto;
			}
			#mainVisual .span_7 p:nth-child(2) img{
				width: 80%;
				margin-bottom: 10px;
				}
	#mainVisual .span_5 {
		padding: 45px 0 0;
		}
		#mainVisual .span_5 .box{
			background: #fff;
			border-radius: 10px;
			padding: 20px 25px;
			margin-bottom: 15px;
			}
			#mainVisual .span_5 .box p:nth-child(1){
				width: 85%;
				margin: 0 auto 10px;
				font-size: 13px;
				font-weight: bold;
				text-align: center;
				}
				#mainVisual .span_5 .box p:nth-child(2){
					margin-bottom: 0;
					text-align: center;
					}
					#mainVisual .span_5 .box:nth-child(1) p:nth-child(2){
						pointer-events: none;
						}
						#mainVisual .span_5 .box:nth-child(2) p:nth-child(2){
							width: 80%;
							margin: 0 auto;
							}
							#mainVisual .span_5 .library{
								overflow: hidden;
								}
								#mainVisual .span_5 .library a{
									float: right;
									background: #fff;
									width: 105px;
									padding: 7px 0;
									margin: 0 auto;
									font-size: 10px;
									font-weight: bold;
									text-align: center;
									}
/* 更新情報 */
#mainVisual .inner{
	background: #A3D6CA;
	padding: 10px 0;
	overflow: hidden;
	}
	#mainVisual .span_8 dl{
		overflow: hidden;
		margin: 5px 40px 5px 0;
		}
		#mainVisual .span_8 dl dt{
			float: left;
			width: 80px;
			background: #A3D6CA;
			position: relative;
			z-index: 2;
			}
			#mainVisual .span_8 dl dd{
				float: left;
				width: 400px;
				}
			.marquee {
				float: left;
				width: auto;
				padding:0 50px;
				white-space: nowrap;
				animation-name: marquee;
				animation-duration: 7s;
				animation-timing-function: linear;
				animation-iteration-count: infinite;
				overflow: hidden;
				}
				@keyframes marquee {
				from    { transform: translate(0%); }
				100%,to { transform: translate(-100%); }
				}
/* スライダー */
#mainVisual .span_4 {
	position: relative;
	}
	#mainVisual a.bx-prev,
	#mainVisual a.bx-next {
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		z-index: 100;
		top: 50%;
		margin-top: -15px;
		text-indent: -9999px;
		outline: none;
		}
		#mainVisual a.bx-prev {
			background: url(../img/slide_arrow.svg) no-repeat left top;
			left: -20px;
			}
			#mainVisual a.bx-next {
				background: url(../img/slide_arrow.svg) no-repeat left top;
				right: -20px;
				-webkit-transform: rotate(180deg);
				transform: rotate(180deg);
				}


/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#main {
	padding: 15px 0 0;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
	}
/* nav */
.nav {
	background: #0098dc;
	padding: 15px 0;
	transition: .3s;
	}
	.nav ul {
		max-width: 900px;
		margin: 0 auto;
		overflow: hidden;
		}
		.nav ul li{
			float: left;
			width: 15.5%;
			height: 70px;
			border-left: 2px solid #fff;
			}
			.nav ul li a{
				height: 70px;
				padding: 0 10px;
				color: #fff;
				font-size: 17px;
				font-weight: bold;
				text-align: center;
				}
				.nav ul li a:hover{
					background: #0075ba;
					opacity: 1;
					}
				.nav ul li img{
					display: block;
					width: 35px;
					height: 30px;
					margin: 0 auto 5px;
					}
					.nav ul li.library {
						width: 22%;
						padding: 15px 20px;
						}
						.nav ul li.library a{
							width: 150px;
							height: 35px;
							border: 1px solid #fff;
							border-radius: 5px;
							font-size: 85%;
							}
							.nav ul li.library img{
								width: 23px;
								margin-right: 5px;
								display: inline-block;
								vertical-align: middle;
								}
							.nav ul li.scroll_block{
								display: none;
								}
/* nav 動き */
#home .nav.is-fixed  ul {
	max-width: 1000px;
	}
	#home .nav.is-fixed  ul li {
		width: 13%;
		}
		#home .nav.is-fixed  ul li a,#home .nav.is-fixed ul li.library a {
			padding-top: 5px;
			font-size: 15px;
			}
			#home .nav.is-fixed  ul li img,#home .nav.is-fixed ul li.library img {
				display: block;
				width: 30px;
				height: 30px;
				margin: 0 auto 5px;
				}
		#home .nav.is-fixed ul li:nth-child(1){
			border-left: none;
			}
			#home .nav.is-fixed ul li:nth-child(5){
				border-right: none;
				}
				#home .nav.is-fixed ul li.library {
					padding: 0;
					}
					#home .nav.is-fixed ul li.library a {
						width: auto;
						height: 70px;
						border: none;
						border-radius: 0;
						}
		#home .nav.is-fixed ul li.scroll_block{
			display: block;
			width: 22%;
			}
			#home .nav.is-fixed ul li.scroll_block img{
				width: 206px;
				height: 50px;
				margin: 5px auto;
				}
	.is-fixed {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		}
		.is-hide {
			transform: translateY(-100%);
			}
/* 渋滞予測 */
	#sec1 .sp_box > p .color{
		content: "";
		display: inline-block;
		width: 20px;
		height: 20px;
		background: #FFFF00;
		vertical-align: sub;
		margin-right: 7px;
		}
		#sec1 .sp_box > p span.orange{
			background: #ff9632;
			margin: 0 7px 0 15px;
			}
				#sec1 h3{
					margin-bottom: 20px;
					font-size: 20px;
					}
					#sec1 h3::before{
						content: "E2A";
						display: inline-block;
						background: #008366;
						border-radius: 5px;
						padding: 0 4px 0 6px;
						margin-right: 10px;
						color: #fff;
						letter-spacing: 3px;
						line-height: 1.2;
						}
						@media all and (-ms-high-contrast:none) {
							#sec1 h3::before{
							padding: 6px 4px 0px 6px;
							}
							}
		/*カレンダー*/
		.calendar{border-collapse:collapse;width:100%;margin-bottom: 30px;font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;}
		.calendar caption{padding-bottom:2px;font-size:18px;font-weight: bold;}

		.calendar th,.calendar td{font-size:18px;border:1px solid #C8C8C8;text-align:center;line-height:25px;font-weight: bold;}

		.calendar th:first-child,
		.calendar tr td:first-child,
		.calendar .holiday{color:#CF000E;}
		.calendar th:last-child,
		.calendar tr td:last-child{color:#0062B1;}

		.yellow{background:#FFFF00;}
		.orange{background:#ff9632;}
		.grey{background:#e6e6e6;}
		/* 渋滞が予想される時間 */
		#sec1 h4 {
			margin-bottom: 7px;
			}
			#sec1 ul {
				margin-bottom: 10px;
				overflow: hidden;
				}
				#sec1 ul li{
					float: left;
					font-size: 14px;
					}
					#sec1 ul li:nth-child(1){
						margin-right: 10px;
						}
						#sec1 ul li::before{
							content: "";
							display: inline-block;
							vertical-align: sub;
							width: 25px;
							height: 19px;
							background: #e91c24;
							margin-right: 5px;
							}
		#sec1 table.time tr td{
			border: 1px solid #C8C8C8;
			width: 23px;
			height: 41px;
			}
			#sec1 table.time tr td:not(:last-child){
				border-right: none;
				}
				#sec1 table.time td.color{
					background: #e91c24;
					}
						#sec1 table.time th{
							padding-top: 5px;
							font-size: 12px;
							text-align: center;
							font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
							}
/* ▼▼▼ う回ルート */
	#sec2 .sp_box p.photo {
		max-width: 800px;
		margin: 0 auto 30px;
		}
		#cboxOverlay {
			background: #000;
			}
			#cboxLoadedContent {
				background: #fff;
				}
				#cboxLoadedContent {
					padding: 0;
					overflow: auto;
					}
					#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose , #cboxTitle {
						top: -30px;
						}
						#colorbox, #cboxOverlay, #cboxWrapper {
							overflow: visible ;
							}
							#inline-content {/* インラインを使用する時のみ */
								margin: 20px;
								}
								#ajax-wrap {/* ajaxを使用する時のみ */
									margin: 20px;
									}
#sec2 h3 {
	margin-bottom: 20px;
	font-size: 24px;
	color: #0098dc;
	text-align: center;
	}
	#sec2 dt{
		max-width: 800px;
		margin: 0 auto 10px;
		font-size: 17px;
		font-weight: bold;
		}
		#sec2 dt::first-letter{
			color: #ed7700;
			}
			#sec2 dt:nth-child(3)::first-letter{
				color: #aacc03;
				}
/* ▼▼▼ 工事内容 */
#sec3 h3,#sec4 h3 {
	background: #0062B1;
	margin-bottom: 30px;
	font-size: 20px;
	color: #fff;
	text-align: center;
	}
	@media all and (-ms-high-contrast:none) {
		#sec3 h3,#sec4 h3{
		height: 32px;
		padding: 3px 6px 0;
		}
		}
	#sec3 p.photo {
		max-width: 550px;
		text-align: center;
		}
	#sec3 ul.kome {
		max-width: 700px;
		margin: 0 auto 30px;
		}
		#sec3 ul.kome li{
			margin-bottom: 5px;
			font-size: 14px;
			}
			#sec3 ul.kome li:last-child{
				margin-bottom: 0;
				}
	#sec3 .inner {
		max-width: 470px;
    margin: 0 auto 30px;
		overflow: hidden;
		}
		#sec3 .inner p.icon{
			float: left;
			margin-right: 20px;
			}
			#sec3 .inner p.icon img{
				width: 100px;
				}
				#sec3 .inner p span {
					font-weight: bold;
					}
		#sec3 ul.info {
			overflow: hidden;
			}
			#sec3 ul.info li{
				float: left;
				width: 28%;
				margin: 0 25px;
				}
				#sec3 ul.info li p:first-child{
					display: table;
					width: 100%;
					margin: 0 auto 20px;
					text-align: center;
					}
					#sec3 ul.info li p:first-child img{
						display: table-cell;
						vertical-align: middle;
						height: 120px;
						margin: 0 auto;
						}
						#sec3 ul.info li p:nth-child(2){
							margin-bottom: 5px;
							font-size: 17px;
							color: #0098DC;
							font-weight: bold;
							}
							#sec3 ul.info li p:nth-child(3){
								font-size: 15px;
								}
/* 安全なご利用 */
#sec4 {
	overflow: hidden;
	}
	#sec4 .sp_box > p{
		margin: 0 auto 25px;
		text-align: center;
		}
		#sec4 .sp_box > p:nth-child(3){
			max-width: 730px;
			margin: 0 auto 25px;
			text-align: left;
			}
			#sec4 .sp_box > p:last-child{
				max-width: 230px;
				}
/* お問い合わせ */
#sec5 {
	overflow: hidden;
	border-bottom:none;
	}
	#sec5 .sp_box > p{
		margin-bottom: 30px;
		font-size: 24px;
		font-weight: bold;
		text-align: center;
		}
		#sec5 .sp_box > p span{
			text-decoration: underline;
			text-decoration-color: #bd272d;
			}
#sec5 .box{
	margin-bottom: 20px;
	border-bottom: 1px solid #959595;
	}
	#sec5 .box:last-child{
		margin-bottom: 0;
		border-bottom: none;
		}
	#sec5 .sp_box > dl.contact{
		margin-bottom: 20px;
		overflow: hidden;
		}
		#sec5 .sp_box > dl dt{
			float: left;
			width: 20%;
			background: #0062B1;
			padding: 75px 25px;
			color: #fff;
			font-weight: bold;
			text-align: center;
			}
			#sec5 .sp_box > dl dd{
				float: left;
				width: 80%;
				border:1px solid #0062B1;
				padding: 30px 40px;
				}
				#sec5 .box h3{
					margin-bottom: 20px;
					font-size: 20px;
					font-weight: bold;
					}
						p.mb10 {
					    clear: both;
							}
					#sec5 .sp_box > dl dd h3 span{
						display: block;
						font-size: 15px;
						font-weight: normal;
						}
						#sec5 dl ul {
							margin-bottom: 20px;
							overflow: hidden;
							}
							#sec5 dl .box:last-child ul {
								margin-bottom: 0;
								}
							#sec5 dl ul li{
								display: inline-block;
								width: 30%;
								vertical-align: middle;
								}
								#sec5 .box .mb20{
									font-size: 15px;
									}
									img[src*="tel_img02_02.svg"] {
										margin-left: 20px;
										}
										#sec5 .box .line_h{
											line-height: 1;
											}
					#sec5 .box span.line{
						text-decoration: underline;
						}
						#sec5 dl ul li.span_2{
							width: 20%;
							font-size: 15px;
							text-align: center;
							}
							#sec5 dl ul li a{
								color: #0062B1;
								font-weight: bold;
								}
								#sec5 dl ul li.span_auto{
									width: auto;
									}
									#sec5 dl ul li.span_5{
										width: 49%;
										}
										#sec5 dl ul li.span_5 p{
											font-size: 15px;
											color: #0062B1;
											line-height: 1.7;
											}



/* ▼▼▼ フッター
=====================================*/
footer {
	border-top: 1px solid #959595;
	width: 100%;
	padding: 20px 0;
	clear: both;
	overflow: hidden;
	}
	#footer_inner {
		max-width: 1000px;
		margin: 0 auto;
		overflow: hidden;
		}
		#footer_inner ul.f_nav{
			margin-bottom: 30px;
			text-align: center;
			}
			#footer_inner ul.f_nav li{
				display: inline-block;
				font-size: 12px;
				text-align: center;
				}


/* ▼ ページ上部へ戻る */
.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 2000;
	cursor: pointer;
	}

/* ▼ コピーライト */
#copyright {
	font-size: 10px;
	text-align: center;
	}



/* ▼▼▼ 1024px
=====================================*/
@media screen and (max-width: 1024px) {
	#mainVisual {
	background: url(../img/main_bg.png)no-repeat 0 -10vw;
	background-size: cover;
	}

	section {
		padding: 45px 20px 30px;
		}
		.mr20 {
			margin-right: 15px;
			}
}

/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px) {
body {
	font-size: 14px;
}
#wrapper {width: 100%;}
#screen {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color:rgba(0,0,0,0.8);
	z-index: 200;
	}
.span_1,.span_2,.span_3,.span_4,.span_5,.span_6,.span_7,.span_8,.span_9,.span_10,.span_11,.span_12{width: 100%;}
.col {margin: 0;}

.pc {display: none;}
.sp {display: block;}

/* ボーダー */
header::before,#main::before {
	height: 10px;
	background-size: 19%;
	}
	#main::before {
		margin-bottom: 25px;
		}
h2 {
	background: #0098dc;
	width: 100%;
	padding: 10px 0;
	margin-bottom: 1px;
	font-size: 20px;
	color: #fff;
	position: relative;
	}
	h2 img{
		width: 25px;
		height: 25px;
		position: absolute;
		top: 28%;
		left: 60px;
		}
		h2::after {
			content: "";
			width: 20px;
			height: 12px;
			background: url(../img/h2_arrow.svg)no-repeat top center;
			background-size: cover;
			position: absolute;
			top: 45%;
			right: 30px;
			-webkit-transform: rotate(180deg);
			transform: rotate(180deg);
			}
			h2.close::after{
				top: 40%;
				-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
				}
section {
	border-bottom: 1px solid #959595;
	padding: 0;
	}
	section .sp_box > p{
		margin: 0 auto 20px;
		}
		section .sp_box {
			display: none;
			padding: 30px 15px;
			}
/* ▼▼▼ ヘッダー
=====================================*/
body.wrap {overflow: hidden;}

header {
	width: 100%;
	}
	header #site_title {
		padding: 30px 15px 25px;;
		}
		header #site_title img{
			width: 100%;
			}
			header .header_link {
				width: 100%;
				top: -30px;
				}
				header .header_link ul{
					float: right;
					width: 130px;
					padding: 10px 15px;
					}
					header .header_link ul li {
						float: left;
						width: 39%;
						}
						header .header_link ul li:nth-child(2) {
							float: left;
							width: 51%;
							}
							header .header_link ul li:first-child {
								margin-right: 10px;
								}
								header .header_link p a{
									float: left;
									margin: 18px;
									width: 85px;
									height: 31px;
									}
/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#header_inner,
#main,#contents,#side,
footer,#footer_inner {
	float: none;
	width: 100%;
	}
/* メイン */
#mainVisual {
	background: url(../img/main_bg.png)no-repeat top center;
	background-size: 120%;
	padding: 0;
	}
	#mainVisual::after {
		height: 30%;
		padding-top: 23vw;
		font-size: 20px;
		}
	#mainVisual > .container{
		margin: 0 auto;
		}
		#mainVisual .span_7 p:nth-child(2) img {
			width: 70%;
			margin-bottom: 0;
			}
			#mainVisual .span_7 p {
		    margin-bottom: 10px;
				font-size: 13px;
				}
		#mainVisual .span_7 p.ic{
			width: 90%;
			padding: 15px 25px;
			margin: 0 auto;
			}
			#mainVisual .span_5 {
				padding: 0;
				}
				#mainVisual .span_5 .box{
					border-radius: 0;
					padding: 20px 30px;
					margin-bottom: 0;
					}
					#mainVisual .span_5 .box:nth-child(2) {
						padding-top: 0;
						}
						#mainVisual .span_5 .box:nth-child(2) p:nth-child(1) {
							margin-bottom: 5px;
							}
/* 更新情報 */
#mainVisual .span_8 dl{
	margin: 0px 10px 10px;
	}
	#mainVisual .span_8 dl dt{
		float: left;
		width: 60px;
		font-size: 12px;
		}
		#mainVisual .span_8 dl dd{
			float: left;
			width: calc(100% - 60px);
			font-size: 12px;
			}

/* スライダー */
#mainVisual .span_4 {
	width: 100%;
	}
	#mainVisual .span_4 .bx-wrapper{
		width: 85%;
		margin: 0 auto;
		}
		#mainVisual .span_4 .bx-wrapper img{
			width: 100%;
			}
		#mainVisual a.bx-prev {
			left: 0px;
			}
			#mainVisual a.bx-next {
				right: 0px;
				}

/* nav */
.nav {
	display: none;
	}
/* 渋滞予測 */
#sec1  .sp_box > p span:nth-child(1) {
	display: block;
	margin-bottom: 10px;
	}
	#sec1  .sp_box > p:nth-child(2) {
		margin-bottom: 30px;
		}
	#sec1 h3{
		border-bottom: 1px solid #ddd;
		padding-bottom: 10px;
		margin-bottom: 10px;
		font-size: 14px;
		}
		#sec1 h3::before{
			border-radius: 3px;
			padding: 1px 2px 0 3px;
			margin-right: 5px;
			letter-spacing: 1px;
			}
			.calendar {
				margin-bottom: 15px;
				}
				.calendar caption {
					font-size: 14px;
					}
					.calendar th,.calendar td {
						font-size: 12px;
						line-height: 20px;
						}
						#sec1 table.time {
							margin-bottom: 40px;
							}
							#sec1 table.time tr td {
								height: 32px;
								}
								#sec1 table.time th {
									font-size: 10px;
									}

/* ▼▼▼ う回ルート */
#sec2 h3 {
	margin-bottom: 15px;
	font-size: 16px;
	}
	#sec2 dt{;
		font-size: 14px;
		}
		#sec2 .sp_box dl dd:last-child p.photo{
			margin-bottom: 0;
			}

/* ▼▼▼ 工事内容 */
#sec3 h3,#sec4 h3 {
	padding: 6px;
	margin-bottom: 20px;
	font-size: 17px;
	line-height: 1.4;
	}
	#sec3 p.photo {
		text-align: left;
	}
	#sec3 ul.kome li{
		font-size: 12px;
		}
		#sec3 ul.kome li:last-child{
			margin-bottom: 0;
			}
			#sec3 .inner {
		    margin: 0 auto 10px;
				}
				#sec3 .inner p.icon{
					margin-right: 15px;
					}
					#sec3 .inner p.icon img{
						width: 70px;
						}
						#sec3 .inner .txt {
							font-size: 12px;
							}
					#sec3 ul.info li{
						float: none;
						width: 100%;
						margin: 0 auto 20px;
						}
						#sec3 ul.info li:last-child {
							margin-bottom: 0;
							}
							#sec3 ul.info li p:first-child{
								width: 100%;
								margin: 0 auto 10px;
								}
								#sec3 ul.info li p:first-child img{
									height: 90px;
									}
									#sec3 ul.info li p:nth-child(2){
										font-size: 15px;
										width: 80%;
										margin: 0 auto;
										}
										#sec3 ul.info li p:nth-child(3){
											font-size: 14px;
											width: 80%;
											margin: 0 auto;
											}
											#sec3 ul.info li:nth-child(2) p{
												margin-bottom: 0;
												}
/* 安全なご利用 */
#sec4 .sp_box > p:last-child {
	margin: 0 auto;
	}
	#sec4 .sp_box > p:last-child a{
		float: none;
		margin: 0 auto;
		}
/* お問い合わせ */
#sec5 .sp_box > p{
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 1.4;
	}
	#sec5 .sp_box > p:last-child {
		margin-bottom: 0;
		font-size: 90%;
		}
	#sec5 .box{
		margin-bottom: 20px;
		border-bottom: 1px solid #959595;
		}
		#sec5 .box:last-child{
			margin-bottom: 0;
			border-bottom: none;
			}
		#sec5 .sp_box > dl.contact{
			}
			#sec5 .sp_box > dl dt{
				float: none;
				width: 100%;
				padding: 5px;
				font-size: 15px;
				}
				#sec5 .sp_box > dl dd{
					float: none;
					width: 100%;
					padding: 20px 15px;
					}
					#sec5 .box h3{
						font-size: 16px;
						text-align: center;
						border: 1px solid #333;
						padding: 10px;
						display: table;
						margin: 0 auto 20px;
						}
						#sec5 .box h3.col {
							float: none;
							width: 83%;
							margin: 0 auto 5px;
							}
							#sec5 .box h3 + span {
								display: block;
						    margin-bottom: 15px;
								text-align: center;
								}
						#sec5 dl ul li{
							width: 48%;
							}
							#sec5 dl ul li p{
								text-align: center;
								}
							img[src*="ihighway_QR.jpg"] {
								display: none;
								}
								#sec5 .box .mb20 {
									font-size: 14px;
									}
									img[src*="tel_img02_02.svg"] {
										width: 60%!important;
										margin: 15px auto 0;
										}
										#sec5 .box .mb10{
											font-size: 15px;
											text-align: center;
											font-weight: bold;
											}
											#sec5 .box .mb30{
												margin-bottom: 20px;
												text-align: center;
												font-size: 12px;
												}
												#sec5 .box .tel-link {
													text-align: center;
													}
													#sec5 .box .tel-link img{
														width: 85%;
														}
														#sec5 .box:last-child p.txt,#sec5 .box .line_h {
															line-height: 1.5;
															text-align: left!important;
															font-size: 12px;
															}
															#sec5 .box .line_h img{
																vertical-align: sub;
																}
					#sec5 .box span.line{
						text-decoration: underline;
						}
						#sec5 dl ul li.span_2{
							display: block;
					    width: 30%;
					    margin: 0 auto 10px;
					    text-align: center;
							}
							#sec5 dl ul li a{;
								font-size: 12px;
								}
								#sec5 dl ul li.span_auto{
										display: block;
										width: 95%;
										margin: 0 auto;
										}
								#sec5 dl .box:last-child ul {
									width: 90%;
									margin: 0 auto;
									}
									#sec5 .box .tel-link img[src*="tel_img04.svg"]{
										width: 100%;
										}
										#sec5 dl ul li.span_5{
											display: block;
											width: 90%;
											margin: 0 auto;
											font-size: 14px;
											}
											#sec5 dl ul li.span_5:first-child{
												width: 100%;
												margin-bottom: 10px;
												}
												#sec5 dl ul li.span_5 p {
													font-size: 14px;
													text-align: left;
													}
													#sec5 .box:last-child p.tel-link{
														margin-bottom: 30px;
														}
														#sec5 .box:last-child p.tel-link.mb10{
															margin-bottom: 10px;
															}
															#sec5 p.sp {
																margin-bottom: 0;
																font-size: 14px;
																}
/* 広告ライブラリ */
p#library {
	background: #0098dc;
	width: 100%;
	padding: 10px 0;
	}
	p#library a{
		width: 45%;
		margin: 0 auto;
		border: 1px solid #fff;
		border-radius: 5px;
		padding: 6px 0;
		font-size: 14px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		}
		p#library img{
			width: 22px;
			height: 22px;
			margin-right: 7px;
			}

/* ▼▼▼ フッター
=====================================*/
footer {padding: 15px 0;}
#footer_inner ul.f_nav li {
	font-size: 11px;
}

/* ▼ ページ上部へ戻る */
.pagetop {
	width: 50px;
	right: 10px;
	}

}
