@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.7em;
	color: #0F0F10;
	font-size: 16px;
	background-color: #f8f8f8;
	letter-spacing: 0.1em;
	min-width: 1030px;
}

a {
	text-decoration: none;
	color: #000;
}

ul li {
	list-style-type: none;
}

img {
	border: 0;
	vertical-align: bottom;
}

a:hover {
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
}


/**** 共通
*******************************************/
.main_cont {
	position: relative;
}

.main_cont,
.head_inner {
	width: 1030px;
	padding: 0 15px;
	margin: auto;
}

.mw100 img {
	max-width: 100%;
}



/***   ***/
.ttl_01 {
	margin-bottom: 90px;
}

.ttl_01 span {
	display: block;
	font-size: 20px;
	color: #002A59;
	letter-spacing: 0.2em;
	position: relative;
}

.ttl_01 span:before {
	content: "";
	border-top: 14px solid #DEE604;
	width: 245px;
	height: 14px;
	position: absolute;
	bottom: -23px;

}


.ttl_02 {
	margin-bottom: 90px;
	text-align: center;
}

.ttl_02 span {
	display: block;
	font-size: 20px;
	color: #fff;
	letter-spacing: 0.2em;
	position: relative;
	margin-top: 5px;
}

.ttl_02 span:before {
	content: "";
	border-top: 14px solid #DEE604;
	width: 245px;
	height: 14px;
	position: absolute;
	bottom: -23px;
	left: 0;
	right: 0;
	margin: auto;

}




/***   ***/

.float_sb {
	display: flex;
	justify-content: space-between;
}

.float_sa {
	display: flex;
	justify-content: space-around;
}

.float_ce {
	display: flex;
	justify-content: center;
}

.float_ft {
	display: flex;
	justify-content: flex-start;
}

.float_en {
	display: flex;
	justify-content: flex-end;
}

/**** ヘッダー
*******************************************/
header {
	padding: 22px 0;
	background-color: #fff;
}

.head_inner h1 {
	text-align: center;
	position: relative;
}

.head_inner h2 {
	position: absolute;
	top: 30px;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.2em;
}



/***   ***/
.mv_area {
	position: relative;
}

.mv_area .mv_txt {
	position: absolute;
	top: 30%;
	width: 1030px;
	left: 0;
	right: 0;
	margin: auto;
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	line-height: 1.3em;
	letter-spacing: 0.1em;
}

.mv_img img {
	width: 100%;
}









/***   ***/
.white_box {
	padding: 50px 70px 10px;
	background-color: #fff;
	margin-top: -150px;
	margin-bottom: 40px;
}

.white_box h3 {
	font-size: 25px;
	letter-spacing: 0.25em;
	color: #002A59;
	margin-bottom: 30px;
}

.white_box p {
	margin-bottom: 30px;
}




/***   ***/
.blue_box {
	background-color: #002A59;
	padding: 100px 0 50px;
}

.blue_box .main_cont {
	position: relative;
}

.blue_box .main_cont .cat01 {
	position: absolute;
	top: -30px;
	right: 0;
}

.blue_box ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 140px;
}

.blue_box ul li {
	padding: 45px 45px 40px;
	border: 2px solid #fff;
	width: 48.5%;
	margin-bottom: 55px;
	position: relative;
	color: #fff;

}

.blue_box ul li:first-child {
	width: 100%;
	padding: 45px 80px 40px;
}

.blue_box .ttl_03 {
	color: #fff;
	text-align: center;
	background: #002A59;
	width: 290px;
	position: absolute;
	top: -20px;
	margin: auto;
	left: 0;
	right: 0;
	font-size: 25px;
	letter-spacing: 0.2em;
}

.blue_box ul li p {
	color: #fff;
}



.blue_box .float_sa {
	margin-top: 30px;
}

.blue_box .float_sa div {
	text-align: center;
	letter-spacing: 0.2em;
}

.blue_box .float_sa div img {
	margin-bottom: 15px;

}

.blue_box ul li:nth-child(n+2) p {
	text-align: justify;
}

.blue_box ul li:nth-child(n+2) img {
	margin-bottom: 40px;
	max-width: 100%;
}



/***   ***/
.movie_box {
	position: relative;
	padding: 80px 15px 103px;
}

.movie_box .cat02 {
	position: absolute;
	left: 0;
	top: 50px;
}

.movie_box p {
	max-width: 500px;
	margin: 105px auto 0;
}

.movie_box .ttl_02 span {
	color: #002A59;
}


.movie_box .mw100 {
	text-align: center;
	margin-top: 80px;
}






.youtube_box {
	display: flex;
	justify-content: space-around;
	margin-top: 50px;
}


.youtube_box > div {
	text-align: center;
}

.youtube_box > div iframe {
	width: 470px;
	margin: 0 auto;
}

.youtube_box > div span {
	display: block;
	margin-top: 10px;
	color: #002A59;
}

/***   ***/
.company_box {
	background-color: #fff;
	padding: 83px 0;
}

.company_box .ttl_02 span {
	color: #002A59;
}

.company_box table {
	border-collapse: collapse;
	width: 100%;
	border-top: 1px solid #9fabb9;
	margin-top: 135px;
}

.company_box table th,
.company_box table td {
	border-bottom: 1px solid #9fabb9;
	padding: 18px 35px;
	font-weight: normal;
	text-align: left;
}

.company_box table th {
	width: 33%;
	vertical-align: top;
}

.company_box table td {
	line-height: 2em;
}


#googlemap {
	height: 500px;
	width: 100%;
	margin-top: 80px;
}











/**** フッター
*******************************************/
footer {
	background-color: #002A59;
	padding: 77px 15px;
	text-align: center;

}

footer .f_logo {
	text-align: center;
}

footer p {
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.25em;
	margin: 70px 0 10px;
}

footer .f_tel {
	font-family: 'Century Gothic', 'Avenir-Light', sans-serif;
	font-size: 39px;
	font-weight: bold;
	color: #fff;
	margin-top: 20px;
	letter-spacing: 0.15em;
}

footer .f_tel a {
	color: #fff !important;
}

.copy {
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.15em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 33px 0;
}

.copy span {
	font-size: 20px;
}

/*** トップ戻る  ***/
#page_top {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 300;
}








/*-------------------------------
media
--------------------------------*/
.sp_on {
	display: none;
}




@media (max-width: 767px) {
	body {
		min-width: 100%;
	}

	img {
		max-width: 100%;
	}

	.sp_on {
		display: block;
	}

	.pc_on {
		display: none;
	}

	.float_sb,
	.float_sa,
	.float_ce,
	.float_en,
	.float_ft {
		display: block;
	}




	/***   ***/
	.white_box {
		width: 90% !important;
	}

	.main_cont,
	.head_inner {
		width: 100%;
	}

	.mv_area .mv_txt {
		width: 100%;
		font-size: 30px;
		padding: 0 10px;
        letter-spacing: -0.09em;
        line-height: 1.8em;
    }



	.head_inner h2 {
		margin-bottom: 20px;
		position: relative;
		text-align: center;
		margin-top: -15px;
		letter-spacing: 0.1em;
	}

	.white_box {
		margin-top: -50px;
		padding: 50px 18px 10px;
	}

	.white_box h3 {
		line-height: 1.4em;
	}

	/***   ***/
	.blue_box ul li:first-child {
		padding: 45px 18px 20px;
	}

	.blue_box ul li p {
		text-align: justify;
	}

	.blue_box .ttl_03 {
		width: 200px;
	}

	.blue_box ul li {
		width: 100%;
		padding: 45px 18px 40px;
	}

	.blue_box ul li > div {
		text-align: center;
	}

	.blue_box .float_sa div {
		margin-bottom: 25px;
	}




	.movie_box .cat02,
	.blue_box .main_cont .cat01 {
		display: none;
	}

	.youtube_box {
		display: block;
	}

	.youtube_box > div {
		margin-bottom: 30px;
	}

	.youtube_box > div iframe {
		width: 100%;
		height: 300px !important;
	}

	/***   ***/
	.company_box table {
		border-bottom: 1px solid #9fabb9;
	}

	.company_box table th,
	.company_box table td {
		display: block;
		width: 100%;
	}

	.company_box table th {
		border-bottom: 0;
		background-color: #eee;
	}



	/*** トップ戻る  ***/
	#page_top {
		position: fixed;
		bottom: 20px;
		right: 15px;
		z-index: 300;
	}






}
