@charset "utf-8";

/* -------------------------------------------------- */
/* RESET*/
/* -------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

li {
	list-style-type: none;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	vertical-align: bottom;
}

textarea,select,option {
	font: inherit;
}

/* -------------------------------------------------- */
/* LINK */
/* -------------------------------------------------- */
a:link,
a:visited { text-decoration: none; color: #333333; }
a:hover  { text-decoration: none; color: #003d79; }
a:active { text-decoration: none; color: #003d79; }

@media screen and (min-width: 1025px) {
	a {
		transition: all 0.3s ease-in-out 0s;
	}

	a:hover {
		opacity: 0.7
	}
}

/* -------------------------------------------------- */
/* COMMON */
/* -------------------------------------------------- */
html {
	font-size: 62.5%;/* 10px */
}

body {
	background: #FFFFFF;
	color: #333333;
	font-size: 14px;
	font-size: 1.4rem;
}

#container {
	position: relative;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
}

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

.tb{
	display: none;
}

.sp {
	display: none;
}

header {
	width: 100%;
	padding-top: 71px;
	background: url(../img/fv_bg.jpg) 0 0 repeat;
	position: relative;
}

#completed {
    background: rgba(51, 51, 51, .8);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	padding: 71px 1.5em 0;
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.8rem;
    font-weight: bold;
    z-index: 5;
}

.content {
	width: 1000px;
	margin: 0 auto;
}

#subNav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	z-index: 10;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

#nexco {
	padding: 10px 40px;
	background: #FFF;
	border-radius: 0 0 10px 10px;
}

#fv {
	padding: 30px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

#mainTit {
	order: 2
}

#infoIcon {
	order:1
}

#infoDate {
	order:3
}

/* タイトル */
.tit1 {
	margin-bottom: 40px;
	font-size: 3.2rem;
	color: #0098dc;
	font-weight: bold;
	border-bottom: 4px solid #a8daf0;
}

.titIn {
	position: relative;
	display: inline-block;
}

#construction1 .titIn::before {
	content: "";
	background: url(../img/tit1.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: 39px;
	height: 39px;
	display: inline-block;
	vertical-align: middle;
}

#construction2 .titIn::before {
	content: "";
	background: url(../img/tit2.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: 32px;
	height: 34px;
	display: inline-block;
	vertical-align: middle;
}

#construction3 .titIn::before {
	content: "";
	background: url(../img/tit3.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: 52px;
	height: 23px;
	display: inline-block;
	vertical-align: middle;
}

#construction4 .titIn::before {
	content: "";
	background: url(../img/tit4.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: 52px;
	height: 39px;
	display: inline-block;
	vertical-align: middle;
}

.titIn::after {
	content: "";
	width: 100%;
	height: 4px;
	background: #0098dc;
	position: absolute;
	left: 0;
	bottom: -4px;
}

.titTxt {
	display: inline-block;
	vertical-align: middle;
}

#pageTop {
	position: fixed;
	bottom: 120px;
	right: 20px;
	z-index: 1000;
}

/* ページトップ */
#pageTop a {
	width: 60px;
	height: 60px;
	background: #0098dc;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

/*フッター*/
footer {
	width: 100%;
	padding: 130px 0 130px;
	background: url(../img/footer_bg.jpg) 0 0 repeat-x #eae3d0;

}

.fNav {
	padding-bottom: 80px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.fNav li::after {
	padding: 0 5px;
	content: "|";
	display: inline-block;
	vertical-align: middle;
}

.fNav li:last-child:after {
	display: none;
}

#copyright {
	text-align: center;
}

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
#btnNotice {
	padding-top: 50px;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

#cvBtn {
	padding: 20px 0 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
}

#fixedCv {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 1000;
}

#fixedCvIn {
	padding: 15px 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
	background: #FFF;
	box-shadow: 0px -5px 12px 0px rgba(0, 0, 0, 0.15);
}

/* マーキー */
#marqueeWrap {
	margin-bottom: 20px;
	padding: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f1faff;
}

#newsTit {
	padding: 5px 10px;
	background: #0098dc;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	white-space:nowrap;
}

.marquee {
	overflow: hidden;
}


.marquee p:after {
	content:"";
	white-space:nowrap;
	padding-right:50px;
}


.marquee p {
	padding-left: 100%;
	margin:0;
	display:inline-block;
	white-space:nowrap;
	font-size: 1.6rem;
	font-weight: bold;
	-webkit-animation-name:marquee;
	-webkit-animation-timing-function:linear;
	-webkit-animation-duration:15s;
	-webkit-animation-iteration-count:infinite;
	-moz-animation-name:marquee;
	-moz-animation-timing-function:linear;
	-moz-animation-duration:15s;
	-moz-animation-iteration-count:infinite;
	-ms-animation-name:marquee;
	-ms-animation-timing-function:linear;
	-ms-animation-duration:15s;
	-ms-animation-iteration-count:infinite;
	-o-animation-name:marquee;
	-o-animation-timing-function:linear;
	-o-animation-duration:15s;
	-o-animation-iteration-count:infinite;
	animation-name:marquee;
	animation-timing-function:linear;
	animation-duration:15s;
	animation-iteration-count:infinite;
}

@-webkit-keyframes marquee {
	from   { -webkit-transform: translate(0%);}
	99%,to { -webkit-transform: translate(-100%);}
}
@-moz-keyframes marquee {
	from   { -moz-transform: translate(0%);}
	99%,to { -moz-transform: translate(-100%);}
}
@-ms-keyframes marquee {
	from   { -ms-transform: translate(0%);}
	99%,to { -ms-transform: translate(-100%);}
}
@-o-keyframes marquee {
	from   { -o-transform: translate(0%);}
	99%,to { -o-transform: translate(-100%);}
}
@keyframes marquee {
	from   { transform: translate(0%);}
	99%,to { transform: translate(-100%);}
}

/* ナビ */
#mainNav {
	padding: 10px 0;
	margin-bottom: 60px;
	background: #0098dc;
}

#mainNav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}

#mainNav li {
	padding: 0 20px;
	text-align: center;
	position: relative;
}

#mainNav li::after {
	content: "";
	width: 1px;
	height: 100%;
	background: #6dbee2;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
}

#mainNav li:last-child::after {
	display: none;
}

#mainNav a {
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	display: block;
}

#nav1 a::before {
	min-height: 40px;
	content: url(../img/nav1.svg);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#nav2 a::before {
	min-height: 40px;
	content: url(../img/nav2.svg);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#nav3 a::before {
	min-height: 40px;
	content: url(../img/nav3.svg);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#nav4 a::before {
	min-height: 40px;
	content: url(../img/nav4.svg);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#nav5 a::before {
	min-height: 40px;
	content: url(../img/nav5.svg);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

/* 工事概要 */
#construction1 {
	padding-bottom: 100px;
}

#info {
	position: relative;
}

.aboutBtn {
	position: absolute;
	left: 50%;
	bottom: 110px;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
}

.aboutBtn a {
	padding: 30px 40px;
	background: #003d79;
	border-radius: 10px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #FFF;
}

.aboutBtn span {
	display: inline-block;
	vertical-align: middle;
}

.aboutBtn a::before {
	content: "";
	width: 29px;
	height: 34px;
	margin-right: 8px;
	background: url(../img/icon1.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}

.aboutBtn a::after {
	content: "";
	width: 14px;
	height: 14px;
	margin-left: 5px;
	background: url(../img/icon2.svg) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}

/* 工事日程 */
#construction2 {
	padding-bottom: 100px;
}

#schedule {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#schedule li {
	height: 220px;
}

#schedule li img {
	height: 100%;
	width: auto;
}

.anno {
	padding-top: 10px;
}

/* う回路案内 */
#construction3 {
	padding-bottom: 100px;
}

#map {
	padding-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#map li {
	width: 49%;
}

#map li img {
	width: 100%;
	height: auto;
}


/* お問い合わせ */
#construction4 {
	padding-bottom: 40px;
}

#roadTraffic {
	padding:50px 30px;
	margin-bottom: 60px;
	background: #f7f7f7;
	display: flex;
	flex-wrap: wrap;
}

.contactTit {
	width: 120px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: #FFF;
	font-size: 2.4rem;
	font-weight: bold;
	color: #003d79;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.contactContent {
	width: calc(100% - 120px);
	padding-left: 30px;
}

.contactContent dt {
	padding: 5px 20px;
	margin-bottom: 10px;
	border: 4px #cf000e solid;
	background: #FFF;
	border-radius: 100px;
	font-size: 2rem;
	font-weight: bold;
	color: #cf000e;
}

.contactContent dd {
	padding: 0 10px 40px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #333;
}

.contactContent dd:last-child {
	padding: 0 10px;
}

.contactContent .strong {
	color: #cf000e;
}

.contactContent .strong a {
	color: #cf000e;
}

.contactContent .large {
	color: #003d79;
	font-weight: bold;
	font-size: 2rem;
}

.contactContent p {
	padding-bottom: 1em;
}

.contactContent .link a {
	padding: 10px 30px;
	color: #000;
	font-weight: bold;
	background: #fff799;
	border-radius: 100px;
	display: inline-block;
	font-size: 1.5rem;
	word-break: break-all;
}

.contactInfo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 40px;
}

.contactContent .anno {
	padding: 5px 10px;
	margin-top: 10px;
	font-size: 1.2rem;
	border: 1px #707070 solid;
	display: inline-block;
	line-height: 1.2;
}

.side{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 40px;
}

.contactContent .btnTit {
	font-size: 1rem;
	padding-bottom: 3px;
}

.contactList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.contactList li {
	padding: 0 20px 10px 0;
}

.contactList li::before {
	content: "";
	width: 15px;
	height: 15px;
	margin-right: 5px;
	background: #cf000e;
	display: inline-block;
	vertical-align: middle;
	border-radius: 100%;
}


#constPrice {
	padding:50px 30px;
	margin-bottom: 60px;
	background: #f7f7f7;
	display: flex;
	flex-wrap: wrap;
}

#customerCenter {
	padding-bottom: 40px;
	font-size: 1.8rem;
}

#otherTelWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#otherTelAnno {
	padding: 5px 10px;
	margin-top: 10px;
	font-size: 1.2rem;
	border: 1px #707070 solid;
	display: inline-block;
	line-height: 1.2;
}

#otherTel {
	padding-right: 15px;
}

#otherTel p {
	padding: 0;
	font-size: 1.4rem;
}

#telNumAnno {
	padding: 20px 40px;
	background: #cf000e;
	color: #FFF;
	font-size: 1.8rem;
}

#telNumAnno .underLine {
	text-decoration: underline;
}

/*広報ギャラリー*/
.subTit {
	padding: 40px 0;
	font-size: 5rem;
	font-weight: bold;
	color: #003d79;
	text-align: center;
}

.topBack {
	width: 1000px;
	margin: 0 auto 40px;
}

.topBack a {
	color: #003d79;
	font-weight: bold;
	font-size: 1.6rem;
}

.topBack a::before {
	content: "";
	width: 20px;
	height: 20px;
	margin-right: 5px;
	background: url(../img/icon3.svg) 0 0 no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}

.topBack a span {
	display: inline-block;
	vertical-align: middle;
}

.gallery {
	width: 800px;
	margin: 0 auto 40px;
}

.gallery:last-child {
	margin: 0 auto 100px;
}

.galleryIn {
	padding: 50px;
	border: 3px solid #2caae3;
}

.galleryTit {
	font-size: 2.4rem;
	font-weight: bold;
	color: #2caae3;
}

.galleryImg {
	padding-bottom: 50px;
	text-align: center;
}

.galleryBtn {
	text-align: center;
}

.galleryBtn a {
	padding: 10px 40px;
	background: #003d79;
	color: #FFF;
	font-weight: bold;
	display: inline-block;
	font-size: 1.6rem;
	border-radius: 5px;
}

.galleryBtn a::after{
	content: "";
	width: 20px;
	height: 20px;
	margin-left: 5px;
	background: url(../img/icon4.svg) 0 0 no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: middle;
}


/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.tb {
		display: block;
	}
	#completed{
		font-size: 2.604vw;
	}

	.content {
		width: 100%;
		margin: 0 auto;
		padding: 0 4%;
	}
	/* fv */
	#fv {
		padding: 30px 4%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	#mainTit {
		width: 100%;
		padding-bottom: 20px;
		text-align: center;
		order: 1
	}

	#infoIcon {
		padding-right: 20px;
		order:2
	}

	#infoDate {
		order:3
	}
	
	/* cv */
	#btnNotice {
		padding-top: 30px;
		font-size: 1.8rem;
	}

	#cvBtn {
		padding: 10px 4% 30px;
		gap: 0 20px;
	}
	
	#cvBtn li {
		width: calc(50% - 10px);
	}
	
	#cvBtn li img {
		width: 100%;
		height: auto;
	}
	
	/*ナビ*/
	#mainNav a {
		font-size: 1.4rem;
	}
	
	/*工事概要*/
	#construction1 {
		padding-bottom: 60px;
	}
	
	#info img {
		width: 100%;
		height: auto;
	}
	
	.aboutBtn {
		position: absolute;
		left: 50%;
		bottom: 8vw;
	}
	
	.aboutBtn a {
		padding: 15px 30px;
		font-size: 1.8rem;
		display: flex;
		justify-content: center;
		align-items: center;
		white-space: nowrap;
	}
	
	/*工事日程*/
	#construction2 {
		padding-bottom: 60px;
	}
	
	#schedule li {
		height: 20.5vw;
	}
	
	/* 迂回路案内 */
	#construction3 {
		padding-bottom: 60px;
	}
	
	#usage img {
		width: 100%;
		height: auto;
	}
	
	/* お問い合わせ */
	.logo img{
		width: 100px;
		height: auto;
	}
	
	.link {
		padding-bottom: 10px;
	}
	
	#oitaOffice img {
		max-width: 100%;
	}
	
	#customerCenter img {
		max-width: 100%;
	}
	
	#otherTel img {
		max-width: 100%;
	}

	/*広報ギャラリー*/
	.topBack {
		width: 100%;
		padding: 0 4%;
		margin: 0 auto 40px;
	}

	.gallery {
		width: 100%;
		padding: 0 4%;
		margin: 0 auto 40px;
	}

	.gallery:last-child {
		margin: 0 auto 60px;
	}
	
}


/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	.sp {
		display: inline-block;
	}
	header{
		padding-top: 53px;
	}
	#completed{
		padding: 53px 1.5em 0;
		font-size: 3.8vw;
	}
	
	/*サブナビ*/
	#back img {
		width: 100px;
		height: auto;
	}
	
	#nexco {
		padding: 10px 20px;
	}
	
	#nexco img {
		width: 50px;
		height: auto;
	}
	
	/* メインタイトル */
	#mainTit img {
		width: 100%;
		height: auto;
	}
	
	#infoIcon {
		width: 35%;
	}
	
	#infoIcon img {
		width: 100%;
		height: auto;
	}
	
	#infoDate {
		width: 60%;
	}
	
	#infoDate img {
		width: 100%;
		height: auto;
	}

	#marqueeWrap {
		padding: 5px 0 5px 4%;
		flex-wrap: wrap;
	}
	
	#newsTit {
		width: 74px;
		padding: 5px 0;
		text-align: center;
		font-size: 1.4rem;
	}

	.marquee {
		width: calc(100% - 74px);
	}

	.marquee p {
		font-size: 1.4rem;
	}
	
	#btnNotice {
		font-size: 1.3rem;
	}

	#cvBtn li {
		width: 100%;
		padding-bottom: 10px;
	}
	
	#fixedCvIn {
		padding: 10px 4%;
		gap: 0 10px;
	}
	
	.fixedBtn {
		width: 48%;
	}
	
	.fixedBtn img {
		width: 100%;
		height: auto;
	}
	
	#pageTop a {
		width: 40px;
		height: 40px;
	}
	
	#pageTop {
		position: fixed;
		bottom: 60px;
		right: 4%;
		z-index: 1000;
	}
	
	#pageTop a img {
		width: 50%;
		height: auto;
	}
	
	/* ナビ */
	#mainNav {
		margin-bottom: 40px;
	}

	#mainNav a {
		font-size: 3vw;
	}
	
	#mainNav li {
		padding: 0 10px;
		margin-bottom: 5px;
	}
	
	#nav6 img {
		width: 100px;
		height: auto;
	}
	
	/*タイトル*/
	.tit1 {
		font-size: 2.8rem;
	}
	
	/*工事概要*/
	.aboutBtn {
		position: absolute;
		left: 50%;
		bottom: 30vw;
	}
	
	.aboutBtn a {
		font-size: 1.4rem;
		padding: 15px 20px;
	}
	
	.aboutBtn a::before {
		content: "";
		width: 14px;
		height: 17px;
		margin-right: 8px;
		background: url(../img/icon1.svg) 0 0 no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		display: inline-block;
		vertical-align: middle;
	}
	
	/*工事日程*/
	#schedule li {
		width: 100%;
		height: auto;
	}
	
	#schedule li:first-child {
		padding-bottom: 10px;
	}
	
	.anno {
		font-size: 1.2rem;
	}
	
	#schedule li img {
		height: auto;
		width: 100%;
	}
	
	/* う回路案内 */
	#map li {
		width: 100%;
	}
	
	#map li:first-child {
		padding-bottom: 20px;
	}
	
	
	/* お問い合わせ */
	.contactTit {
		padding: 10px;
		margin-bottom: 15px;
		width: 100%;
		writing-mode: horizontal-tb;
		font-size: 2rem;
		border: 1px #003d79 solid;
	}
	
	.contactContent {
		width: 100%;
		padding-left: 0;
	}
	
	#roadTraffic {
		padding: 20px 4%;
		margin-bottom: 40px;
	}
	
	#constPrice {
		padding: 20px 4%;
		margin-bottom: 40px;
	}
	
	.contactContent dt {
		font-size: 1.6rem;
	}
	
	.contactContent .large a {
		color: #003d79;
		font-size: 2rem;
	}
	
	.info {
		padding-bottom: 10px;
	}
	
	.contactContent .btnTit {
		font-size: 1.2rem;
	}

	/*広報ギャラリー*/
	.subTit {
		font-size: 3.5rem;
	}

	.galleryIn {
		padding: 30px 4%;
	}

	.galleryImg {
		padding-bottom: 30px;
		text-align: center;
	}

	.galleryImg img {
		max-width: 60%;
		height: auto;
	}

	.galleryBtn a {
		font-size: 1.4rem;
	}

	.fNav {
		padding: 0 4% 80px;
	}

	
}

@media screen and (max-width: 374px) {
	html {
		font-size: 2.667vw;
	}
}
