@charset "UTF-8";

body.opening {
	position: fixed;
	width: 100%;
}

/* Layout
---------------------------------------------------------- */
#wrapper {
overflow-x: hidden;
}
#sideColumn {
	padding-top: 40px;
}
.sectionWrapper > div{
	padding: 48px 0 32px;
}
.sectionWrapper > div>h2:first-child {
	margin-top: 0;
}
.sectionWrapper > div:nth-child(odd){
position: relative;	
z-index: 0;
}
.sectionWrapper > div:nth-child(odd):after{
content: "";
display: block;
background:#f8f8f8;
background-size: cover;
    width: 3000px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0 -930px;
    z-index: -1;
}


/* header
---------------------------------------------------------- */
header {
	padding: 28px 32px 0 32px;
	position: relative;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	background: url(../img/cmn_header_bg.png) repeat-x top;
	z-index: 2;
}
header .headerR {
text-align: right;
}

header .uNavi {
display: inline-block;
background: #f7f7f7;
border: 1px solid #dadfe1;
border-radius: 2px;
	padding: 0.4em 0;
	margin-top: 16px;
	margin-right: 7px;
	vertical-align: top;
	font-size: 0.8em;
}

header .uNavi li {
display: inline-block;
	padding: 0 0.8em 0 1em;
	border-left: 1px solid #dadfe1;

}
header .uNavi li:after {
content: "\f138";
	font-family: FontAwesome;
	margin-left: 0.3em;
}
header .uNavi li:first-child {
border-left: 1px none;
}
header .uNavi li a {
color: #242424;
text-decoration: none;
}
header .uNavi li a:hover {
	text-decoration: underline;
}

header .englishBtn {
display: inline-block;
		margin-top: 13px;
		vertical-align: top;
}
/* gNavi
---------------------------------------------------------- */

nav#gNavi {
margin-top: 1.3em;
font-size: 1.1em;
}
nav#gNavi ul {
	display: table;
	width: 100%;
}
nav#gNavi ul li {
display: table-cell;
width: 16.66666%;
}
nav#gNavi ul li a {
	display: block;
	text-align: center;
	color: #27384e;
	padding: 1em 0.7em 1.1em 1.3em;
	font-size: 1.1em;
	line-height: 1;
	border-right: 1px solid #dadfe1;
	text-decoration: none;
	font-weight: bold;
	white-space: nowrap;
	position: relative;
}
nav#gNavi ul li:first-child a {
	border-left: 1px solid #dadfe1;
}


/*カテゴリカラー*/
nav#gNavi ul li a:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	background: #eeeeee;
	width: 100%;
	height: 0;
	opacity: 0;
	transition:0.3s; 
}
nav#gNavi ul li.cate01 a:after{
	background: #6ebce9
}
nav#gNavi ul li.cate02 a:after{
	background: #87d07e;
}
nav#gNavi ul li.cate03 a:after{
	background: #fca6a6;
}
nav#gNavi ul li.cate04 a:after{
	background: #ca8de3;
}
nav#gNavi ul li.cate05 a:after{
	background: #faab4c;
}
nav#gNavi ul li.cate06 a:after{
	background: #71cbca;
}

body.outline nav#gNavi ul li.cate01 a:after,
body.organization nav#gNavi ul li.cate02 a:after,
body.project nav#gNavi ul li.cate03 a:after,
body.cooperation nav#gNavi ul li.cate04 a:after,
body.facility nav#gNavi ul li.cate05 a:after,
body.public_participation nav#gNavi ul li.cate06 a:after{
	height: 3px;
	opacity: 1;
}

nav#gNavi ul li.linkBtn a{
	padding: 0.8em 1.6em 0.8em 0.8em ;
	margin-left: 1em;
	color: #ffffff;
	width: 120px;
}
nav#gNavi ul li.linkBtn a:after{
	color: #ffffff;
}

/*マウスオーバー*/
nav#gNavi ul li a:hover {
}
nav#gNavi ul li a:hover:after{
height: 3px;
opacity: 1;
}
/*現在地*/
nav#gNavi ul li.current-page-ancestor a, nav#gNavi ul li.current_page_item a {
	background-color: #E6F7FF;
}

/* breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	background: #f3f3f3;
	overflow: hidden;
}
#breadcrumb .breadcrumb {
	padding: 0;
	margin: 0;
	list-style: none;
	background: none;
	border-radius: 0;
	line-height: 1.4;
}
#breadcrumb .breadcrumb:after {
	content: "";
	display: block;
	clear: both;
}
#breadcrumb .breadcrumb>li {
float: left;
}
#breadcrumb .breadcrumb>li+li:before {
    content: none;
}
#breadcrumb .breadcrumb li a,#breadcrumb .breadcrumb li span {
display: block;
padding: 8px 18px 8px 32px;
color: #242424;
font-size: 0.9em;
text-decoration: none;
}
#breadcrumb .breadcrumb li a{
	background: #ffffff;
	border-left : 1px solid #e1e5e6;
	position: relative;
}
#breadcrumb .breadcrumb li:first-child a:before{
	content: "\f015";
	font-family: FontAwesome;
	margin-right: 4px;
}
#breadcrumb .breadcrumb li a:after{
	content: "";
    border-top: 1px solid #e1e5e6;
    border-right: 1px solid #e1e5e6;
    background: #ffffff;
    position: absolute;
    right: -14px;
    top: 4px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    z-index: 1;
    height: 25px;
    width: 25px;
    transition:0.2s; 
}
#breadcrumb .breadcrumb li a:hover,#breadcrumb .breadcrumb li a:hover:after{
background: #2c95d0;
color: #ffffff;
}
#breadcrumb .breadcrumb li span {
font-weight: bold; 
}
/* mainColumn
---------------------------------------------------------- */
#mainColumn {
    min-height: 600px;
}

#mainColumn article img {
	max-width: 100%;
	height: auto;
}

.postArea{
margin-right: 32px;
}

/* layout */
.layout11:after, .layout12:after, .layout21:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
}
.layout11 > div {
	width: 48%;
	float: left;
}
.layout11 > div:last-child {
	float: right;
}
.layout11 > div:first-child {
	float: left;
}

.layout21 > div:last-child {
	width: 34%;
	float: right;
}
.layout21 > div:first-child {
	width: 62%;
	float: left;
}
.layout12 > div:last-child {
	width: 62%;
	float: right;
}
.layout12 > div:first-child {
	width: 34%;
	float: left;
}


/* sideColumn
---------------------------------------------------------- */
#sideColumn {
}
/* サイドカラムウィジェット */
#sideColumn .widget {
	margin-bottom: 2em;
}
#sideColumn .widget h3.widget-header {
	font-weight: bold;
	color: #ffffff;
	padding: 0.8em 1em;
	background: #496874;
}
/* 最近の投稿、アーカイブ、カテゴリー */
#sideColumn .widget-list a {
	padding: 0.8em 1.6em;
	display: block;
	border: 1px solid #e6e5e5;
	border-top: none;
	position: relative;
}
#sideColumn .widget-list a:before {
	content: "\f138";
	font-family: FontAwesome;
	position: absolute;
	left: 1em;
	top: 0.8em;
}
/*マウスオーバー*/
#sideColumn .widget-list a:hover {
	background-color: #E6F7FF;
}

/*サイドバナー*/
ul.sideBn li{
background: #f5f5f5;
border: 1px solid #dadfe1;	
margin-bottom: 5px;
border-radius: 2px;
    box-shadow: 0 1px rgba(255,255,255,1) inset;
}

ul.sideBn li a{
display: block;
	padding: 1.6em 2.4em 1.6em 4.6em;
	position: relative;
	text-decoration: none;
	font-weight: bold;
	line-height: 1.4;
}
ul.sideBn li a span{
		color: #242424;
}
ul.sideBn li a img{
	position: absolute;
	left: 1em;
	top:50%;
	margin-top: -20px !important;
}

/* lNavi
---------------------------------------------------------- */
nav#lNavi {
	margin-bottom: 2em;
	border: 2px solid #eeeeee;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
	position: relative;
	overflow: hidden;
}
nav#lNavi:before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: -10px;
	top:-10px;
	transform:  rotate(45deg);
	 -webkit-transform:  rotate(45deg);
}
nav#lNavi h2 {
	font-weight: bold;
    background: #ffffff;
    padding: 1.5em 1em;
    font-size: 1.3em;
}
nav#lNavi ul{
	background: #f5f5f5;
	line-height: 1.6;
}
nav#lNavi ul li a {
	padding: 0.8em 3em 0.8em 1.4em;
	display: block;
	border-bottom: 1px solid #ffffff;
	position: relative;
	color: #242424;
	text-decoration: none;
}
nav#lNavi ul li a:before {
	content: "\f138";
    font-family: FontAwesome;
    position: absolute;
    right: 1em;
    top: 50%;
    color: #2c95d0;
    margin-top: -0.7em;
}

nav#lNavi ul li ul{
	background: #eeeeee;
	font-size: 0.9em;
}
nav#lNavi ul li ul li a{
    padding: 0.6em 3em 0.6em 3em;
}
/*現在地*/
nav#lNavi ul li.current > a {
	background: #e3f1f9;
}


/*マウスオーバー*/
nav#lNavi ul li a:hover {
	background: #e3f1f9;
}



/* pageTop
---------------------------------------------------------- */

/* footer
---------------------------------------------------------- */
.town{
	margin-top: 50px;
	height: 60px;
	background: url(../img/cmn_footer_bg01.png) repeat-x bottom;
}

.townIn{
	height: 60px;
	background: url(../img/cmn_footer_bg02.png) no-repeat center bottom;
	position: relative;
	bottom: -6px;
}

footer {
border-top: 2px solid #dadfe1;
	padding: 34px 0 40px;
	background: #f7f7f7;
}

footer img.footerPhoto{
border: 2px solid #ffffff;
}

footer .footerInfo img{
margin: 0.3em 0 0.5em;
}
footer .footerInfo p{
line-height: 1.6;
	
}

footer .footerR{
	text-align: right;
}
footer .footerR #pageTop{
	display: inline-block;
	margin-bottom: 1em;
}
footer .footerR #pageTop a {
	display: block;
	background: #dadfe1;
	border-radius: 2px;
	padding: 0.4em 1.5em 0.8em;
	text-decoration: none;
	color: #242424;
	position: relative;
	font-size: 0.8em;
}
footer .footerR #pageTop a:hover {
	background: #bcced5;
}

footer .footerR #pageTop a:before {
	content: "\f106";
	font-family: FontAwesome;
	font-size: 1.8em;
	margin-right:0.2em;
	position: relative;
	top: 0.08em;
	line-height: 1;
}
footer .footerR ul li {
	display: inline-block;
	padding-left: 1em;
	margin-left: 0.7em;
	border-left: 1px solid #242424;
	line-height: 1;
	font-size: 0.9em;
}
footer .footerR ul li:first-child {
	border: none;
}
footer .footerR ul li a {
	color: #242424;
}
footer .footerR small.copyright {
font-size: 0.75em;
}
/* heading
---------------------------------------------------------- */

.heading01 {
position: relative;
    font-size: 2.2em;
    font-weight: bold;
    color: #ffffff;
    margin: 0 0 40px;
    padding: 1.3em 0;
    border: none;
    text-align: left;
    z-index: 0;
    letter-spacing: 3px;
}
.heading01:after {
content: "";
display: block;
background:url(../img/cmn_bg02.png) no-repeat center center;
background-size: cover;
    width: 3000px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0 -930px;
    z-index: -1;
}


.postArea h2, .heading02, .postArea .heading02 {
	font-size: 1.7em;
	font-weight: bold;
	margin: 2em 0 1em;
	padding: 0 0 0.3em;
	border: none;
	text-align: left;
	border-bottom: 2px solid #e4e9eb;
    position: relative;
    color: #2c95d0;
    
}
.postArea h2:before, .heading02:before, .postArea .heading02:before {
    content: "";
    width: 50%;
    border-bottom: 2px solid #2c95d0;
    position: absolute;
    left: 0;
    bottom: -2px;
}
.postArea h3, .heading03, .postArea .heading03 {
	font-size: 1.3em;
	font-weight: bold;
	color: #27384e;
	margin: 1.4em 0 0.8em;
	padding: 0.1em 0.5em;
	border: none;
	border-left: 3px solid #27384e;
	background: none;
	text-align: left;
}
.postArea h4, .heading04, .postArea .heading04 {
	font-size: 1.1em;
	font-weight: bold;
	color: #27384e;
	margin: 1em 0 0.3em;
	border: none;
	background: none;
	text-align: left;
}
.postArea h5, .heading05, .postArea .heading05 {
	font-size: 1.1em;
	font-weight: bold;
	color: #27384e;
	margin: 1.2em 0 0.5em;
	padding: 0;
	border: none;
	background: none;
	text-align: left;
}


.postArea p.copy01{
	font-size: 1.9em;
    margin-bottom: 1em;
    padding-bottom: 0.7em;
    line-height: 1.5;
    position: relative;
}

.postArea p.copy01:after{
    content: "";
    width: 100px;
    border-bottom: 3px solid #dadfe1;
    position: absolute;
    left: 0;
    bottom: -2px;
}
/* listing
---------------------------------------------------------- */

.ul {
	margin-left: 1em;
}
.ul li {
	padding-left: 1em;
	position: relative;
	/*margin-bottom: 0.5em;*/
}
.ul li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0.2em;
	top: 0.6em;
	width: 4px;
	height: 4px;
	border-radius: 4px;
	background: #2c95d0;
}
.ol {
	counter-reset: number;
	list-style: none;
	margin-left: 1em;
}
.ol li {
	padding-left: 1.2em;
	position: relative;
	/*margin-bottom: 0.5em;*/
}
.ol li:before {
	counter-increment: number;
	content: counter(number);
	display: block;
	position: absolute;
	left: 0;
	color: #2c95d0;
	font-weight: bold;
}
.flow {
}
.flow li {
	padding-bottom: 2em;
	position: relative;
	z-index: 1;
}
.flow li:before {
	content: "";
	height: 100%;
	border-left: 2px solid #eeeeee;
	position: absolute;
	left: 2em;
	top: 0;
	z-index: -1;
	margin-left: -1px;
}
.flow li:last-child:before {
	content: none;
}
.flow li:after {
	content: "";
	display: block;
	clear: both;
}
.flow .time {
	color: #ffffff;
	background: #3aa5db;
	text-align: center;
	width: 4em;
	height: 4em;
	border-radius: 100%;
	font-weight: bold;
	line-height: 4;
	position: absolute;
	left: 0;
	top: 0;
}
.flow .timeContent {
	padding: 1.2em;
	margin-left: 5.5em;
	position: relative;
	background-color: #f5f5f5;
	border-radius: 4px;
	display: block;
}
.flow .timeContent:before {
	content: ' ';
	height: 0;
	position: absolute;
	width: 0;
	border: 8px solid transparent;
	border-right-color: #f5f5f5;
	top: 1.4em;
	left: -16px;
}
/* table
---------------------------------------------------------- */

.table-responsive {
	margin-top: 16px;
}
table.table {
	border: #dadfe1 2px solid;
	width: 100%;
	border-collapse: collapse;
}
table.table th, table.table td {
	border: #dadfe1 1px solid;
	text-align: center;
	padding: 8px 16px 9px;
	background: #ffffff;
}
table.table th {
	background: #f7f7f7;
	color: #27384e;
}
table.table td {
	text-align: left;
}

table.table .w01 {
width: 20%;
}
table.table .w02 {
width: 25%;
}
table.table .w03 {
width: 33.3%;
}


/* form
---------------------------------------------------------- */
.formArea{
	width: 80%;
	margin: 0 auto;
}

.formArea ol.formFlow{
display: table;	
width: 100%;
border: 1px solid #eeeeee;
margin-bottom: 1em;
overflow: hidden;
z-index: 0;
    position: relative;

}
.formArea ol.formFlow li{
 display: table-cell;
 width: 33.3%;
 padding: 8px 0 8px 1.5em;
 text-align: center;
 position: relative;
 z-index: 2;
}
.formArea ol.formFlow li:after{
content: "";
    border-top: 1px solid #e1e5e6;
    border-right: 1px solid #e1e5e6;
    background: #ffffff;
    position: absolute;
    right: -14px;
    top: 5px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    z-index: -1;
    height: 30px;
    width: 30px;
}
.formArea ol.formFlow li.current{
background: #9fa5a8;
font-weight: bold;
color: #ffffff;
z-index: 0;
}
.formArea ol.formFlow li.current:after{
	background: #9fa5a8;
}

.formArea .required{
	color: #cc0000;
	white-space: nowrap;
		border: 2px solid #cc0000;
	padding: 3px 5px;
	margin-left: 5px;
	font-size: 0.8em;
}
.formArea .error{
	color: #cc0000;
}

.formArea table.table th{
	vertical-align: middle;
	text-align: right;
	width: 33%;
}

.formArea .half{
width: 50%;
}

.formArea .doui{
padding: 1em;
border: 2px solid #eeeeee;
margin-bottom: 2em;
}

.form-control{
	color: #000000;
}
.formBtn{
	display: inline-block;
text-decoration: none;
padding: 0.5em 2.4em 0.5em 2.4em;
color: #ffffff !important;
line-height: 1.5;
	position: relative;
	border-radius: 100px;
	font-weight: bold;
	background: rgb(63,176,224);
background: -moz-linear-gradient(top,  rgb(63,176,224) 0%, rgb(44,139,209) 100%);
background: -webkit-linear-gradient(top,  rgb(63,176,224) 0%,rgb(44,139,209) 100%);
background: linear-gradient(to bottom,  rgb(63,176,224) 0%,rgb(44,139,209) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3fb0e0', endColorstr='#2c8bd1',GradientType=0 );
    box-shadow: 0 2px 2px rgba(0,0,0,0.2);
    transition-property: all;
    transition: 0.2s;
    bottom: 0;
    border: none;
}
.formBtn:hover{
	bottom: -2px;
box-shadow: 0 0 0 rgba(0,0,0,0.2), 0 2px 2px rgba(0,0,0,0.2) inset;
}

/* Section
---------------------------------------------------------- */
.postArea p, .postArea ul, .postArea ol, .postArea table, .postArea form, .postArea pre, .mb {
	margin-bottom: 1.2em;
}

.postAreaBlog{
	padding: 32px;
	border: 1px solid #dadfe1;
}

.postAreaBlog .linkBtn.lineTop{
margin: 40px 0 0;
text-align: center;

}

ol.carousel-indicators {
	margin: 0 0 0 -30%;
}


ul.indexNavi {
	margin: 0 -1%;
}

ul.indexNavi:after{
content: "";
display: block;
clear: both;	
}

ul.indexNavi li{
float: left;
width: 48%;
margin: 0 1% 2%;
border: 1px solid #dadfe1;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
position: relative;
transition:0.2s;
transition-property: box-shadow,top;
top:0;
}
ul.indexNavi li:hover{
	box-shadow: none;
	top:2px;
}
ul.indexNavi li a{
	font-size: 1.3em;
	line-height:  1.3;
	font-weight: bold;
	display: table;
	position: relative;
	width: 100%;
	padding: 0;
	color: #27384e;
}
ul.indexNavi li a:before{
content: none;
}
ul.indexNavi li a img{
width: 100%;
height: auto;
}
ul.indexNavi li a:hover img{
	opacity: 0.8;
}
ul.indexNavi li a > span{
display: table-cell;
vertical-align: middle;

text-align: left;
}
ul.indexNavi li a > span:first-child{
	width: 45%;
	padding-right: 24px;
}
ul.indexNavi li a > span:last-child{
	width: 55%;
	padding-right: 2.2em;
}
ul.indexNavi li a > span:last-child:after{
	content: "\f138";
	font-family: FontAwesome;
	position: absolute;
	right: 1em;
	top:50%;
	margin-top: -0.5em;
	color: #2c95d0;
}
ul.indexNavi li a > span > span{
	font-size: 0.8em;
}

ul.indexNavi .sideNav{
	font-size: 0.7em;
	width: 100%;
}

.sitemapList > ul >li{
	border-bottom: 1px solid #dadfe1;
	padding: 1em 0;
}

.sitemapList > ul ul li{
margin-left: 1.6em;
}

.sitemapList h4+ul > li{
	display: inline-block;
}
.reservation{
	text-align: left;
	font-size: 0.9em;
}
.reservation li{
	margin-bottom: 4px;
	padding: 4px 1em;
	width: 44%;
}
.reservation li:before{
position: static !important;
margin-right: 2px;
}
.reservation li:before,
.reservation li a{
	color: #ffffff !important;
}
.reservation li.reservation01{
background: #658CD9;
}
.reservation li.reservation02{
background:#e67399;
}
.reservation li.reservation03{
background: #a7b828;
}
.reservation li.reservation04{
background: #d47f1e;
}
.reservation li.reservation05{
background: #060d5e;
}
.reservation li.reservation06{
background: #1b887a;
}
.reservation li.reservation07{
background: #9999ff;
}
.reservation li.reservation08{
background: #528800;
}
.reservation li.reservation09{
background: #ee82ee;
}

/* 投稿記事系
---------------------------------------------------------- */

/*新着投稿記事*/
.newsList {
	margin-bottom: 1em;
}

.newsList li a {
	border-top: 1px dotted #c4c7c9;
	padding: 1em 2.4em 1em 0;
}
.newsList li:first-child a {
	border-top: none;
}
.newsList li a:hover {

}

.newsList.linkBox a:before {
    content: "\f105";
  }

.newsList li a > span {
	display: table-cell;
}
.newsList li a .newsDate {
	font-weight: bold;
	white-space: nowrap;
	font-size: 0.8em;
	width: 9em;
	text-align: center;
	color: #242424;
	background: #ffffff;
	position: relative;
	vertical-align: middle;
	border-radius: 2px;
	padding: 2px;
	display: block;
}
.newsList li a .newsDate:before {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: 4px solid transparent;
    border-left-color: #ffffff;
    top: 50%;
    right: -8px;
    margin-top: -4px;
}

.newsList li a .newsTitle {
	color: #242424;
	padding-left: 1em;
	text-decoration: underline;
}
.newsList li a:hover .newsTitle {
text-decoration: none;
}
/*ページャー*/

.pagination{
	border-top: 1px solid #dadfe1;
    margin-top: 24px;
    padding-top: 24px;
    display: block;
}

.page-navigation-list-item{
	display: block;
    background: #f7f7f7;
    border: 1px solid #dadfe1;
    border-radius: 2px;
    padding: 0.4em 1em;
}

.page-navigation-list-item a{
	color: #242424;
	text-decoration: none;
}
.page-navigation-list-item a:hover{
text-decoration: underline
}

.page-navigation-prev{
	float: right;
}
.page-navigation-prev:after {
    content: "\f138";
    font-family: FontAwesome;
    margin-left: 0.3em;
}

.page-navigation-next{
	float: left;
}
.page-navigation-next:before {
    content: "\f137";
    font-family: FontAwesome;
    margin-right: 0.3em;
}

/*投稿データ*/
.postData {
	padding: 0.4em 1.2em;
    background: #f7f7f7;
    display: inline-block;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
    border: 1px solid #dadfe1;
   border-bottom: none;
}
/*post アーカイブ・カテゴリの記事単位*/

.post {
	padding: 24px;
	background: #f5f5f5;
	margin-bottom: 16px;
}
.post h2 {
	font-weight: bold;
}
/* Bootstrap
---------------------------------------------------------- */

/*ガターなしrow*/

.row-0 {
	margin-left: 0px;
	margin-right: 0px;
}
.row-0 > div {
	padding-right: 0px;
	padding-left: 0px;
}




/*カテゴリカラー
---------------------------------------------------------- */

/*青*/
body.outline nav#lNavi,
body.general nav#lNavi {
	border: 2px solid #2c95d0;
}

body.outline nav#lNavi:before,
body.general nav#lNavi:before {
	background: #2c95d0;
}
body.outline nav#lNavi h2,
body.outline nav#lNavi ul li a:before,
body.general nav#lNavi h2,
body.general nav#lNavi ul li a:before {
	color: #2c95d0;
}


body.outline .heading01:after,
body.general .heading01:after{
	 	 background-color: #6ebce9
}



/*緑*/

body.organization nav#lNavi,
body.news nav#lNavi {
	border: 2px solid #45ad39;
}
body.organization nav#lNavi:before,
body.news nav#lNavi:before {
	background: #45ad39;
}
body.organization nav#lNavi h2,
body.organization nav#lNavi ul li a:before,
body.news nav#lNavi h2,
body.news nav#lNavi ul li a:before,
body.organization ul.indexNavi li a > span:last-child:after,
body.news ul.indexNavi li a > span:last-child:after  {
	color: #45ad39;
}
body.organization nav#lNavi ul li a:hover,
body.organization nav#lNavi ul li.current > a,
body.organization .indexNavi.linkBox a:hover,
body.news nav#lNavi ul li a:hover,
body.news nav#lNavi ul li.current > a,
body.news .indexNavi.linkBox a:hover {
    background: #e4f5e1;
}

body.organization .heading01:after,
body.news .heading01:after{
	background-color: #87d07e;
}




.news .newsList li a .newsDate {
	background: #c2f3bc;
}
.news .newsList li a .newsDate:before {
	 border-left-color: #c2f3bc;
}







/*赤*/

body.project nav#lNavi {
	border: 2px solid #f77373;
}
body.project nav#lNavi:before {
	background: #f77373;
}
body.project nav#lNavi h2,
body.project nav#lNavi ul li a:before,
body.project ul.indexNavi li a > span:last-child:after {
	color: #f77373;
}

body.project nav#lNavi ul li a:hover,
body.project nav#lNavi ul li.current > a,
body.project .indexNavi.linkBox a:hover {
    background: #ffecec;
}

body.project .heading01:after{
	background-color: #fca6a6;
}



/*紫*/

body.cooperation nav#lNavi,
body.event nav#lNavi {
	border: 2px solid #b765d8;
}
body.cooperation nav#lNavi:before,
body.event nav#lNavi:before {
	background: #b765d8;
}
body.cooperation nav#lNavi h2,
body.cooperation nav#lNavi ul li a:before,
body.event nav#lNavi h2,
body.event nav#lNavi ul li a:before,
body.cooperation ul.indexNavi li a > span:last-child:after,
body.event ul.indexNavi li a > span:last-child:after  {
	color: #b765d8;
}

body.cooperation nav#lNavi ul li a:hover,
body.cooperation nav#lNavi ul li.current > a,
body.cooperation .indexNavi.linkBox a:hover,
body.event nav#lNavi ul li a:hover,
body.event nav#lNavi ul li.current > a,
body.event .indexNavi.linkBox a:hover {
    background: #f7ebfd;
}

body.cooperation .heading01:after,
body.event .heading01:after{
	background-color: #ca8de3;
}




.event .newsList li a .newsDate {
	background: #f2d1ff;
}
.event .newsList li a .newsDate:before {
	 border-left-color: #f2d1ff;
}



/*橙*/

body.facility nav#lNavi {
	border: 2px solid #ff8a1b;
}
body.facility nav#lNavi:before {
	background: #ff8a1b;
}
body.facility nav#lNavi h2,
body.facility nav#lNavi ul li a:before,
body.facility ul.indexNavi li a > span:last-child:after {
	color: #ff8a1b;
}

body.facility nav#lNavi ul li a:hover,
body.facility nav#lNavi ul li.current > a,
body.facility .indexNavi.linkBox a:hover {
    background: #ffedd7
}

body.facility .heading01:after{
	background-color: #faab4c;
}



/*青緑*/

body.public_participation nav#lNavi {
	border: 2px solid #3fa6a5;
}
body.public_participation nav#lNavi:before {
	background: #3fa6a5;
}
body.public_participation nav#lNavi h2,
body.public_participation nav#lNavi ul li a:before,
body.public_participation .indexNavi.linkBox a:hover {
	color: #3fa6a5;
}

body.public_participation nav#lNavi ul li a:hover,
body.public_participation nav#lNavi ul li.current > a,
body.public_participation .indexNavi.linkBox a:hover {
    background: #dff9f8;
}

.public_participation .newsList li a .newsDate {
	background: #bbecec;
}
.public_participation .newsList li a .newsDate:before {
	 border-left-color: #bbecec;
}

body.public_participation .heading01:after{
	background-color: #71cbca;
}

/*緑青*/

body.sdgs nav#lNavi {
	border: 2px solid #5BC1B7;
}
body.sdgs nav#lNavi:before {
	background: #5BC1B7;
}
body.sdgs nav#lNavi h2,
body.sdgs nav#lNavi ul li a:before,
body.sdgs .indexNavi.linkBox a:hover {
	color: #5BC1B7;
}

body.sdgs nav#lNavi ul li a:hover,
body.sdgs nav#lNavi ul li.current > a,
body.sdgs .indexNavi.linkBox a:hover {
    background: #D5F2F3;
}

.sdgs .newsList li a .newsDate {
	background: #D5F2F3;
}
.sdgs .newsList li a .newsDate:before {
	 border-left-color: #D5F2F3;
}

body.sdgs .heading01:after{
	background-color: #71cbca;
}


/* ホーム
---------------------------------------------------------- */

.mainWrapper{
	background: #f5f5f5;
	border-bottom: 1px solid #dadfe1;
	padding: 28px 0;
}

#topMain{
}


/*カルーセル*/
.carousel-control {
	opacity: 0;
	color: #ffffff !important;
	text-align: center;
	width: 10%;
	text-shadow: none;
	background: none !important;
	display: block;
	height: 100%;
}
.carousel-control:focus {
outline: none;
}

.carousel-control i {
	top: 50%;
	left: 50%;
	margin-top: -0.5em;
	margin-left: -0.3em;
	position: absolute;
}


#topMain .carousel-inner{
	box-shadow: 0 2px 20px rgba(0,0,0,0.2);
}

#topMain .carousel-inner a:hover img{
	opacity: 0.8;
} 

#topMain .carousel-indicators{
bottom: -20px;
    right: 0;
    left: auto;
    margin-left: 0;
    width: auto;
    z-index: 0;
}

#topMain .carousel-indicators li {
    width: 60px;
    height: 5px;
    margin: 0;
    text-indent: -999px;
    cursor: pointer;
    border: none;
    background: #ccc;
    border-radius: 0;
}

#topMain .carousel-indicators .active,
#topMain .carousel-indicators li:hover {
    background-color: #37a0d9;
}

.mainLink{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

ul.mainLink li{
	display: block;
	width: 45%;
	margin: 0.5rem;
	position: relative;
}
/* 
ul.mainLink li:first-child{
margin-top: 0;
} */

ul.mainLink li a{
font-weight: bold;
height: 100%;
width: 100%;
padding: 0.7em;
vertical-align: middle;
overflow: hidden;
border: 1px solid #2c95d0;
color: #2c95d0;
background: rgb(255,255,255);
background: -moz-linear-gradient(-45deg,  rgb(255,255,255) 0%, rgb(255,255,255) 50%, rgb(247,247,247) 50%, rgb(247,247,247) 50%, rgb(247,247,247) 100%);
background: -webkit-linear-gradient(-45deg,  rgb(255,255,255) 0%,rgb(255,255,255) 50%,rgb(247,247,247) 50%,rgb(247,247,247) 50%,rgb(247,247,247) 100%);
background: linear-gradient(135deg,  rgb(255,255,255) 0%,rgb(255,255,255) 50%,rgb(247,247,247) 50%,rgb(247,247,247) 50%,rgb(247,247,247) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f7f7f7',GradientType=1 );
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
position: static
top:0;
transition:0.2s; 
line-height: 1.6
}

ul.mainLink li a:before{
content: none;
	
}

ul.mainLink li a:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #2c95d0;
    position: absolute;
    left: -10px;
    top: -10px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.linkBox a div {
position: relative;
}

/* .linkBox a div:before {
    content: "\f138";
    font-family: FontAwesome;
    position: absolute;
    right: -1em;
    top: 50%;
    margin-top: -0.5em;
    line-height: 1;
} */

ul.mainLink li.link02 a{
	color: #45ad39;
	border-color: #45ad39;
}
ul.mainLink li.link02 a:hover{
background: #dff9dc;
}

ul.mainLink li.link02 a:after {
	background: #45ad39;
}

ul.mainLink li.link03 a{
	color: #ff8a1b;
	border-color: #ff8a1b;
}
ul.mainLink li.link03 a:hover{
background: #ffe7cf;
}

ul.mainLink li.link03 a:after{
	background: #ff8a1b;
}

ul.mainLink li.link04 a{
	color: #5BC1B7;
	border-color: #5BC1B7;
}
ul.mainLink li.link04 a:hover{
background: #D5F2F3;
}

ul.mainLink li.link04 a:after{
	background: #5BC1B7;
}

ul.mainLink li.link04 .newIcon{
	position: absolute;
	top: 5%;
	right: 5%;
	height: 30%;
}

ul.mainLink li.link04 .sdgsLogo{
	position: absolute;
	bottom: 5%;
	right: 5%;
	height: 30%;
}

ul.mainLink li a:hover{
top:2px;
}

ul.mainLink li a span.font01{
font-size: 1.3em;
margin-top: 0.5em;
display: block;
line-height: 1.2;
word-break: break-all;
letter-spacing: -1px;
}

ul.mainLink li a span.jptext{
	color: #242424;
	font-size: 1em;
}

.homeContent .newsWrapper{
	position: relative;
}

.homeContent .newsWrapper:before{
 content: "";
    display: block;
    position: absolute;
    left: 50%;
    height: 93%;
    width: 1px;
    background: #dadfe1;
    margin-top: 4%;

}


.homeContent section{
padding: 56px 0 0;
}


.homeContent section .homeStit{
	border-bottom: 2px solid #e4e9eb;
	position: relative;
	margin-bottom: 1.3em;
	padding-bottom: 1em;
	
}

.homeContent section .homeStit:after{
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.homeContent section .homeStit:before{
	content: "";
	width: 50%;
	border-bottom: 2px solid #2c95d0;
	position: absolute;
	left: 0;
	bottom: -2px;
}

.homeContent section .homeStit h2{
	float: left;
	font-weight: bold;
}
.homeContent section .homeStit h2 img{
width: 40px;
height: 40px;
margin-right: 8px;
}

.homeContent section .homeStit h2 span{
font-size: 2.4em;
margin-right: 0.1em;
display: inline-block;
vertical-align: middle;
position: relative;
color: #2c95d0;
}


.homeContent section .homeStit p{
	float: right;
	font-size: 0.9em;
	margin-top: 3px;
}

.homeContent section.homeNews{
	padding-right: 2em;
}

.homeContent section.homeNews .homeStit:before{
	border-bottom: 2px solid #45ad39;
}
.homeContent section.homeNews .homeStit h2 span{
color: #45ad39;
}

.homeContent section.homeEvent{
	padding-left: 2em;
}
.homeContent section.homeEvent .homeStit:before{
	border-bottom: 2px solid #b765d8;
}
.homeContent section.homeEvent .homeStit h2 span{
color: #b765d8;
}

.homeContent .newsList.linkBox{
	margin-bottom: 0;
}

.homeContent .homeLink{
	margin-top: -25px;
}

.homeContent .homeLink ul{
	margin: 0 -1%;
}
.homeContent .homeLink ul:after{
	content: "";
	display: block;
	clear: both;
}
.homeContent .homeLink ul li{
	float: left;
	margin: 0 1% 10px;
	width: 23%;
	border: 1px solid #e4e9eb;
}
.homeContent .homeLink ul li img{
width: 100%;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.homeContent .homeLink ul li a:hover img{
	opacity: 0.7;
}

/* レスポンシブミディアム サイズ"md"以下
---------------------------------------------------------- */
@media screen and (max-width: 1201px) {
	/* ホーム */
	ul.mainLink li a span.font01{
		margin-top: 0.8em;
		font-size: 1.2em;
	}
}


/* レスポンシブタブレット サイズ"sm"以下
---------------------------------------------------------- */
@media screen and (max-width: 991px) {
header{
	padding: 24px 80px 24px 0;
}

nav#gNavi {
position: fixed;
right: -50%;
	width: 50%;
	overflow: auto;
text-align: right;
margin: 0;
padding: 36px 15px;
top:0;
z-index: 100;
background: rgb(246,246,246);
background: -moz-linear-gradient(-45deg,  rgb(246,246,246) 0%, rgb(246,246,246) 50%, rgb(238,238,238) 50%, rgb(238,238,238) 50%, rgb(238,238,238) 100%);
background: -webkit-linear-gradient(-45deg,  rgb(246,246,246) 0%,rgb(246,246,246) 50%,rgb(238,238,238) 50%,rgb(238,238,238) 50%,rgb(238,238,238) 100%);
background: linear-gradient(135deg,  rgb(246,246,246) 0%,rgb(246,246,246) 50%,rgb(238,238,238) 50%,rgb(238,238,238) 50%,rgb(238,238,238) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#eeeeee',GradientType=1 );
height: 100%;
transition: 0.3s;
	transition-property: right transform opacity;
	opacity: 0;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}

.opening nav#gNavi {
	right: 0;
	opacity: 1;
	transform: none;
}

nav#gNavi ul{
	width: auto;
	margin-bottom: 24px;
	display: block;
	border: 1px solid #dadfe1;
	background: rgba(255,255,255,0.9);
	font-size: 0.9em;
}
nav#gNavi ul li {
	display: block;
	width: 100%;
	
	border-top: 1px solid #dadfe1;
}
nav#gNavi ul li:first-child {
border-top: none;
}
nav#gNavi ul li a {
border: none !important;
text-align: left;
position: relative;
}
nav#gNavi ul li a:after {
	content: none;
}
nav#gNavi ul li a:before{
	content: "\f138";
	font-family: FontAwesome;
	position: absolute;
	right: 1em;
	top:50%;
	margin-top: -0.5em;
	color: #2c95d0;
}


/*SPメニューボタン*/
.menuBtn {
	position: absolute;
	font-size: 0.7em;
	padding: 1em 1.5em 1em 1.5em;
	right:  15px;
	top: 50%;
	margin-top: -16px;
	cursor: pointer;
	z-index: 1;
	color: #ffffff;
	line-height: 1.5;
	border-radius: 100px;
	font-weight: bold;
	background: rgb(63,176,224);
	background: -moz-linear-gradient(top,  rgb(63,176,224) 0%, rgb(44,139,209) 100%);
	background: -webkit-linear-gradient(top,  rgb(63,176,224) 0%,rgb(44,139,209) 100%);
	background: linear-gradient(to bottom,  rgb(63,176,224) 0%,rgb(44,139,209) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3fb0e0', endColorstr='#2c8bd1',GradientType=0 );
    box-shadow: 0 2px 2px rgba(0,0,0,0.2);
}
.menuBtn:before {
margin-right: 0.2em;
font-size: 1.4em;
line-height: 0;
position: relative;
top:0.05em;
}

.menuClose{
	position: static;
	margin-bottom: 2em;
}

#mainColumn {
    min-height: auto;
}

.postArea{
	margin-right: 0;
}
footer {
	text-align: center;
}
footer img {
display: inline-block !important;
}

footer .footerPhoto{
	width: 124px;
	margin-bottom: 10px;
}
footer .footerR{
	text-align: center;
	margin-top: 20px;
}
footer .footerR #pageTop a {
	padding: 0.7em 3em 1.2em;
}


.heading01:after {
    width: 200%;
    margin: 0 -50%;
}


/* form
---------------------------------------------------------- */
.formArea{
	width: 100%;
}



/* ホーム */
	ul.mainLink li a span.font01{
		margin-top: 0.5em;
		font-size: 1em;
	}
	.homeContent .homeLink ul li{
	margin: 0 1% 2%;
	width: 48%;
	}
	
	.homeContent .newsWrapper:before{
 content: none;
}


.homeContent section{
	padding: 32px 0;
	border-top: 1px solid #dadfe1;
	margin-top: -1px;
}

.homeContent section.homeNews{
	padding-right: 0;
}

.homeContent section.homeEvent{
	padding-left: 0;
}

.homeContent .homeLink{
	margin-top: 0;
}

.homeContent .linkBtn.visible-xs.visible-sm{
	text-align: center;
	margin-top: 1em;
}


}

/* レスポンシブスマートフォン サイズ"xs"以下
---------------------------------------------------------- */
@media screen and (max-width: 767px) {

body{
	font-size: 13px;
}

nav#gNavi {
position: fixed;
right: -100%;
	width: 100%;
}

#breadcrumb .container{
	padding: 0;
}

#mainColumn article img{
display: block;
margin: 0 auto;
}

footer .footerR #pageTop {
    display: block;
 }

footer .footerR ul{
	border: 1px solid #dadfe1;
}
footer .footerR ul li {
	display: block;
	border: none;
	border-top: 1px solid #dadfe1;
	margin: 0;
	padding: 0;
	text-align: left;
}
footer .footerR ul li:first-child {
	border-top: none;
}

footer .footerR ul li a {
	display: block;
	padding: 1.4em;
	text-decoration: none;
	position: relative;
}

footer .footerR ul li a:before{
	content: "\f138";
	font-family: FontAwesome;
	position: absolute;
	right: 1em;
	top:50%;
	margin-top: -0.5em;
	color: #2c95d0;
}

.postAreaBlog {
    padding: 16px;
}


.heading01{
	font-size: 1.6em;
	padding: 1em 0;
	margin-bottom: 1em;
	letter-spacing: 1px;
}

.postArea h2, .heading02, .postArea .heading02 {
    font-size: 1.5em;
}
.postArea h3, .heading03, .postArea .heading03 {
    font-size: 1.2em;
}

.postArea p.copy01 {
    font-size: 1.6em;
}

/* layout */
.layout11>div, .layout12>div, .layout21>div {
	width: 100% !important;
	float: none !important;
}

ul.indexNavi {
	margin: 0;	
}
ul.indexNavi li{
float: left;
width: 100%;
margin: 0 0 10px;
}

.newsList li a span {
	display: block;
}
.newsList li a span.newsDate{
	padding: 0.2em;
}
.newsList li a span.newsTitle{
	padding: 8px 0 0;
}


.sitemapList > ul ul li{
margin-left: 0;
}
.sitemapList h4+ul > li{
	display:block;
}


.reservation li{
	margin-bottom: 0;
	padding: 0;
	width: 100%;
}
.reservation li:before{
	position: absolute !important;
	margin-right: 0;
}

/* form
---------------------------------------------------------- */
.formArea table.table th,
.formArea table.table td{
display: block;
width: 100%;
border: none;
text-align: left;
}

.formArea .half{
width: 100%;
}

/* ホーム
---------------------------------------------------------- */
#topMain .carousel-indicators {
    width: 100%;
}

ul.mainLink{
	margin-top: 40px;
}
ul.mainLink li a span.font01{
	font-size: 3vw;
}

ul.mainLink li a span.jptext{
	color: #242424;
	font-size: 2.5vw;
}

ul.mainLink li.link04 .newIcon{
	height: 40%;
}

.homeImage{
display: none;
}
.homeContent section{
padding-left: 0;
padding-right: 0;

}


}




