@charset "UTF-8";

/*スクロール用*/
.invisible{
	opacity: 0.0;
	transform: translateY(5%);
}

.visible {
	transition: 1s ease;
	transform: translateY(0);
	opacity: 1.0;
}

.titleIn{
	transition: .5s ease;
	transform: translateX(0);
	opacity: 1.0;
	display: block;
}

.tltleOut{
	opacity: 0.0;
	display: none;
	transform: translateX(5%);
}

/*全体共通*/
body{
	font-family: sans-serif;
	overflow-x: hidden;
}

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	line-height: 0;
}

a{
	color: #fff;
	transition: 0.3s ease-in-out;
}

@media screen and (max-width: 750px){
	.pc{
		display: none;
	}
}

@media screen and (min-width: 750px){
	.sp{
		display: none;
	}
}


/*詳しくボタン*/
#kwsk{
	display: block;
	width: 12%;
	padding: 1%; 
	border: 1px solid rgba(255,255,255,0.5);
	font-size: 0.7em;
}

#kwsk:hover{
	background: rgba(44, 93, 163, .3);
}

#kwsk:after{
	content:'';
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: 5%;
	margin-bottom: .5%;
	border-top: 1px solid rgba(255,255,255,0.7);
	border-right: 1px solid rgba(255,255,255,0.7);
	transform: rotate(45deg); 
}

@media screen and (max-width: 750px){
	#kwsk,
	#kwsk2{
		width: 50%;
    	padding: 3%;
	}
}


/*header*/

header{
	width: 100%;
	height: auto;
	background-color: rgba(44,93,163,0.35);
	position: absolute;;
	top: 2%;
	padding: 2% 0;
	vertical-align: middle;
	z-index: 100;
}

header h1 img{
	width: 20%;
	vertical-align: center;
	padding: 0.5% 0 0 2%;
	margin-right: 35%;
	float: left;
}

header p{
	clear: both;
	color: rgba(0,0,0,.85);
	padding: .5% 0 0 2%;
	font-size: .85em;
}

@media screen and (max-width: 750px){
	header h1 img{
		width: 50%;
		padding-bottom: 1%;
	}

	br.sp_head{
		display: block;
		padding-top: 1%;
		content: " ";
	}
	
	header p{
		font-size: .5em;
	}
		
}

@media screen and (min-width: 750px){
		br.sp_head{
		display: none;
	}
}


/*ナビゲーション*/
header ul{
	padding-top: 1%;
	padding-right: 2%;
}

header ul li{
	float: left;
	width: 10%;
}

header ul li a{
	color: #fff;
	display: block;
	text-align: center;
	font-size: .75em;
}

header ul li a:after{
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	margin-top: -13.5%;
	background-color: rgba(255,255,255,0.3);
}

header ul li a span{
	display: block;
	width: 100%;
	padding-top: 5%;
	margin-top: 5%; 
	color: #2c5da3;
	font-size: .3em;
}

header ul li a:hover{
	transition: .5s ease-in-out;
}

header ul li a:hover:after{
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	margin-top: -12%;
	background-color: #2c5da3;
}

@media screen and (max-width: 750px){
	header ul li a:hover{
		transition: 0s;
	}
	header ul li a:hover:after{
		display: none;
	}
}

/*ハンバーガーメニュー*/
header .spmenu{
	position: fixed;
	top: 2%;
	right: 0;
	width: 20vw;
	height: 12%;
	background-color: rgba(44, 93, 163, 0.84);
	z-index: 999;
}

.spmenu_check {/* チェックボックスを隠す */
  	display: none;
}

	/* メニューボタン*/
	.sp_botan{
	    cursor: pointer;
		display: flex;
	    justify-content: space-between;
	    align-items: flex-start;
 		flex-direction: column;
    	width: 60%;
    	height: 50%;
	    padding: 20% 20%;
	}
	
	.sp_botan span{
		display: inline-block;
		height: 5px;
		background: #fff;
		transition: 0.2s;
	}

	.sp_botan span.top{
		width: 100%;
	}

	.sp_botan span.middle{
		width: 60%;
	}

	.sp_botan span.bottom{
		width: 30%;
	}

		/* ▽▽開閉時のアニメーション▽▽ */
		.spmenu_check:checked ~ .sp_botan span.top{
			width: 30%;
		}
		.spmenu_check:checked ~ .sp_botan span.bottom {
			width: 100%;
		}

		.spmenu_check:checked ~ .spmenu_wrap {
			right: 0;
		}

	.spmenu_wrap{
		display: inline-block;
	    position: absolute;
	    top: 100%;
		right: -100vw;
		width: 100vw;
		transition: right 0.6s;
		background-color: rgba(0, 0, 0, 0.8);
		z-index: 9999;
	}
		 
		 		 
		/* ▽▽メニュー内のリストスタイル▽▽ */
		ul.sp_list {
			background-color: rgba(44, 93, 163, 0.4);
		}
		
		ul.sp_list li{
			float: none;
			width: 100%;
		}

		ul.sp_list li a {
			display: block;
			line-height: 2;
			margin: 10% 0 0;
		}

		ul.sp_list li a span{
			margin: 0 0 10%;
			padding: 0;
		}

		ul.sp_list li a:after{
			background-color: #666;
			margin-top: 0;
		}

/*ページ背景*/
main{
	width: 100%;
	height: auto;
	background-image: url(../common/bg.gif);
	background-size: cover;
}

#mv{
	position: relative;
}

#mv img.tp{
	position: absolute;
	z-index: 1;
	display: block;
}

/*footer共通エリア*/
footer{
	clear: both;
	background: #222;
	color: #fff;
	font-size: 0.7em;
}

footer ul li{
	float: left;
	list-style: none;
	border-left: 1px solid rgba(255,255,255,0.3);
	margin: 2% 0 0 2%;
	padding-left: 2%;
	text-align: center;
}

footer ul li.end{
	border-right: 1px solid rgba(255,255,255,0.3);
	padding-right: 2%;
}

footer ol{
	clear: left;
	text-align: right;	
	line-height: 1.7;
	padding: 0 2.5% 1% 0;
	list-style: none;
}

footer ol img{
	width: 20%;
	padding-bottom: 0.5%;
}

@media screen and (max-width: 750px){
	footer{
		padding: 2% 0;
	}
	
	footer ul li{
		float: none;
		text-align: left;
		padding: 3% 2%;
	}
	
	footer ol li img{
		width: 40%;
		padding: 5% 0 1%;
	}
}