@charset "utf-8";

#wrap {
	width: 100%;
	height: 100%;
	overflow-x: hidden;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

/* コンテンツ */
.contents {
	max-width: 1020px;
	width: 100%;
	margin: 0 auto;
}

.next_contents {
	max-width: 1020px;
	width: 100%;
	margin: 0 auto;
}

.bg_green {
	width: 100%;
	background-color: #f5fceb;
	padding: 30px 0;
}

.white_contents {
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #FFFFFF;
	padding: 30px;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/********************************
						ヘッダー
********************************/
header {
	display: block;
	padding: 10px 0 0;
	line-height: 1;
	position: relative;
	position: fixed;
	width: 100%;
	z-index: 100;
	background-color: #FFFFFF;
}

#header_container {
	display: flex;
	justify-content: space-between;
	width: 1020px;
	margin: 0 auto;
	flex-wrap: wrap;
}

#headermenu {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 5px;
	padding: 0;
}

#headermenu li {
	margin-right: 10px;
}

#headermenu li a {
	text-decoration: none;
	display: block;
	padding: 10px;
	color: #FFFFFF;
	vertical-align: middle;
	display: inline-block;
	box-sizing: border-box;
	border-radius: 5px;
}

#headermenu li.ic_access a {
	background-color: #6BB72D;
}

#headermenu li.ic_mail a {
	background-color: #6BB72D;
}

#headermenu li.ic_remote a {
	background-color: #2279BA;
}

#headermenu li.ic_access a:before {
	content: url('../images/common/ic_access.svg');
	padding-right: 10px;
	vertical-align: middle;
}

#headermenu li.ic_mail a:before {
	content: url('../images/common/ic_mail.svg');
	padding-right: 10px;
	vertical-align: middle;
}

#headermenu li.ic_remote a:before {
	content: url('../images/common/ic_remote.svg');
	padding-right: 10px;
	vertical-align: middle;
}

#rightheader .info {
	display: flex;
}

#rightheader .info .tel {
	font-size: 22px;
	color: #1D41A3;
	padding: 0;
	margin: 5px 20px 5px 0;
}

#rightheader .info .fax {
	font-size: 22px;
	color: #407210;
	padding: 0;
	margin: 5px 0;
}

#rightheader .info .tel span,
#rightheader .info .fax span {
	font-size: 16px;
}

#global-nav .menu_contents {
	display: none;
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 999;
	background: #DCF2CA;
}
#global-nav .megamenu_ct {
	display: flex;
	padding: 20px;
	width: 1100px;
	margin: 0 auto;
}
#global-nav > ul li .page_list{
	width: 100%;
}
#global-nav > ul li .page_list ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#global-nav > ul li .page_list ul li:before,
#global-nav > ul li .page_list ul li:after{
	content:'';
}

#global-nav > ul li .page_list ul li {
	width: 32%;
	margin-right: 1%;
	margin-bottom: 10px;
}
#global-nav > ul li .page_list ul li a {
	position: relative;
	display: block;
	padding: 15px;
	font-size: 16px;
	text-align: left;
	color: #000;
	border-radius: 8px;
	background: #fff !important;
	-webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .24), 0 1px 4px 0 rgba(0, 0, 0, .15);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .24), 0 1px 4px 0 rgba(0, 0, 0, .15);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	transition: all .3s ease;
	border: 2px solid transparent;
	text-decoration: none;
}


/********************************
						グローバルメニュー
********************************/
#global-nav {
	background-color: #f2f2f2;
}

#global-nav > ul {
	display: flex;
	flex-wrap: wrap;
	width: 1020px;
	margin: 10px auto 0;
	list-style: none;
	padding: 0;
}

#global-nav > ul li {
	width: calc(100% / 6);
	position: relative
}

#global-nav > ul li a {
	display: block;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	padding: 20px 0;
	color: #045689;
}

#global-nav > ul li.active a,
#global-nav > ul li a:hover {
	color: #FFFFFF;
	background-color: #045689;
}

#global-nav > ul li:after {
	content: '|';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
}

#global-nav > ul li:first-child:before {
	content: '|';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
}

/********************************
						トップページ
********************************/
/* スライダー */
#main {
	background-color: #cccccc;
	margin-top: 152px;
}

#main #main_in {
	width: 1500px;
	margin: 0 auto;
}

#main #main_in p {
	padding: 0;
	margin: 0;
}

.heading {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 10px 0;
	color: #333333;
}

.officelist {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 20px 0;
	padding: 0;
	justify-content: space-evenly;
}

.officelist li {
	width: 30%;
	margin-bottom: 20px;
	text-align: center;
}

.linkbtn a {
	display: block;
	padding: 30px 50px;
	border-radius: 40px;
	background-color: #2279BA;
	text-align: center;
	width: 400px;
	color: #FFFFFF;
	text-decoration: none;
	margin: 0 auto;
}

.linkbtn a {
	background-image: url('../images/ic_link.svg');
	background-position: right 10px center;
	background-repeat: no-repeat;
}

.linkbtn a:hover {
	background-color: #045689;
}

/* ポリシー */
.policy {
	background-image: url('../images/common/bk_grass.png');
	background-position: left bottom;
	background-repeat: repeat-x;
}

.policy .contents {
	min-height: 640px;
	padding-top: 50px;
	margin: 0 auto;
	background-image: url('../images/bk_policy.jpg');
	background-position: left top;
	background-repeat: no-repeat;
}

.policy .contents ul {
	list-style: none;
}

.policy .contents ul li:before {
	content: '●';
}

.policy .contents ul {
	list-style: none;
	padding: 40px 100px 0;
	font-size: 20px;
}

.policy .contents ul li {
	margin-bottom: 10px;
}

.center {
	text-align: center;
}

/* 新着情報 */
#news {
	padding: 50px 0;
	background-color: #f7fbec;
}
.news{
	margin:20px 0;
}
.news dl {
	padding: 3px 0;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #669900;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.news dd {
	font-size: 1.1em;
	margin: 0.6em 0 0.3em 0;
}
.news dt {
	font-size: 1.1em;
	line-height: 1.5;
	margin: 0.6em 2em 0.3em 0;
	background-image: url(../images/common/icon_arrow01.png);
	background-position: left center;
	padding: 0 0 0 1.3em;
	background-repeat: no-repeat;
	color: #000066;
}

#news .contents {
	background-color: #FFFFFF;
	border-radius: 10px;
	padding: 20px;
}

#news .heading {
	margin: 0 0 10px;
	padding: 0;
}

.newslist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0;
}

.newslist dl {
	width: 30%;
	margin-bottom: 20px;
	border-bottom: solid 1px #333333;
}

.newslist dl dt {
	color: #15597A;
	font-weight: bold;
}

.newslist dl dd {
	margin: 0 0 20px;
	padding: 0;
}

#newstitle {
	display: block;
	width: 100%;
	padding: 20px;
	background-color: #37a0da;
	font-size: 20px;
	color: #fff;
	line-height: 1;
	text-align: left;
}

.linkfilebox{
	margin-top:2em;
	background-color:#E8FFFF;
	border-radius:20px;
	padding:20px;
}


/* インスタグラム */

#instagram_title {
	margin-top: 150px;
}

#instagram {
	background-color: #379ed9;
	position: relative;
	margin-top: 20px;
	/* min-height: 200px; */
	height: auto;
	padding: 20px 0;
}

.instagramlist {
	/* position: absolute;
	top: -100px; */
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.instagramlist p {
	width: 22%;
}

/* 採用情報 */
#recruit {
	margin: 50px 0;
}

#instagram ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

#instagram ul li {
	width: 25%;
	margin-right: 20px;
}

#instagram ul li:last-child {
	margin-right: 0;
}

#instagram ul li img {
	width: 100%;
	object-fit: cover;
	height: 280px;
}


/********************************
						次ページ
********************************/
#nexttitle {
	background-color: #8db6f6;
	margin-top: 152px;
}

.titlecontents {
	background-image: url('../images/common/bk_title.jpg');
	background-position: left top;
	background-repeat: no-repeat;
	width: 1500px;
	text-align: center;
	margin: 0 auto;
}

.titlecontents p {
	width: 1020px;
	text-align: center;
	margin: 0 auto;
	min-height: 150px;
	line-height: 150px;
	vertical-align: middle;
	color: #FFFFFF;
	font-size: 26px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.pannavi {
	background-color: #f5fcec;
	padding: 10px 0;
	box-sizing: border-box;
	width: 100%;
}

.pannavi p {
	width: 1020px;
	margin: 0 auto;
}

/********************************
						法人概要
********************************/
.president_contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
}

.president_photo {
	width: 25%;
}

.president_msg {
	width: 73%;
}

.president_msg p {
	text-indent: 1em;
	margin-bottom: 10px;
}

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

.outline_contents {
	width: 47%;
}

.outline_contents ul li {
	border-bottom: solid 1px #cccccc;
}

.outline_contents ul li a {
	border-bottom: solid 1px #cccccc;
	padding: 15px 50px 15px 10px;
	display: block;
	background-image: url('../images/common/ic_link2.svg');
	background-position: right 10px center;
	background-repeat: no-repeat;
}

.outline_contents ul li a:hover {
	color: #FFFFFF;
	background-color: #045689;
	background-image: url('../images/ic_link.svg');
	background-position: right 10px center;
	background-repeat: no-repeat;
}

.tbl_history {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0 50px;
}

.tbl_history th,
.tbl_history td {
	padding: 10px;
	border-bottom: solid 1px #cccccc;
	border-top: solid 1px #cccccc;
}

.tbl_history th.years {
	color: #c3c3c3;
	font-size: 40px;
	width: auto;
}

.tbl_history th {
	width: 130px;
}

.lbl_philosophy{
	font-size:200%;
}
.philosophy{
	text-align:center;
	margin-top:0.5em;
	font-size:200%;
}

/********************************
						アクセスマップ
********************************/
.accessmap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.accessmap .map {
	width: 47%;
}

.accessmap .photo {
	width: 47%;
}

.access_info {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}




/********************************
						フッター
********************************/
/* バナー */
#banner {
	background-color: #D6D6D6;
	margin: 20px 0;
}

#banner .contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 30px 0;
}

#banner .contents p {
	width: 22%;
}

/* フッター */
footer {
	background-image: url('../images/common/bk_grass.png');
	background-position: left top;
	background-repeat: repeat-x;
	padding-top: 55px;
}

#footer {
	padding: 50px 0 0;
	background-color: #cbe9a9;
}

.footer_contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 16px;
	color: #407210;
}

.footer_office .officelbl {
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 10px;
}

.footer_office ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer_address {
	margin-top: 40px;
}

.footer_address p {
	padding: 0;
	margin: 0;
}

.footer_menu ul {
	list-style: none;
	text-align: center;
}

.footer_menu ul li {
	display: inline-block;
	position: relative;
}

.footer_menu ul li a {
	color: #407210;
	text-decoration: none;
	display: block;
	padding: 5px 20px;
}

.footer_menu ul li:after {
	content: '|';
	position: absolute;
	top: 50%;
	right: -5px;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	color: #407210;
}

.footer_menu ul li:first-child:before {
	content: '|';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	color: #407210;
}

.copyright {
	border-top: solid 1px #90BA7D;
}

.copyright p {
	width: 1020px;
	margin: 0 auto;
	text-align: center;
	padding: 20px 0;
	color: #666666;
}


/********************************
						次階層
********************************/

/********************************
						施設紹介
********************************/
.institution_box {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.institution_col {
	width: 48%;
	margin-right: 3%;
	margin-bottom: 40px;
}

.institution_col:nth-child(even) {
	margin-right: 0;
}

.institution_col .description {
	display: block;
	padding: 7px;
	font-size: 15px;
	line-height: 1.6;
}


.enquete{
	display: flex;
	flex-wrap: nowrap;

}

ul.link {
	list-style-type: none;
	width: 49%;
	margin: 0 1%;
	z-index:1;
}

ul.link li {
	list-style-type: none;
}

ul.link li a {
	display: block;
	padding: 3px 0;
	font-size: 14px;
	color: #0d3a6b;
	line-height: 1;
	text-decoration: none;
}

ul.link li a:hover {
	text-decoration: underline;
}

ul.link li a:before {
	content: url("/images/common/arw_right2.svg");
	display: inline-block;
	padding-right: 3px;
	vertical-align: baseline;
	line-height: 1;
}

.pdfbox{
	margin:1em;
}

.riskbok{
	margin:1em 0;
	padding:1em;
	background-color:#FFFFCC;
}

.riskbok li a:before {
	content: url(/images/common/arw_right2.svg);
	display: inline-block;
	padding-right: 3px;
	vertical-align: baseline;
	line-height: 1;
}

.qabox{
	border-bottom:dashed 1px #669900;
	margin-bottom:20px;
	padding-bottom:20px;
}
.question{
	color:#f47b1a;
	padding-left:60px;
	background-image:url("../institution/images/question.png");
	background-repeat:no-repeat;
	background-position:left top;
	background-position: left center;
	min-height: 49px;
}
.answer{
	color:#0066cc;
	padding-left:60px;
	background-image:url("../institution/images/answer.png");
	background-repeat:no-repeat;
	background-position:left top;
	background-position: left center;
	min-height: 49px;
}
.answer span{
	color:#FF0000;
}

/********************************
						採用情報
********************************/
p.table_title {
	display: block;
	width: 100%;
	padding: 20px;
	background-color: #37a0da;
	font-size: 20px;
	color: #fff;
	line-height: 1;
	text-align: center;
}

table.recruit_table {
	border-collapse: collapse;
	width: 100%;
}

table.recruit_table th {
	width: 25%;
	padding: 15px 30px;
	border-right: 2px dotted #999999;
	border-bottom: 1px solid #999999;
	font-size: 18px;
	font-weight: normal;
	text-align: left;
	line-height: 1.6;
}

table.recruit_table td {
	width: 75%;
	padding: 15px 90px;
	border-bottom: 1px solid #999999;
	font-size: 18px;
	font-weight: normal;
	text-align: left;
	line-height: 1.6;
}

table.recruit_table td span {
	display: inline-block;
	margin-left: 5px;
	vertical-align: middle;
	line-height: 1;
}

table.recruit_table td a {
	color: #1d41a3;
	text-decoration: none;
}

table.recruit_table td a:hover {
	text-decoration: underline;
}

/********************************
						入札情報
********************************/
table.bid_table,
table.bid_detailtable {
	border-collapse: collapse;
	width: 100%;
	margin-top: 15px;
}

table.bid_table th,
table.bid_detailtable th {
	padding: 15px 20px;
	font-size: 16px;
	font-weight: normal;
	color: #333333;
	background-color: #caeaa7;
	line-height: 1;
	border-bottom: 1px solid #999999;
	border-right: 2px dotted #999999;
	text-align: left;
}
table.bid_table th {
	width: 60%;
}
table.bid_table th:last-child {
	width: 40%;
}

table.bid_table td,
table.bid_detailtable td {
	padding: 15px 20px;
	font-size: 14px;
	font-weight: normal;
	color: #1d41a3;
	line-height: 1;
	border-bottom: 1px solid #999999;
	border-right: 2px dotted #999999;
	text-align: left;
}
table.bid_table td {
	width: 60%;
}

table.bid_table td:last-child {
	width: 40%;
}

table.bid_table td a {
	color: #1d41a3;
	text-decoration: none;
}

table.bid_table td a:hover {
	text-decoration: underline;
}

table.bid_detailtable td a:after {
	content: url("/bid/images/outlink.svg");
	display: inline-block;
	padding-left: 5px;
	vertical-align: middle;
	line-height: 1;
}

.contact_box {
	display: block;
	width: 100%;
	padding: 30px;
	border-radius: 5px;
	border: 1px solid #d6d6d6;
	margin-top:50px;
}

.contact_box p {
	font-size: 16px;
}

p.contact_title {
	display: block;
	margin-bottom: 15px;
	font-size: 23px;
	line-height: 1;
}

p.contact_title span {
	color: #37a0da;
}

p.tel {
	font-size: 16px;
	color: #2279ba;
}

p.tel a {
	font-size: 26px;
	color: #2279ba;
}

.pagelink{
	margin-top:-150px;
	padding-top:150px;
}


/* ページナビゲーション
----------------------------------------*/

.pagenavi{
	text-align: right;
	padding: 8px;
	font-size: 100%;
	margin:10px 0;
}

.pagenavi ul{
	list-style:none;
	margin:0;
	padding:0;
}

.pagenavi ul li{
	display:inline;
	line-height:1em;
	margin:0 5px 0 0;
	padding:0;
}

.pagenavi ul li.cur,
.pagenavi ul li a{
	padding: 6px 7px;
}

.pagenavi ul li a{
	background:#669900;
	color:#fff;
	text-decoration:none;
	border: 1px solid #669900;
}

.pagenavi ul li a:hover,
.pagenavi ul li.cur{
	background: #fff;
	color: #669900;
	border: 1px solid #669900;
}


.newicon{
	font-size:70%;
	background-color:#FF0000;
	border-radius: 5px;
	color:#FFFFFF;
	text-align:center;
	padding:2px;
	vertical-align:middle;
	margin:0.5em;
}
