/* CSS Document */




/*============================================================================

	header

============================================================================*/
header {
	position: relative;
	width: 100%;
	height: 100px;
	background: #001438;
	z-index: 99;
}

/*------------------------------ ロゴ ------------------------------*/
header h1{
	position:absolute;
	top:28px;
	left: 5%;
	z-index: 99;
}



/*============================================================================

	nav

============================================================================*/
nav {
	position: relative;
	margin-right: 5px;
}
nav ul{
	text-align: right;
}
nav li {
	position:relative;
	display: inline-block;
}
nav li a span{
	position:relative;
	display: block;
	color: #FFF;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 15px;
}


/*------------------------------ １つ目の設定（間に境界線） ------------------------------*/
nav li:nth-of-type(1) {
	margin-right: 60px;
	top: -8px;
	letter-spacing: 2px;
}
nav li:nth-of-type(1)::after {
	position: absolute;
	content: "｜";
	top: 0;
	right: -40px;
	color: #999;
}


/*------------------------------ ２つ目の設定（hoverでサブメニューが出る） ------------------------------*/
nav li:nth-of-type(2) {
	margin-right: 60px;
	top: -8px;
	letter-spacing: 2px;
	color: #FFF;
}

nav ul li div {
	position: absolute;
	display:none;
	width:135px;
	top: 100%;
	left: -35px;
	padding-top: 32px;
}
nav ul li div a{
	display:block;
	position:relative;
	padding: 13px 20px 13px 23px;
	border-bottom: 1px solid #f0f0f0;
	line-height:1.4;
	text-align:center;
	font-size:13px;
	color: #FFF;
	background: #296fa0;
}
nav ul li div a:hover {
	background-color: #1c335b;
	color: #FFF;
}
nav ul li div a:first-of-type::before {
	position: absolute;
	content: "";
	top: -10px;
	left: 50%;
	margin-left: -7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 10px 7px;
	border-color: transparent transparent #296fa0 transparent;
}


/*------------------------------ ３つ目の設定（境界線なし） ------------------------------*/
nav li:nth-of-type(3) {
	margin-right: 30px;
	top: -8px;
	letter-spacing: 2px;
}
nav li:nth-of-type(3)::before {
	position: absolute;
	content: "｜";
	top: 0;
	left: -40px;
	color: #999;
}


/*------------------------------ ホバーのボーダー（１つ目、２つ目、３つ目） ------------------------------*/
nav li:nth-of-type(1) a span::before , nav li:nth-of-type(2) span::before , nav li:nth-of-type(3) a span::before {
    position: absolute;
	left: 0;
	right:0;
	bottom: -12px;
	width:100%;
	height:1px;
	margin:auto;
	background: #FFF;
	transition: 0.15s  ease-out;
	transform: scaleX(0);
	content: "";
	z-index: 1;
}
nav li:nth-of-type(1) a:hover span::before , nav li:nth-of-type(2):hover span::before , nav li:nth-of-type(3) a:hover span::before {
	transform: scaleX(1);
}


/*------------------------------ ４つ目・５つ目の設定（共通部分） ------------------------------*/
nav li:nth-of-type(4) span , nav li:nth-of-type(5) span {
	top: 5px;
	width: 120px;
	height: 90px;
	text-align: center;
	font-size: 13px;
	box-sizing: border-box;
	transition: 0.3s ease-out;
}
nav li:nth-of-type(4) span img , nav li:nth-of-type(5) span img {
	display: block;
	margin: auto;
	padding-top: 25px;
	padding-bottom: 10px;
}
nav li:nth-of-type(4)::after , nav li:nth-of-type(5)::after {
	position: absolute;
	content: "";
	right: 5px;
	bottom: 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 7px 7px;
	border-color: transparent transparent #FFF transparent;
	transition: 0.3s ease-out;
}
nav li:nth-of-type(4):hover::after , nav li:nth-of-type(5):hover::after {
	right: 1px;
	bottom: -4px;
	border-color: transparent transparent #296fa0 transparent;
}


/*------------------------------ ４つ目のみの設定（背景水色） ------------------------------*/
nav li:nth-of-type(4) span {
	background: #296fa0;
	border: 1px solid #296fa0;
}

nav li:nth-of-type(4):hover span {
	background: #054571;
}


/*------------------------------ ５つ目のみの設定（背景紺色） ------------------------------*/
nav li:nth-of-type(5) span {
	background: #1c335b;
	border: 1px solid #1c335b;
}
nav li:nth-of-type(5):hover span {
	background: #010c21;
	border: 1px solid #054571;
}






	
/*============================================================================

	中間サイズ

============================================================================*/

@media screen and (max-width:960px) {

	header h1{
		top:30px;
		left: 3%;
	}
	header h1 img{
		width: 180px;
		height: auto;
	}



	nav li span{
		font-size: 14px !important;
	}

	/*------------------------------ １つ目の設定（間に境界線） ------------------------------*/
	nav li:nth-of-type(1) {
		margin-right: 20px;
	}
	nav li:nth-of-type(1)::after {
		display: none;
	}

	/*------------------------------ ２つ目の設定（hoverでサブメニューが出る） ------------------------------*/
	nav li:nth-of-type(2) {
		margin-right: 20px;
	}
	
	/*------------------------------ ３つ目の設定（間に境界線） ------------------------------*/
	nav li:nth-of-type(3) {
		margin-right: 20px;
	}
	nav li:nth-of-type(3)::before {
		display: none;
	}


	/*------------------------------ ４つ目・５つ目の設定（共通部分） ------------------------------*/
	nav li:nth-of-type(4) span , nav li:nth-of-type(5) span {
		width: 100px;
	}

}


	
/*============================================================================

	中間サイズ

============================================================================*/

@media screen and (max-width:750px) {

	header h1{
		top:33px;
	}
	header h1 img{
		width: 160px;
	}



	nav li span{
		font-size: 13px !important;
		letter-spacing: 1px !important;
	}
	
	
	/*------------------------------ ４つ目・５つ目の設定（共通部分） ------------------------------*/
	nav li:nth-of-type(4) span , nav li:nth-of-type(5) span {
		width: 80px;
	}

}


	
/*============================================================================

	SPサイズ

============================================================================*/

@media screen and (max-width:640px) {

	header {
		display:none;
	}
	nav{
		display: none;
	}

	.sp_navi {
		display:block;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:62px;
		z-index: 9998;
	}
	.sp_navi h1{
		position: absolute;
		padding-top: 17px;
		padding-left:5%;
	}
	.sp_navi h1 img{
		height: 30px !important;
	}

	.sp_navi dl{
		background-color: #001438;
	}
	.sp_navi dl dt {
		height: 62px;
		cursor:pointer;
		padding: 0 4%;
		display:block;
		line-height: 2;
	}
	.sp_navi dl dd {
		display:none;
	}
	.sp_navi ul{
		padding:4% 2% 4% 8%;
	}
	.sp_navi ul li {
		display: table;
		width: 50% ;
		float: left;
		line-height:1.4;
	}
	.sp_navi ul li a {
		position: relative;
		display:table-cell;
		vertical-align:middle;
		width:100%;
		height: 45px;
		padding-left: 20px;
		color:#FFF;
		font-size: 13px;
		font-family: 'Josefin Sans', sans-serif;
	}
	.sp_navi ul li a::before {
		position: absolute;
		content: "";
		left: 0;
		width: 7px;
		height: 14px;
		margin-top: 3px;
		background: url(../images/icon07.svg) no-repeat;
		background-size: 7px auto;
	}

	/*ボタンの動き*/
	.sp_navi dt a {
		display: block;
		width: 42px;
		height:42px;
		position: absolute;
		top:9px;
		right: 10px;
		z-index: 9999999;
	}
	.sp_navi dt a span {
		display: block;
		background: #FFF;
		width: 24px;
		height: 2px;
		position: absolute;
		left: 9px;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
	}
	.sp_navi dt a span:first-child {
		top: 12px;
	}
	.sp_navi dt a span:nth-child(2) {
		margin-top: -1px;
		top: 50%;
	}
	.sp_navi dt a span:last-child {
		bottom: 12px;
	}
	.sp_navi dt a.active span:first-child {
		-webkit-transform: translateY(8px) rotate(45deg);
		-moz-transform: translateY(8px) rotate(45deg);
		-ms-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}
	.sp_navi dt a.active span:nth-child(2) {
		opacity: 0;
	}
	.sp_navi dt a.active span:last-child {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		-moz-transform: translateY(-8px) rotate(-45deg);
		-ms-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

	
}






