@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: #8B272B;
	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.color_range{
	text-align: center;
	font-weight: 600;
}
section .sp_box > p.color_range span{
	font-weight: 400;
	position: relative;
	margin: 0 30px;
}
section .sp_box > p.color_range span.orange_range{
	margin: 0 10px;
}
section .sp_box > p.color_range span.yellow_range::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-25px,-50%);
	background-color: #FFFF00;
	width: 20px;
	height: 20px;
}
section .sp_box > p.color_range span.orange_range::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-25px,-50%);
	background-color: #FF9632;
	width: 20px;
	height: 20px;
}
section .sp_box > p span{
	font-weight: bold;
}
section .sp_box > p span.red{
	color: #e91c24;
}
section .calender{
	display: flex;
	justify-content: space-between;
}
section .calender .calender_left{
	width: 100%;
	margin-right: 20px;
}
section .calender .calender_right{
	width: 100%;
	margin-left: 20px;
}
/* ▼▼▼ ヘッダー
=====================================*/
header {
	width: 100%;
	overflow: hidden;
}
header .header_bg {
	background: #8B272B;
}
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: contain;
	background-repeat: no-repeat;
	text-indent: -999999px;
}
header .header_link p a:hover{
	opacity: 1;
	background: url(../img/navicorn_top_on.png);
	background-size: contain;
	background-repeat: no-repeat;
}
/* メイン */
#mainVisual {
	background: url(../img/main_bg.png)no-repeat 0 -25vw;
	background-size: cover;
	padding: 20px 0 0;
	position: relative;
}
	/* 終了表示 */
	#mainVisual::after {
		display: block;
		content: "終日対面通行規制は終了しました。\Aご協力ありがとうございました。";
		background: rgba(51, 51, 51,.8);
		width: 100%;
		height: 70%;
		padding-top: 155px;
		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: 910px;
	margin: 0 auto 20px;
}
#mainVisual .span_7{
	margin-right: 8%;
}
#mainVisual .span_7 p {
	font-size: 17px;
	text-align: center;
	font-weight:bold;
}
#mainVisual .span_7 p.ic{
	background: #008766;
	border: 2px solid #fff;
	border-radius: 10px;
	max-width: 385px;
	padding: 15px;
	margin: 0 auto 20px;
}
#mainVisual .span_7 p:nth-child(2) img{
	margin-bottom: 10px;
}
#mainVisual .span_4 {
	padding: 45px 0 0;
}
#mainVisual .span_4 .box{
	background: #fff;
	border-radius: 10px;
	padding: 20px 25px;
	margin-bottom: 15px;
}
#mainVisual .span_4 .box p{
	text-align: center;
}
#mainVisual .span_4 .box p:nth-child(1){
	width: 85%;
	margin: 0 auto 10px;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
}
#mainVisual .span_4 .box p:nth-child(2){
	margin-bottom: 0;

}
.prepare{
	position: relative !important;
}
/* .prepare::after{
	content: "準備中" !important;
	position: absolute !important;
	background-color: rgba(0,0,0,0.6) !important;
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	text-align: center;
	top: 0 !important;
	left: 0 !important;
	padding: 13px 0 13px;
	width: 100% !important;
	border-radius: 10px;
	display: block;

} */
.prepare.gallery{
	display: inline-block !important;
}
.prepare.gallery::after{
	transform: translateY(27%);
}
#mainVisual .span_4 .box:nth-child(2) p:nth-child(2){
	width: 80%;
	margin: 0 auto;
}
#mainVisual .span_4 .library{
	overflow: hidden;
}
#mainVisual .span_4 .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: 15s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	overflow: hidden;
	}
	@keyframes marquee {
	from    { transform: translate(0%); }
	100%,to { transform: translate(-100%); }
}

/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#main {
	padding: 15px 0 0;
	margin: 0 auto;
	clear: both;
	overflow: hidden;
	}
/* nav */
.nav {
	background: #8B272B;
	transition: .3s;
}
.nav ul {
	max-width: 900px;
	margin: 0 auto;
	overflow: hidden;
}
.nav ul li{
	float: left;
	width: 15%;
	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: #6a0000;
	opacity: 1;
}
.nav ul li img{
	display: block;
	width: 35px;
	height: 30px;
	margin: 0 auto 5px;
}
.nav ul li.library {
	width: 22%;
	padding:30px 20px;
}
.nav ul li.library a{
	width: 150px;
	height: 35px;
	border: 1px solid #fff;
	padding: 0;
	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: 15px 10px;
	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.library {
	padding: 0;
}
#home .nav.is-fixed ul li.library a {
	display: block;
	width: auto;
	height: auto;
	border: none;
	border-radius: 0;
}
#home .nav.is-fixed ul li.scroll_block{
	display: block;
	width: 20%;
	padding-left: 20px;
}
#home .nav.is-fixed ul li.scroll_block a{
	display: inline;
	padding: 0;
	margin: 0;
}
#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;
}
.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: "E3";
	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: 650px;
	margin: 0 auto 30px;
}
#sec2 .sp_box p.photo.max{
	max-width: 800px;
}
.map{
	margin-bottom: 40px;
}
.map.one .photo.max{
	max-width: 600px !important;
	margin: 0 auto 40px;
}
.map.one .ttl{
	text-align: center;
	color: #8B272B;
	font-size: 24px;
}
.map .dtl{
	margin-bottom: 15px !important;
	font-weight: 600;
	text-align: start;
	max-width: 800px !important;
	padding-left: 30px;
}
.map .dtl span{
	position: relative;
}
.map .dtl span::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	transform: translate(-30px, 0%);
}
.map .dtl span.green::before{
	background-color: #aacc03;
}
.map .dtl span.yellow::before{
	background-color: #FFF000;
}
.map .dtl span.orange::before{
	background-color: #EF8200;
}
#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: #8b272b;
	text-align: center;
}
#sec2 dt{
	max-width: 800px;
	margin: 0 auto 10px;
	font-size: 17px;
	font-weight: bold;
}
#sec2 dt::first-letter{
	color: #aacc03;
}
#sec2 dt:nth-child(3)::first-letter{
	color: #fff000;
}
#sec2 dt:nth-child(5)::first-letter{
	color: #e3007f;
}
/* ▼▼▼ 工事内容 */
#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;
}
#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 ul.square{
	display: table;
	margin: 0 auto 30px;
}
#sec4 ul.square li{
	text-indent: -1em;
	padding-left: 1em;
	font-weight: bold;
}
#sec4 ul.square li .red {
	color: #cf000e;
}
#sec4 .sp_box > p{
	margin: 0 auto 25px;
	text-align: center;
}
#sec4 .sp_box > p.safety_txt{
	text-align: start;
	max-width: 705px;
}
#sec4 .sp_box > p:nth-child(4){
	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{
	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;
		overflow: hidden;
}
#mainVisual::after {
height: 57%;
padding-top: 45vw;
font-size: 20px;
}
section {
padding: 45px 20px 30px;
}
.mr20 {
margin-right: 15px;
}
}

/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px) {
body {
font-size: 14px;
}
#wrapper {width: 100%;}
.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: 17px;
}
h2 {
background: #8B272B;
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 {
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 > .container{
margin: 0 auto;
}
#mainVisual .span_7 p:nth-child(2) img {
width: 80%;
margin-bottom: 0;
}
#mainVisual .span_7 p {
margin-bottom: 10px;
font-size: 13px;
}
#mainVisual .span_7 p.ic{
max-width: 100%;
border: 1px solid #fff;
border-radius: 0;
padding: 13px 25px;
margin: 0 auto 15px;
}
#mainVisual .span_4 {
padding: 0;
}
#mainVisual .span_4 .box{
border-radius: 0;
padding: 20px 30px;
margin-bottom: 0;
}
#mainVisual .span_4 .box:nth-child(2) {
padding-top: 0;
}
#mainVisual .span_4 .box:nth-child(2) p:nth-child(1) {
margin-bottom: 5px;
}
.prepare::after{
padding: 15px 0;
width: 82% !important;
transform: translateX(11%);
}
/* 更新情報 */
#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 .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;
}
section .sp_box > p.color_range{
	text-align: start;
}
#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;
	flex-direction: column;
}
.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;
} */
section .calender{
flex-direction: column;
}
section .calender .calender_left{

	margin-right:0;
}
section .calender .calender_right{

	margin-left: 0;
	margin-top: 50px;
}

/* ▼▼▼ う回ルート */
#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;
}
#sec2 .sp_box .map.one p.photo.max a{
	width: 70%;
	margin: auto;
}

/* ▼▼▼ 工事内容 */
#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;
display: inline-flex;
}
/* #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 .sp_box > dl dd h3 span {
font-size: 14px;
}
#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%);
margin-top: 20px;
}
#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: #8B272B;
	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;
	}

}
