@charset "UTF-8";

/* ===============================================
 * CSSリセット
 * =============================================== */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/* ---------------------------
 * ピンク：#ff47e5
 * 黄色  ：#ffdd3c
 * --------------------------- */

/*==============
調整
==============*/


/* ===============================================
 * 一般・共通設定
 * =============================================== */
body {
	font-size:1.4em;
	font-family:'Noto Sans JP',"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	background:#f8f8f8;
/*	background-image:url('bg_y.png');*/
	background-attachment:fixed;
	background-size:cover;
	background-position:center;
}
@media screen and (max-width:767px) {
	body {
		background-image:url('../common/bg_img2.png');
	}
}
#contents {
	width:100%;
	margin:0 auto;
}

.navbar-brand {
	background:url("logo.png") no-repeat left center;
	background-size:contain;
	height:70px;
	width:326px;
}

/* 背景色
 * --------------------------- */
.main1{
	background:#eef9ff;
	background-color:rgba(238,249,255,0.5);
	margin:0;
	padding:2em;
/*	background-image:url('bg_y.png');*/
}
.main2{
	background:#d6fada;
	background-color:rgba(214,250,218,0.5);
	margin:0;
	padding:2em;
}
.main3{
	background:#ffeea9;
	background-color:rgba(255,238,169,0.5);
	margin:0;
	padding:2em;
}
.main4{
	margin:0;
	padding:2em;
}
@media screen and (max-width:767px) {
	.main1,.main2,.main3,.main4{
/*		padding:1em 0.25em;*/
		font-size:0.8em;
	}
}

.inner {
	position: relative;
	max-width: 1200px;
	width:100%;
	margin: 0 auto;
}
.inner_main {
	position: relative;
	max-width: 950px;
	width:100%;
	margin: 0 auto;
}
a {
	color: #043771;
}
a:hover {
	color: #144d8d;
}
h1,h2,h3,h4,h5,h6{
/*	font-family: 'M PLUS Rounded 1c';
	transform: rotate(0.03deg); */
	font-weight:700;

}
h1 {
	font-size: 28px;
}
h2 {
/*	margin-top: 50px;
	margin-bottom: 0.5em; */
	margin-bottom: 1.2em;
	font-size: 2em;
/*	color: #333;*/
	text-align: center;
	line-height: 1.0;
}
@media screen and (max-width:767px) {
	h2 {
		font-size: 2em;
	}
}
h2 span {
	position: relative;
	font-size: 0.7em;
}
h2 span:before {
	position: absolute;
	top: 50%;
	left: -1.5em;
	z-index: 1;
	content: '';
	display: block;
	width: 1em;
	margin-top: -1px;
	border-top: 1px solid #333;
}
h2 span:after {
	position: absolute;
	top: 50%;
	right: -1.5em;
	z-index: 1;
	content: '';
	display: block;
	width: 1em;
	margin-top: -1px;
	border-top: 1px solid #333;
}
h3 {
	margin-bottom: 1em;
	font-size: 1.2em;
/*	margin-bottom: 0.25em;
	font-size: 18px; */
}
@media screen and (max-width:767px) {
	h3 {
		font-size: 1.5em;
	}
}

h4 {
	margin-bottom: 0.25em;
	font-size: 1.0em;
/*
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	font-size: 16px;
	font-weight: bold; */
}
h5 {
	margin-bottom: 0.25em;
	padding-left: 25px;
	font-size: 16px;
	background: url('../images/bg_arrow_black.png') 0 50% no-repeat;
}
h6 {
	margin-bottom: 0.25em;
	padding-left: 5px;
	font-size: 16px;
	font-weight: bold;
}
p {
/*	margin:1.5em 0.5em 1em 0.5em;*/
	margin-bottom: 1em;
	font-size: 0.9em;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
em {
	font-weight: bold;
}
strong {
	font-weight: bold;
	color: #ff0000;
}
pre {
	margin:1em 0;
	padding:1em;
}

blockquote {
	margin-bottom: 1em;
	padding: 1em;
	border: 1px dotted #ddd;
	border-left: 5px solid #ddd;
	background-color:#fff;
}

ul,ol,dl {
	margin: 0 0 1em 0;
}
ul li {
	list-style: disc;
}
ol li {
	list-style: decimal;
}
li {
	margin-left: 2em;
}

dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 0.9em;
}
dt {
	width: 30%;
	margin-bottom: 0.5em;
	border-bottom: 1px dotted #ddd;
}
dd {
	width: 70%;
	margin-bottom: 0.5em;
	border-bottom: 1px dotted #ddd;
}
@media screen and (max-width: 767px) {
	dl {width: 100%;}
	dl dt dd {display:block;}
	dl dt dd {width:auto;}
}

table {
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
	border: 1px solid #ddd;
}
th {
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ddd;
	background: #f1f1f1;
}
td {
	padding: 10px;
	text-align: left;
	border: 1px solid #ddd;
}



a:hover {
	text-decoration:none;
}
/*
a:visited {
	color:#800080;
}
*/
/* ===============================================
 * 汎用クラス
 * =============================================== */
/* 中央寄せ
 * ----------------- */
.center {
	text-align: center;
	margin:auto;
}

/* 左寄せ
 * ----------------- */
.left {
	text-align: left;
	margin-right:auto;
}

/* 右寄せ
 * ----------------- */
.right {
	text-align: right;
	margin-left:auto;
}

/* テキスト小 */
.font-small {
	font-size: 14px;
}

/* 写真中央寄せ
 * ----------------- */
.imgC {
	clear:both;
	overflow:hidden;
	margin: 0 auto 50px auto;
	margin-bottom:50px;
	text-align:center;
}
.imgC img {
	margin-bottom:10px;
}

/* 写真左寄せ
 * ----------------- */
.imgL {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgL img {
	float:left;
	margin:0 10px 0 0;
}

@media screen and (max-width:767px) {
	.imgL {
		margin-bottom:20px;
	}
	.imgL img {
		float:none;
		margin:0 0 10px 0;
	}
}

/* 写真右寄せ
 * ----------------- */
.imgR {
	clear:both;
	overflow:hidden;
	margin-bottom:50px;
}
.imgR img {
	float:right;
	margin:0 0 0 10px;
}

@media screen and (max-width:767px) {
	.imgR {
		clear:both;
		overflow:hidden;
		margin-bottom:20px;
	}
	.imgR img {
		float:right;
		margin:0 0 10px 0;
	}
	#lightgallery img {
		width:49%;
	}
}
#lightgallery{
	text-align:center;

}
#lightgallery img {
	width:19%;
	margin-bottom:5px;
}

/* 写真ズーム
 * ----------------- */
.zoom {
	overflow: hidden;
}
.zoom img {
	display: block;
	-moz-transition: -moz-transform 0.8s linear;
	-webkit-transition: -webkit-transform 0.8s linear;
	-o-transition: -o-transform 0.8s linear;
	-ms-transition: -ms-transform 0.8s linear;
	transition: transform 0.8s linear;
}
.zoom img:hover {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
.zoom img {
	margin-bottom: 0;
}

/* オーバーレイ
 * ----------------- */
.overlay {
	position: relative;
}
.overlay::after{
	background: rgba(0,0,0,.5);
	content: "　";
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: all .3s ease-out;
	pointer-events: none;
}
.overlay:hover::after {
	background: rgba(0,0,0,.1);
	transition: all .3s ease-out;
}
.overlay img {
	margin-bottom: 0;
}

/* ボタン
 * ----------------- */
.btn ul {
	display:block;
}
.btn li {
        list-style:  none;      /* デフォルトのアイコンを消す */
        padding: 0 0.5em;       /* デフォルト指定上書き */
	display: inline-block;
	margin: 0.5em 0 1em 0;
}
.btn a {
	position: relative;
	padding: 8px;
	color: #000080;
	text-align: center;
	text-decoration: none;
	-webkit-transition: 0.5s;
	   -moz-transition: 0.5s;
	    -ms-transition: 0.5s;
	     -o-transition: 0.5s;
	        transition: 0.5s;
	z-index: 1;
	background: #fff;
	border:1px solid #000080;
}
.btn a:hover {
	color: #fff;
	background: #000080;
}


/* 水色の線で囲んだボタン
 * --------------------------- */
.btn_anchor{
	display:inline-block;
	padding:2px 20px;
	background:#fff;
	color:#000;
	border:3px solid #7BC2FF;
	border-radius:10px;
	font-size:0.9em;
	font-weight:bold;
	margin: 0 auto 0.5em auto;
	text-decoration: none;
}
.btn_anchor:hover{
	border:3px solid #000080;
	background:#000080;
	color:#fff;
}
@media screen and (max-width: 767px) {
	.btn_anchor{
		width: calc(100% - 50px);
	}
}

/* モノクロのボタン
 * --------------------------- */
.btn_etc{
	display:inline-block;
	padding:2px 20px;
	background:#000;
	color:#fff;
	border:1px  solid #000;
	border-radius:10px;
	font-size:0.8em;
	margin: 0 auto;
	text-decoration: none;
}
.btn_etc:hover{
	background:#eee;
	color:#000;
	font-size:0.8em;
}

/* モノクロのボタン（リンクなし）
 * --------------------------- */
.btn_etc2{
	display:inline-block;
	padding:2px 20px;
	background:#000;
	color:#fff;
	border:1px  solid #000;
	border-radius:10px;
	font-size:0.8em;
	margin: 0 auto;
	text-decoration: none;
}

/* ---------------------------
 * カラム（段数）指定
 * --------------------------- */

/* 2カラム（スマートフォンでは1カラム)
 * --------------------------- */
.twoCol {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
	overflow:hidden;
	margin-bottom:60px;
}
.twoCol .twoCol_main {
	position: relative;
	overflow:hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 48.98%;
	width: calc((480 / 980) *100%);
	height: auto;
	margin:0 0 20px 0;
}
.twoCol .twoCol_main div:nth-child(2n+1) {
	clear:both;
}
.twoCol .twoCol_main .image {
	width: 100%;
	min-height: 0%;
}
.twoCol .twoCol_main img {
	width:100%;
}

@media screen and (max-width:767px) {
	.twoCol {
		display: block;
		margin-bottom:20px;
	}
	.twoCol .twoCol_main {
		width :100%;
		margin:0 0 10px 0;
	}
}

/* 2カラム 左右不均等分け（プロフィール）
 * --------------------------- */
.twoCol2 {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
	overflow:hidden;
	width:100%;
	margin-bottom:60px;
}
.twoCol2 .twoCol_main_side {
	position: relative;
	overflow:hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 30%;
/*	width: calc((480 / 980) *100%);*/
	height: auto;
	margin:0 0 20px 0;
}
.twoCol2 .twoCol_main_main {
	position: relative;
	overflow:hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
/*	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center; */
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 65%;
/*	width: calc((480 / 980) *100%);*/
	height: auto;
	margin:0 0 20px 0;
}




/*  (トップページ・事業内容）
 * IEで見たとき、テキスト切れる現象の対策
 * --------------------------- 
.twoCol2 .showme{
	background-color:#fff;
	margin-bottom:0.2em;
	padding:0.95em;
	border:1px dotted #ddd;
	border-left:5px solid #ddd;
}

.twoCol2 .twoCol_main div:nth-child(2n+1) {
	clear:both;
}
.twoCol2 .twoCol_main .image {
	width: 100%;
	min-height: 0%;
}
.twoCol2 .twoCol_main img {
	width:100%;
}

@media screen and (max-width:767px) {
	.twoCol2 {
		display: block;
		margin-bottom:20px;
	}
	.twoCol2 .twoCol_main {
		width :100%;
		margin:0 0 10px 0;
	}
}*/

/* 3カラム（スマートフォンでは1カラム)
 * --------------------------- */
.threeCol {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	margin-bottom:60px;
}
.threeCol p{
	margin-top:0;

}

.threeCol .threeCol_main {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 32.14%;
	width: calc((315 / 958) *100%);
	margin: 0 0 20px 0;
}
.threeCol .threeCol_main:nth-child(3n+1) {
	clear:both;
}
.threeCol .threeCol_main h4 {
	width: 100%;
	margin-top: 0.5em;
	text-align: center;
}
.threeCol .threeCol_main p {
	width: 100%;
	margin-bottom: 0;
	text-align: justify;
}
.threeCol .threeCol_main > a {
	width: 100%;
	height: 100%;
}
.threeCol .threeCol_main .image {
	width: 100%;
	min-height: 0%;
}
.threeCol .threeCol_main img {
	width: 100%;
}
.threeCol .threeCol_main .btn {
	margin-top: auto;
	padding-top: 20px;
}
.threeCol .threeCol_main .text {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	pointer-events: none;
}

@media screen and (max-width:767px) {
	.threeCol {
		display: block;
		margin-bottom: 20px;
	}
	.threeCol .threeCol_main {
		width : 100%;
		margin: 0 0 10px 0;
	}
}

/* 3カラム（スマートフォンでは2カラム)
 * --------------------------- */
.threeCol_3 {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	margin-bottom:60px;
}
.threeCol_3 p{
	margin-top:0;
}
.threeCol_3 .threeCol_3_main {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	flex-direction: column;
	width: 32.14%;
/*	width: calc((315 / 980) *100%);*/
	width: calc((315 / 958) *100%);
	margin: 0 0 20px 0;
}
.threeCol_3 .threeCol_3_main:nth-child(3n+1) {
	clear:both;
}
.threeCol_3 .threeCol_main h4 {
	width: 100%;
	margin-top: 0.5em;
	text-align: left;
}
.threeCol_3 .threeCol_main p {
	width: 100%;
	margin-bottom: 0;
	text-align: justify;
}
.threeCol_3 .threeCol_main > a {
	width: 100%;
	height: 100%;
}
.threeCol_3 .threeCol_main .image {
	width: 100%;
	min-height: 0%;
}
.threeCol_3 .threeCol_main img {
	width: 100%;
}
.threeCol_3 .threeCol_main .btn {
	margin-top: auto;
	padding-top: 20px;
}
.threeCol_3 .threeCol_main .text {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	pointer-events: none;
}
.threeCol_3 p{
	margin-top:0;
	text-align:center;
}

@media screen and (max-width:767px) {
	.threeCol_3 {
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: censpace-betweenter;
		justify-content: space-between;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		position:relative;
		overflow:hidden;
		margin-bottom:60px;
	}
	.threeCol_3 .threeCol_3_main {
		position: relative;
		overflow:hidden;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-ms-flex-align: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: censpace-betweenter;
		justify-content: space-between;
		-ms-flex-direction: column-reverse;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: column-reverse;
		flex-direction: column;
		width: 48.98%;
		width: calc((480 / 980) *100%);
		height: auto;
		margin:0 0 20px 0;
	}
	.threeCol_3 .threeCol_3_main div:nth-child(2n+1) {
		clear:both;
	}
}

/* 4カラム（スマートフォンでは2カラム)
 * --------------------------- */
.fourCol {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	margin-bottom: 60px;
}
.fourCol p{
	margin-top:0;

}
.fourCol .fourCol_main {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 23.46%;
/*	width: calc((230 / 980) *100%);*/
	width: calc((230 / 930) *100%);
	margin: 0 0 20px 0;
}
.fourCol .fourCol_main .image {
	width: 100%;
	min-height: 0%;
}
.fourCol .fourCol_main img {
	width: 100%;
}

@media screen and (max-width:767px) {
	.fourCol {
		display: block;
		margin-bottom: 20px;
	}
	.fourCol .fourCol_main {
		box-sizing: border-box;
		width: 50%;
		margin: 0;
	}
	.fourCol .fourCol_main:nth-child(odd) {
		clear: both;
		float: left;
		padding: 0 5px 10px 0;
	}
	.fourCol .fourCol_main:nth-child(even) {
		float: right;
		padding: 0 0 10px 5px;
	}
}

/* 5カラム（スマートフォンでは2カラム)
 * --------------------------- */
.fiveCol {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	margin-bottom: 60px;
}
.fiveCol .fiveCol_main {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 23.46%;
	width: calc((194 / 980) *100%);
	margin: 0 0 20px 0;
}
.fiveCol .fiveCol_main .image {
	width: 100%;
	min-height: 0%;
}
.fiveCol .fiveCol_main img {
	width: 100%;
}

@media screen and (max-width:767px) {
	.fiveCol {
		display: block;
		margin-bottom: 20px;
	}
	.fiveCol .fiveCol_main {
		box-sizing: border-box;
		width: 50%;
		margin: 0;
	}
	.fiveCol .fiveCol_main:nth-child(odd) {
		clear: both;
		float: left;
		padding: 0 5px 10px 0;
	}
	.fiveCol .fiveCol_main:nth-child(even) {
		float: right;
		padding: 0 0 10px 5px;
	}
}


/* 6カラム（スマートフォンでは2カラム)
 * --------------------------- */
.sixCol {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
	margin-bottom: 60px;
}
.sixCol .sixCol_main {
	position: relative;
	overflow: hidden;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
/*	-webkit-align-items: center; 
	align-items: center;*/ 
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	-ms-flex-direction: column-reverse;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	flex-direction: column;
	width: 15%;
/*	width: 23.46%;
	width: calc((194 / 980) *100%);*/
	margin: 0 0 20px 0;
}
.sixCol .sixCol_main .image {
	width: 100%;
	min-height: 0%;
}
.sixCol .sixCol_main img {
	width: 100%;
	min-height: 0%;
}

.sixCol .sixCol_main p {
	text-align: left;
	font-size: 14px;
	flex: 1;
}

@media screen and (max-width:767px) {
	.sixCol {
		display: block;
		margin-bottom: 20px;
	}
	.sixCol .sixCol_main {
		box-sizing: border-box;
		width: 50%;
		margin: 0;
	}
	.sixCol .sixCol_main:nth-child(odd) {
		clear: both;
		float: left;
		padding: 0 5px 10px 0;
	}
	.sixCol .sixCol_main:nth-child(even) {
		float: right;
		padding: 0 0 10px 5px;
	}
}


/* お知らせ
 * --------------------------- */
.information {
	margin-top: 20px;
	margin-bottom: 80px;
	background:#fff;
}

.information dt {
	clear: both;
	float: left;
	margin: 0;
	padding: 10px;
/*	padding: 10px 0;*/
	vertical-align: top;
	border-bottom: none;
	font-weight:700;
}

.information dd {
	margin: 0;
	padding: 10px 0 10px 8em;
	vertical-align: top;
	border-bottom: 1px dotted #333;
}

@media screen and (max-width:767px) {
	.information {
		margin-bottom: 40px;
	}
	.information dt {
		float: none;
		margin: 0;
		padding: 10px 0 0 0;
		vertical-align: top;
		border-bottom: none;
	}
	.information dd {
		margin: 0;
		padding: 0 0 10px 0;
		vertical-align: top;
		border-bottom: 1px dotted #333;
	}
}

/* ===============================================
 * ヘッダー
 * =============================================== */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height:110px;
	background: #fff;
	z-index: 100;
}
header:after {
	content: ""; 
	display: block;
	clear: both;
}
header h1 {
	float: left;
	height: 110px;
	font-size: 16px;
	line-height: 110px;
	color: #fff;
}

header h1 img {
	vertical-align: middle;
}

@media screen and (max-width:768px) {
	header h1 {
		padding: 0 0 0 10px;
	}
}
@media screen and (max-width:480px) {
	header h1 img{
		width: calc( 100% - 60px );
	}
}
/* ===============================================
 * グローバルナビゲーション
 * =============================================== */
/* PC用
 * --------------------------- */
@media print, screen and (min-width:769px) {
	nav.gnav:after {
		content: '';
		display: block;
		clear: both;
	}
	nav.gnav {
		float: right;
		width: calc( 100% - 326px );
	}

	/* 共通 */
	nav.gnav ul {
		margin: 0;
		padding: 0;
	}
	nav.gnav ul li {
		position:  relative;
		line-height: 110px;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	nav.gnav ul li a {
		display: block;
/*		background: #fff;
		font-family: 'M PLUS Rounded 1c'; */
		font-weight:700;
		transform: rotate(0.03deg);
		color:#000;
		font-size: 0.9em;
/*		color:#000080;
		font-size: 18px;*/
		font-weight: bold;
		text-decoration: none;
		height:110px;
		transition: .5s;
		overflow: hidden;
	}
	nav.gnav ul li:hover > a {
		color: #fff;
		background: #ff47e5;
	}

	/* 1段目 */
	nav.gnav > ul > li {
		position: relative;
		width: 16%;
/*		width: 25%; 4つ */
		float: left;
		margin: 0;
		padding: 0;
		text-align: center;
		list-style: none;
		line-height: 110px;
	}
	nav.gnav > ul > li.subnav a {
		padding-right: 20px;
	}
	nav.gnav > ul > li.subnav > a:after {
		position: absolute;
		content: "";
		top: 50%;
		width: 0;
		height: 0;
		margin-top:  -2.5px;
		margin-left: 10px;
		border: 5px solid transparent;
		/*border-top-color: #000080; 2段目へプルダウン ▽*/
		border-top-color: #fff;
	}

	/* 2段目 */
	nav.gnav ul li ul {
		position: absolute;
		z-index: 3;
		top: 100%;
		left: 0;
		width: 260px;
		margin: 0;
		padding: 0;
	}
	nav.gnav ul li ul li {
		overflow: hidden;
		height: 0;
		color: #000;
		transition: .2s;
	}
	nav.gnav ul li ul li a {
		padding: 0 15px;
		text-align: left;
		color:#000080;
		background: #eee;
		font-weight: weight;
	}
	nav.gnav ul li ul li a:hover {
		color: #fff;
		background: #000080;
	}
	nav.gnav ul li:hover > ul > li {
		overflow: visible;
		height: 40px;
		line-height:  40px;
		border-bottom: 1px solid #000080;
	}
	nav.gnav ul li:hover ul li:last-child {
		border-bottom: none;
	}
	nav.gnav > ul > li:last-child > ul {
		left: -60px;
	}
	nav.gnav ul li ul li ul:before {
		position: absolute;
		content: "";
		top: 17.5px;
		left: -20px;
		width: 0;
		height: 0;
		border: 5px solid transparent;
		border-left-color: #fff;
	}
	nav.gnav > ul > li:last-child ul li ul:before {
		position: absolute;
		content: "";
		top: 17.5px;
		left: 200%;
		margin-left: -20px;
		border: 5px solid transparent;
		border-right-color: #000080;
	}
	/* 3段目 */
	nav.gnav ul li ul li ul {
		top: 0;
		left: 100%;
	}
	nav.gnav ul li ul li ul li {
		width: 100%;
	}
	nav.gnav ul li ul li:hover > ul > li {
		border-bottom: 1px solid #000080;
	}
	nav.gnav > ul > li:last-child > ul li ul {
		left: -100%;
	}
	nav.gnav ul li ul li ul li a {
		background: #eee;
	}
	nav.gnav ul li ul li ul li a:hover {
		background: #000080;
		color:#fff;
	}

	/* 3段目 */
	nav.gnav > ul {
		display: block !important;
	}
	#spMenu {
		display: none;
	}
}

/* タブレット・スマートフォン用
 * --------------------------- */
@media screen and (max-width:768px) {
	nav.gnav {
		display:  none;
	}
	nav.gnav ul {
		margin: 0;
		padding: 0;
	}
	nav.gnav > ul {
		z-index: 2;
		overflow: auto;
		position: fixed;
		top: 110px;
		right: 0;
		width: 100%;
		height: 88%;
		height: -webkit-calc(100% - 50px);
		height: calc(100% - 50px);
	}
	nav.gnav li {
		position: relative;
		width: 100%;
		float: none;
		margin: 0;
		text-align: left;
		list-style: none;
		border-bottom: 1px solid #515151;
		background: #000;
	}
	nav.gnav li:first-child {
		border-top: 1px solid #515151;
	}
	nav.gnav li:last-child {
	}
	nav.gnav li a {
		display: block;
		padding: 10px 20px;
		color: #515151;
		text-decoration: none;
		background: #fff;
		height:60px;
		line-height:60px;
		text-align:center;
		transition: .5s;
	}
	nav.gnav li a:hover {
		color: #fff;
		background: #ff47e5;
	}
	nav.gnav ul ul {
		display: none;
		position: relative;
	}
	nav.gnav li li a {
		box-sizing: border-box;
		width: 100%;
		padding: 10px 30px 10px 34px;
		text-align: left;
	}
	nav.gnav li li li a {
		padding: 10px 20px 10px 48px;
	}

	nav.gnav .subnav > a:before {
		display: block;
		content: "";
		position: absolute;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 20px;
		right: 20px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		background: #000;
	}
	nav.gnav .subnav > a:after {
		display: block;
		content: "";
		position: absolute;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 20px;
		right: 20px;
		width: 10px;
		height: 10px;
		margin-top: -10px;
		background: #eee;
	}
	nav.gnav .subnav a:hover:after {
		background: #eee;
	}
	nav.gnav .subnav.active > a:before {
		margin-top: 0;
	}
	nav.gnav .subnav.active > a:after {
		margin-top: 5px;
	}

	.spMenuWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		-webkit-transition:all 1s;
		   -moz-transition:all 1s;
		    -ms-transition:all 1s;
		     -o-transition:all 1s;
		        transition:all 1s;
		background:transparent;
	}

	#spMenu {
		position: absolute;
		top: 20px;
		right: 10px;
	}

	#spMenu:hover {
		cursor: pointer;
	}

	#navBtn {
		display: inline-block;
		position: relative;
		width:  50px;
		height: 50px;
		border-radius: 5%;
		background: #ff47e5;
	}
	#navBtnIcon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 40px;
		height: 5px;
		margin: -3px 0 0 -20px;
		background: #f1f1f1;
		transition: .2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display: block;
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 40px;
		height: 5px;
		background: #f1f1f1;
		transition: 0.3s;
	}
	#navBtnIcon:before {
		margin-top: -17px;
	}
	#navBtnIcon:after {
		margin-top: 12px;
	}
	#navBtn .close {
		background: transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top: 0;
	}
	#navBtn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	#navBtn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}
}

/* ===============================================
 * フッター
 * =============================================== */
footer {
	clear: both;
	background: #ddd;
}
.fnav {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: censpace-betweenter;
	justify-content: space-between;
	margin: 0 50px;
	padding: 20px 0;
}
.fnav > ul {
	width: 33%;
	margin-bottom: 0;
	font-size: 12px;
}
.fnav > ul li {
	text-align: left;
}
.copyright {
	padding: 20px 0;
	font-size: 0.8em;
	text-align: center;
}
.footer_ttl{
	padding-top:20px;
	font-size:1.2em;
	text-align:center;
}
@media screen and (max-width:767px) {
	footer {
		margin-top: 40px;
	}
	footer p{
		font-size:0.8em;
		margin-top:0;
	}
	.copyright {
		font-size: 0.7em;
	}
	.fnav {
		display: block;
		margin: 0;
	}
	.fnav > ul {
		width: 100%;
	}
}

/* ===============================================
 * ページトップへの戻り
 * =============================================== */
.totop {
	position:fixed;
	bottom:15px;
	right:15px;
	z-index:1;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	background:#ff47e5;
}
.totop img:hover {
	background:#ffdd3c;
}

/* ===============================================
 * スライドショー
 * =============================================== */
.slide, .slide2 {
	padding-top: 115px;
	overflow: hidden;
	position: relative;
}
.slideInner {
	list-style: none;
	margin: 0;
	padding: 0;
}
.slideInner li {
	position: absolute;
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	background-position: 50% 0;
	background-repeat: no-repeat;
}

/* ===============================================
 * タブレット・スマートフォン向けデザイン
 * =============================================== */
/* テンプレートより小さくなった場合に適用
 * --------------------------- */
@media screen and (max-width:979px) {
	.inner {
		width: 100%;
	}
	#contents {
/*		box-sizing: border-box;*/
		width: 100%;
	}
	footer {
		width: 100%;
	}
	.lock {
		overflow: hidden;
	}
}
.haikei {
	clear: both;
	margin: 30px 0 40px 0;
	padding: 10px;
	background: #2e4da8;
}
.goaisatsu{
	background-image:url("bk_goaisatsu.jpg")
}
.lightgallery{
	text-align:center;
}
.lightgallery img{
	width:32%;
	margin-bottom:10px;
	margin-left:3px;
	border: 1px solid #ddd;
}
.item{
	display: inline-block;
	text-align:center;
	margin:15px 0;
}
.item img{
	padding:5px;
	background:#eee;
	width:385px;
}
#selector2{
	text-align:center;
}
/* マイマップ（Googlemap）をレスポンシブに
 * --------------------------- */
.mymap iframe {
	width: 100%;
	aspect-ratio: 16/9; /*アスペクト比（縦横比）を指定*/
}

.img_ttl{
	margin-top:0.5em;
	margin-bottom:0.5em;
}

/* ---------------------------
 * PCとスマホでの表示・非表示
 * --------------------------- */

.pc{
	display:block;
}
.sp{
	display:none;
}

@media screen and (max-width:768px) {
.pc{
	display:none;
}
.sp{
	display:block;
}
}


/* ---------------------------
 * タイムライン 
 * --------------------------- */

.timeline-box {
	margin-bottom: 20px;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 16px 5px;
	box-sizing: border-box;
	border-radius: 30px;
	background: #fff;
}

.timeline-box * {
	box-sizing: border-box;
}

.timeline-box .timeline {
	list-style: none;
	padding: 0;
	margin: 0;
}

.timeline-title {
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
}

.timeline>li {
  margin-bottom: 60px;
  	list-style: none;

}

.timeline>li.timeline-item {
  overflow: hidden;
  margin: 0;
  position: relative;
}

.timeline-item-label {
  width: 140px;
  width: 140px;
  float: left;
  padding-top: 18px;
  text-align: right;
  padding-right: 1em;
  font-size: 0.9em;
/*  font-size: 14px;*/
}

.timeline-item-title {
  font-weight: bold;
}

.timeline-item-content {
  width: calc(100% - 140px);
  float: left;
  padding: .8em 1.4em;
  border-left: 3px #e5e5d1 solid;
}

.timeline-item:before {
  content: '';
  width: 12px;
  height: 12px;
  background: #6fc173;
  position: absolute;
  left: 135px;
  top: 24px;
  border-radius: 100%;
}
