@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;
}
.w680 {
	max-width: 680px;
}
.box-side20.w680 {
	max-width: 720px;
}
.w960 {
	max-width: 960px;
}
.box-side20.w960 {
	max-width: 1000px;
}

/* box-color */
.box-color-gray {
	background-color: #f5f5f5;
}

/* box-back */
.box-back {
	background-repeat: no-repeat;
	padding: 130px 0;
}
.box-back-bottom {
	background-repeat: no-repeat;
	padding: 60px 0 130px;
	margin-bottom: -1px;
}
.gray-bottom {
	background-image: url("../img/bg_gray.svg");
	background-position: left bottom;
	background-size: 100% 7vw;
}
.green-top-bottom {
	background-image: url("../img/bg_green_top.svg"), url("../img/bg_green_bottom.svg");
	background-position: left -2.5px top, right bottom;
	background-size: 400px 37.42px, 640px 59.88px;
}
.bg-white{
	background-color: #fff;
}
.green-bottom {
	background-image: url("../img/bg_green_bottom.svg");
	background-position: right bottom;
	background-size: 640px 59.88px;
}
.footer-top-bottom {
	background-image: url("../img/bg_green_top.svg"), url("../img/bg_green.svg");
	background-position: left -2.5px top, left bottom;
	background-size: 400px 37.42px, 100% 7vw;
}
.footer-bottom {
	background-image: url("../img/bg_green.svg");
	background-position: left bottom;
	background-size: 100% 7vw;
}

/* 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-2-1 > * {
	width: 50%;
}
.col-3 > *,
.col3-3-2 > * {
	width: calc(100% / 3);
}
.col4-2-1 > *,
.col4-3-2 > * {
	width: 25%;
}
.col5-3-2 > * {
	width: calc(100%/4);
}
.col-margin20 {
	margin: 0 0 -20px -20px;
}
.col-margin20 > * {
	padding: 0 0 20px 20px;
}
.col-margin40 {
	margin: 0 0 -40px -40px;
}
.col-margin40 > * {
	padding: 0 0 40px 40px;
}
.col-margin60-20-20 {
	margin: 0 0 -60px -60px;
}
.col-margin60-20-20 > * {
	padding: 0 0 60px 60px;
}
.col-margin80-40-30 {
	margin: 0 0 -80px -80px;
}
.col-margin80-40-30 > * {
	padding: 0 0 80px 80px;
}
@media screen and (max-width: 960px) {
	.col4-2-1 > * {
		width: 50%;
	}
	.col4-3-2 > *,
	.col5-3-2 > * {
		width: calc(100% / 3);
	}
	.col-margin60-20-20 {
		margin: 0 0 -20px -20px;
	}
	.col-margin60-20-20 > * {
		padding: 0 0 20px 20px;
	}
	.col-margin80-40-30 {
		margin: 0 0 -40px -40px;
	}
	.col-margin80-40-30 > * {
		padding: 0 0 40px 40px;
	}
}
@media screen and (max-width: 640px) {
	.col2-2-1 > *,
	.col4-2-1 > * {
		width: 100%;
	}
	.col3-3-2 > *,
	.col4-3-2 > *,
	.col5-3-2 > * {
		width: 50%;
	}
	.col-margin80-40-30 {
		margin: 0 0 -30px -30px;
	}
	.col-margin80-40-30 > * {
		padding: 0 0 30px 30px;
	}
}

/* d-list */
.d-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.d-list dt,
.d-list dd {
	width: 100%;
	max-width: 480px;
}
.d-list dt {
	color: #00993e;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
}
.d-list dd {
	margin-top: 1em;
	text-align: justify;
}
.d-list-L {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.d-list-R {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

/* text */
.text-c {
	text-align: center;
}
.text-l {
	text-align: justify;
}
.text-r {
	text-align: right;
}
.text-indent {
	text-indent: 1em;
}

/* font */
.font-bold {
	font-weight: bold;
}

/* list */
.lists li {
	padding-left: 1em;
	position: relative;
}
.list-decimal li {
	padding-left: 2.5em;
}
.lists li:before {
	color: #00993e;
	position: absolute;
	top: 0;
	left: 0;
}
.list-decimal li:nth-child(1):before {
	content: "一."
}
.list-decimal li:nth-child(2):before {
	content: "二."
}
.list-decimal li:nth-child(3):before {
	content: "三."
}
.list-decimal li:nth-child(4):before {
	content: "四."
}
.list-decimal li:nth-child(5):before {
	content: "五."
}
.list-decimal li:nth-child(6):before {
	content: "六."
}
.list-decimal li:nth-child(7):before {
	content: "七."
}
.list-decimal li:nth-child(8):before {
	content: "八."
}
.list-decimal li:nth-child(9):before {
	content: "九."
}
.list-decimal li:nth-child(10):before {
	content: "十."
}
.list-decimal li:nth-child(11):before {
	content: "十一."
}
.list-disk li:before {
	content: "\25CF";
}

/* 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;
}
.mt8 {
	margin-top: 8rem !important;
}

/* map */
.map iframe {
	display: block;
	width: 100%;
	height: 400px;
}

/* animation */
.setAnime {
	-webkit-transition-duration: .5s;
	transition-duration: .5s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
}
.setAnime.delay200 {
	-webkit-transition-delay: 200ms;
	transition-delay: 200ms;
}
.setAnime.delay400 {
	-webkit-transition-delay: 400ms;
	transition-delay: 400ms;
}
.inView {
	opacity: 0;
	-webkit-transform: translateY(calc(100vh / 10));
	transform: translateY(calc(100vh / 10));
}
.inView.animated {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
@media screen and (max-width: 640px) {
	.inView {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}