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

front-page.php 用スタイルシート

******************************* */






/* mv */
#mv {
	position: relative;
	background: url("../img/content/top/bg_mv.png") no-repeat center center;
	background-size: cover;
	padding: 1px 0;
}
#mv figure {
	text-align: center;
	position: relative;
	margin-top: -30px;
	margin-bottom: -51px;
}
@media screen and (max-width: 767px) {
	#mv {
		background: url("../img/content/top/bg_mv-sp.png") no-repeat center center;
		background-size: cover;
		padding: 0;
	}
	#mv figure {
		margin-top: 0;
		margin-bottom: 0;
	}
}








/* =============================================================================
   コンテンツスタイル
   ========================================================================== */

/*-------------------------------
sec01
---------------------------------*/
.front .sec01 {}
.front .sec01 .inner {
	background: url("../img/common/bg_dot.png") repeat center center;
	padding: 60px 60px;
	padding-top: 40px;
}
.front .sec01 .inner h1 {
	margin-bottom: 40px;
}
.front .sec01 .inner .flex {
	display: flex;
	align-items: center;
	justify-content: center;
}
.front .sec01 .inner .flex .text {
	width: 47%;
}
.front .sec01 .inner .flex .text h2 {
	margin-bottom: 10px;
}
.front .sec01 .inner .flex figure {
	width: 36%;
	margin-left: 5%;
}
@media screen and (max-width: 767px) {
	.front .sec01 .inner {
		background: url("../img/common/bg_dot.png") repeat center center;
		padding: 40px 30px;
		padding-top: 30px;
	}
	.front .sec01 .inner h1 {
		margin-bottom: 30px;
	}
	.front .sec01 .inner .flex {
		flex-direction: column;
	}
	.front .sec01 .inner .flex .text {
		width: 100%;
	}
	.front .sec01 .inner .flex figure {
		width: 80%;
		margin: 0 auto;
		margin-top: 20px;
	}
}


/*-------------------------------
sec02
---------------------------------*/
.front .sec02 {}
.front .sec02 ul.list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.front .sec02 ul.list li {
	width: 49.5%;
	padding: 5px 0;
}
@media screen and (max-width: 767px) {
	.front .sec02 ul.list li {
		width: 100%;
	}
}

/*-------------------------------
sec03
---------------------------------*/
.front .sec03 {}
.front .sec03 h2 {
	overflow: hidden;
	position: relative;
	font-size: 1.75em;
	margin-bottom: 1.0em;
}
.front .sec03 h2::after {
	position: absolute;
	content: "";
	top: 50%;
	width: 100%;
	height: 1px;
	margin-left: 1em;
	background-color: #555;
}
.front .sec03 .flex {
	display: flex;
	justify-content: space-between;
}
.front .sec03 .news {
	width: 34%;
	background: url("../img/content/top/bg_news.png") no-repeat right bottom;
	background-size: 90px auto;
}
.front .sec03 .news ul.list {}
.front .sec03 .news ul.list li {
	margin-bottom: 25px;
}
.front .sec03 .news ul.list li:last-child {
	margin-bottom: 0;
}
.front .sec03 .news ul.list li .date {
	font-weight: bold;
}
.front .sec03 .news ul.list li h4 {
	font-size: 1.0em;
}
.front .sec03 .calender {
	width: 64%;
}
.front .sec03 .calender ul.list {
	display: flex;
	justify-content: space-between;
}
.front .sec03 .calender ul.list li {
	width: 48%;
}
@media screen and (max-width: 767px) {
	.front .sec03 h2 {
		margin-bottom: 0;
	}
	.front .sec03 .flex {
		flex-direction: column;
	}
	.front .sec03 .news {
		width: 100%;
		padding-top: 40px;
		background: url("../img/content/top/bg_news.png") no-repeat right top;
		background-size: 60px auto;
	}
	.front .sec03 .news ul.list li {
		margin-bottom: 15px;
	}
	.front .sec03 .calender {
		width: 100%;
		margin-top: 20px;
	}
	.front .sec03 .calender ul.list {
		flex-direction: column;
	}
	.front .sec03 .calender ul.list li {
		width: 100%;
		text-align: center;
		margin: 0 auto;
		margin-top: 20px;
	}
}

