@charset "utf-8";

/*-------------------------
汎用css
---------------------------*/
.sp {
	display: none;
}
@media screen and (max-width: 640px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	span.sp {
		display: inline;
	}
}

/* width */
.box-size {
	width: 100%;
	margin: 0 auto;
}
.box-side20 {
	padding: 0 20px;
}
.w640 {
	max-width: 640px;
}
.box-side20.w640 {
	max-width: 680px;
}
.w960 {
	max-width: 960px;
}
.box-side20.w980 {
	max-width: 1000px;
}

/* flex box */
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex a,
.flex img {
	display: block;
	width: 100%;
}
.reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.box-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.col2-1 > * {
	width: 50%;
}
.col-margin60-40 {
	margin: 0 0 -60px -60px;
}
.col-margin60-40 > * {
	padding: 0 0 60px 60px;
}
.col-margin90-50 {
	margin: 0 0 -90px -90px;
}
.col-margin90-50 > * {
	padding: 0 0 90px 90px;
}
@media screen and (max-width: 640px) {
	.col2-1 > * {
		width: 100%;
	}
	.col-margin60-40 {
		margin: 0 0 -40px -40px;
	}
	.col-margin60-40 > * {
		padding: 0 0 40px 40px;
	}
	.col-margin90-50 {
		margin: 0 0 -50px -50px;
	}
	.col-margin90-50 > * {
		padding: 0 0 50px 50px;
	}
}

/* description list */
.d-list {
	line-height: 1.5;
}
.d-list dt {
	color: #325096;
	font-weight: bold;
	padding: 0 .5em 2em 0;
	position: relative;
}
.d-list dt:after {
	content: "｜";
	position: absolute;
	top: 0;
	right: 0;
}
.d-list dd {
	padding: 0 0 2em .5em;
}
.d-term6 dt {
	width: 6em;
}
.d-term6 dd {
	width: calc(100% - 6em);
	text-align: justify;
}

/* text */
.text-c {
	text-align: center;
}
.text-l {
	text-align: justify;
}

/* image */
.img-c {
	display: block;
	width: 100%;
	margin: 0 auto;
}

/* anchor */
.anchor01 {
	display: block;
	color: #00803e;
	font-weight: bold;
	text-align: center;
}
.anchor01:hover {
	color: #3a5897;
}

/* margin */
.mt1 {
	margin-top: 1rem !important;
}
.mt2 {
	margin-top: 2rem !important;
}
.mt3 {
	margin-top: 3rem !important;
}
.mt4 {
	margin-top: 4rem !important;
}
.mt5 {
	margin-top: 5rem !important;
}

/* map */
.map {
	-webkit-transition: .5s;
	transition: .5s;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}
.map:hover {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}
.map iframe {
	display: block;
	width: 100%;
	height: 400px;
}