﻿@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 50px;
}
section .sp_box > p.bold{
	font-weight: bold;
	text-align: center;
}
section .sp_box > p.list{
	margin-bottom: 5px;
	text-indent: -1em;
	font-size: 14px;
	padding-left: 1em;
}
section .sp_box > p.list.last{
	margin-bottom: 60px;
}
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);
	background-size: cover;
	padding: 20px 0 0;
	position: relative;
	background-position: center;
	}
	#mainVisual::after {
		content: "終日車線規制は終了しました。\Aご協力ありがとうございました。";
  		white-space: pre;
		background: rgba(51, 51, 51,.8);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		color: #fff;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 45px;
		font-weight: bold;
		z-index: 5;
	}
#mainVisual > .container{
	max-width: 800px;
	margin: 0 auto 20px;
}
#mainVisual > .container .container_inner{
	display: flex;
	justify-content: center;
	align-items: center;
}
	#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 a{
	position: relative;
	pointer-events: none;
}

#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(2) p:nth-child(2){
	width: 80%;
	margin: 0 auto;
}
#mainVisual .span_5 .gallery{
	overflow: hidden;
}
#mainVisual .span_5 .gallery 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;
}
.close .close_txt{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-size: 24px;
	color: #fff;
	text-align: center;
}
.marquee {
	float: left;
	width: auto;
	padding:0 50px;
	white-space: nowrap;
	animation-name: marquee;
	animation-duration: 20s;
	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;
	transition: .3s;
}
.nav ul {
	max-width: 900px;
	margin: 0 auto;
	overflow: hidden;
}
.nav ul li{
	float: left;
	width: 18%;
	position: relative;
}
.nav ul li::after{
	content: "";
	width: 2px;
	height: 65px;
	background: #fff;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
.nav ul li a{
	display: block;
	padding: 17px 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.gallery {
	width: 22%;
	padding:30px 20px;
}
.nav ul li.gallery a{
	width: 150px;
	height: 35px;
	border: 1px solid #fff;
	padding: 0;
	border-radius: 5px;
	font-size: 85%;
}
.nav ul li.gallery 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: 15%;
		}
		#home .nav.is-fixed  ul li a,#home .nav.is-fixed ul li.gallery a {
			padding: 15px 10px;
			font-size: 15px;
			}
			#home .nav.is-fixed  ul li img,#home .nav.is-fixed ul li.gallery img {
				display: block;
				width: 30px;
				height: 30px;
				margin: 0 auto 5px;
				}
				#home .nav.is-fixed ul li.gallery {
					padding: 0;
					}
					#home .nav.is-fixed ul li.gallery a {
						display: block;
						width: auto;
				    height: auto;
						border: none;
						border-radius: 0;
						}
		#home .nav.is-fixed ul li.scroll_block{
			display: block;
			width: 25%;
			/* pointer-events: none; */
			}
			#home .nav.is-fixed ul li.scroll_block a{
				display: block;
				padding: 0;
				margin: 0;
			}
			#home .nav.is-fixed ul li.scroll_block a:hover{
				opacity: 1;
				background: none;
			}
			#home .nav.is-fixed ul li.scroll_block img{
				width: 206px;
				height: 50px;
				margin: 20px auto;
				}
				#home .nav.is-fixed ul li.scroll_block img:hover{
					opacity: .7;
					cursor: pointer;
				}
	.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 {
		max-width: 580px;
		margin: 0 auto 20px;
		text-align: center;
		}
		#sec2 .sp_box p.photo {
			max-width: 800px;
			margin-bottom: 50px;
		}
		#sec2 .flex_box {
			display: flex;
			max-width: 800px;
			margin: 0 auto;
		}
		#sec2 .flex_box > p{
			flex: 1;
		}
		#sec2 .flex_box > p:not(:last-child){
			margin-right: 10%;
		}

		#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;
		margin: 0 auto 20px;
		}
		#sec3 p.photo.bottom{
			margin-bottom: 50px;
		}
		#sec3 p.photo.small{
			max-width: 450px;
		}
	#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;
				}
				#sec4 .rule_list{
					background-color: #ffffb1;
					color: #000;max-width: 620px;
					margin: 0 auto;
					padding: 2% 2% 2% 7%;
					border-radius: 20px;
				}
				#sec4 .rule_list li{
					text-indent: -1em;
					font-weight: bold;
					font-size: 20px;
				}
				#sec4 .rule_list li span{
					color: #ff0000;
				}
/* お問い合わせ */
#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{
	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;
}
#sec5 .box .red {
	color: #E20012;
}
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 10px 10px;
	margin-bottom: 1px;
	font-size: 19px;
	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 > p.rule_list{
	font-size: 12px;
}
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);
	background-size: 140%;
	width: 100%;
	height: 100%;
	background-position: top center;
	padding: 0;
}
#mainVisual::after {
	height: 60%;
	font-size: 22px;
}
#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 a::after{
	content: "";
	position: absolute;
	top: 0;
	left: 15%;
    height: 100%;
    width: 70%;
    background: rgba(114, 113, 113,.7);
    border-radius: 5px;
	z-index: 99;
	pointer-events: none;
}
#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;
}
#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 > .container .container_inner{
	flex-direction: column;
}

/* スライダー */
#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 .sp_box p.photo {
	margin-bottom: 20px;
}
#sec2 .flex_box {
	display: block;
	width: 50%;
}
#sec2 .flex_box > p:not(:last-child){
	margin:0 0 20px;
}
#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;
	margin-bottom: 15px;
}
#sec3 p.photo.bottom{
	margin-bottom: 20px;
}
#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;
}
#sec3 p.photo.small{
	max-width: 250px;
}
/* 安全なご利用 */
#sec4 .sp_box > p:last-child {
	margin: 0 auto;
}
#sec4 .sp_box > p:last-child a{
	float: none;
	margin: 0 auto;
}
#sec4 .rule_list li{
	font-size: 12px;
}
#sec4 .sp_box > p{
	text-align: start;
}
/* お問い合わせ */
#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"] {
	margin-left: 100%;
	transform: translateX(-50%);
	padding: 15px 0 0;
}
#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#gallery {
	background: #0098dc;
	width: 100%;
	padding: 10px 0;
}
p#gallery 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#gallery 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;
	}

}
