@charset "UTF-8";
/*----------------------------------------

	- mv
	- content
	- info
	- more

-----------------------------------------*/

/*----------------------------------------
	mv
-----------------------------------------*/
#mv {
	background: #62b1d9 url("../img/c_mv_bg01.jpg") no-repeat right top;
	background-size: 1320px auto;
}
#mv > div > h1 > span:first-child::before {
	display: none;
}
@media screen and (max-width: 767px) {
	#mv {
		background-size: auto 100%;
	}
}

/*----------------------------------------
	content
-----------------------------------------*/
#content {
	padding: 55px 0 96px;
}
@media screen and (max-width: 767px) {
	#content {
		padding: 35px 0 66px;
	}
}

/*----------------------------------------
	info
-----------------------------------------*/
#info > h2 {
	margin-bottom: 55px;
}
#info > ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#info > ul > li {
	/* formula calc((100% / 3) - (80px / 3)) */
	width: calc(33.33% - 26.66px);
	background: #eee;
}
#info > ul > li:nth-child(3n+2),
#info > ul > li:nth-child(3n+3) {
	margin-left: 40px;
}
#info > ul > li:nth-child(n+4) {
	margin-top: 40px;
}
#info > ul > li > a {
	display: block;
	height: 100%;
}
#info > ul > li > a > dl > dt {
	position: relative;
}
#info > ul > li > a > dl > dt > span {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 65px);
	padding: 15px 45px 15px 20px;
	background: rgba(51, 51, 51, 0.85);
	text-align: right;
}
#info > ul > li > a > dl > dt > span::after {
	content: "";
	position: absolute;
	top: calc(50% - 16px);
	right: 15px;
	width: 13px;
	height: 13px;
	border-right: 3px solid #00a0e9;
	border-bottom: 3px solid #00a0e9;
	transform: rotate(-45deg);
	transform-origin: right bottom;
}
#info > ul > li > a > dl > dd {
	padding: 14px 20px;
}
@media screen and (min-width: 768px) {
	#info > ul > li > a > dl > dt > figure {
		background: #fff;
	}
	#info > ul > li > a > dl > dt > figure::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition-property: background;
		transition-duration: 0.1s;
		transition-timing-function: ease-out;
	}
	#info > ul > li > a:hover > dl > dt > figure::before {
		background: rgba(255,255,255,0.5);
	}
	#info > ul > li > a:hover > dl > dt > span {
		color: #00a0e9;
	}
}
@media screen and (max-width: 767px) {
	#info > h2 {
		margin-bottom: 35px;
	}
	#info > ul {
		display: inherit;
	}
	#info > ul > li {
		width: 100%;
	}
	#info > ul > li:nth-child(3n+2),
	#info > ul > li:nth-child(3n+3) {
		margin-left: 0;
	}
	#info > ul > li:nth-child(n+2) {
		margin-top: 30px;
	}
	#info > ul > li > a {
		user-select: none;
	}
	#info > ul > li > a > dl > dd {
		padding: 9px 15px;
	}
}

/*----------------------------------------
	more
-----------------------------------------*/
#more > h2 {
	margin: 55px 0 33px;
}
#more > ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#more > ul > li {
	/* formula calc((100% / 4) - (120px / 4) */
	width: calc(25% - 30px);
}
#more > ul > li:nth-child(4n+2),
#more > ul > li:nth-child(4n+3),
#more > ul > li:nth-child(4n+4) {
	margin-left: 40px;
}
#more > ul > li:nth-child(n+5) {
	margin-top: 35px;
}
#more > ul > li > a > figure {
	position: relative;
}
#more > ul > li > a > span {
	display: block;
	margin-top: 17px;
}
@media screen and (min-width: 768px) {
	#more > ul > li > a > figure::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transition-property: background;
		transition-duration: 0.1s;
		transition-timing-function: ease-out;
	}
	#more > ul > li > a:hover > figure::before {
		background: rgba(255,255,255,0.5);
	}
}
@media screen and (max-width: 767px) {
	#more > h2 {
		margin: 35px 0 25px;
	}
	#more > ul > li {
		width: calc(50% - 10px);
	}
	#more > ul > li:nth-child(4n+2),
	#more > ul > li:nth-child(4n+3),
	#more > ul > li:nth-child(4n+4) {
		margin-left: 0;
	}
	#more > ul > li:nth-child(even) {
		margin-left: 20px;
	}
	#more > ul > li:nth-child(n+3) {
		margin-top: 25px;
	}
	#more > ul > li > a {
		user-select: none;
	}
	#more > ul > li > a > span {
		margin-top: 12px;
	}
}