/* メインビジュアル・メインタイトル　ヘッダー部分補正
***************************************/
@media screen and (max-width:639px) {
	.mv, .mainTitle {
			margin-top: 60px;
	}
}
@media screen and (min-width:640px) {
	.mv, .mainTitle {
			margin-top: 172px;
	}
}

/* ヘッダー
***************************************/
.header * {
	transition: 0.4s;
}
.hFlex {
	display:block;
}

header {
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	background-color: #fff;
	z-index: 10;
}
.hFlexLink a {
	font-weight: bold;
	line-height: 1.6;
}
@media screen and (max-width:639px) {
	header {
			position: fixed;
			top:0;
			left: 0;
			width: 100%;
			height: 60px;
			background-color: #fff;
			z-index: 10;
	}
	.hFlex__logo {
			width: 120px;
			height: 120px;
			padding: 30px 10px 0;
			background-color: #fff;
	}    
	.-isFixed .hFlex__logo {
	top:0;
			width: 120px;
			height: 60px;
			padding: 5px 10px 0;
	}
}
@media screen and (min-width: 640px) {

	.header__fixed {
			width: 100%;
			height: 136px;
			min-width: 1280px;
			z-index: 100;
	}
	.-isFixed .header__fixed {
			height: 88px;
	}
	.hInfo__wrap {
			height: 38px;
			padding: 5px 10px;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
	}
	.-isFixed .hInfo__wrap {
			height: 0;
			padding: 0 10px;
	}
	.hFlex__wrap {
			position: relative;
			background-color: #fff;
	}
	.hFlex__logo {
			position:absolute;
			top:0 !important;
			width: 250px;
			height: 250px;
			padding: 60px 28px 0;    
			background-color: #fff;
	}
	.-isFixed .hFlex__logo {
			width: 136px;
			height: 88px;
			padding: 15px 10px 0;
	}

	/* メニュー */
	.mainNavigation {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-end;
	}
	.hFlex__nav {
			float: right;
			margin-left: 0;
			margin-right: 0;
			width: 1000px;
	}
	.hFlexLink a {
			display: block;
			width: 120px;
			height: 136px;
			color: #fff;
			text-align: left;
			text-decoration: none;
	}
	.hFlexLink__item01 {
			padding-top: 85px;
			padding-bottom: 10px;
			padding-left: 0.75em;
			background: url(../img/hLink_icon01.png) center top 25px no-repeat #1B1C80;
			background-size: 20%;
	}
	.hFlexLink__item02 {
			padding-top: 70px;
			padding-bottom: 10px;
			padding-left: 1.75em;
			background: url(../img/hLink_icon02.png) center top 25px no-repeat #C30D23;
			background-size: 30%;
	}
	.-isFixed .hFlexLink a {
			width: 200px;
			height: 88px;
			background-position: left 1em center;
	}
	.-isFixed .hFlexLink__item01 {
			padding-top: 30px;
			padding-bottom: 30px;
			padding-left: 3.5em;
			background-size: 12%;
	}
	.-isFixed .hFlexLink__item02 {
			padding-top: 30px;
			padding-bottom: 30px;
			padding-left: 3.5em;
			background-size: 16%;
	}
}
.-isFixed .hFlex__logo div {
	opacity: 0;
}

/* スマホメニュー
***************************************/
@media screen and (min-width: 640px) {
.sp-menu,
.sp-menu-mask,
.button-sp-menu {
	display: none;
}
}
@media screen and (max-width:639px) {
	.button-sp-menu {
			position: fixed;
			top: 0;
			right: 0;
			width: 50px;
			height: 60px;
			background: transparent;
			cursor: pointer;
			z-index: 100;
	}
	.button-sp-menu span {
			display:inline-block;
			width: 27px;
			height: 3px;
			position: absolute;
			top: 50%;
			right: 11px;
			margin-top: -1px;
			background:#000;
			border-radius: 2px;
			transition-property: -webkit-transform;
			transition-property: transform;
			transition-property: transform, -webkit-transform;
			transition-duration: .1s;
			transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	.button-sp-menu span:before,
	.button-sp-menu span:after {
			content: "";
			display: block;
			width: 100%;
			height: 3px;
			position: absolute;
			right: 0;
			background:#000;
			border-radius: 2px;
			transition-property: -webkit-transform;
			transition-property: transform;
			transition-property: transform, -webkit-transform;
			transition-duration: .15s;
			transition-timing-function: ease;
	}
	.button-sp-menu span:before {
			top: -10px;
			transition:
					top 0.1s .14s ease,
					opacity .1s ease;
	}
	.button-sp-menu span:after {
			bottom: -10px;
			transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
			transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
			transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	.button-sp-menu.-close span {
			width: 34px;
			left: 8px;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			transition-delay: .14s;
			transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.button-sp-menu.-close span:before {
			top: 0;
			opacity: 0;
			transition:
					top .1s ease,
					opacity .1s .14s ease;
	}
	.button-sp-menu.-close span:after {
			bottom: 0;
			-webkit-transform: rotate(-90deg);
			transform: rotate(-90deg);
			transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
			transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
			transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	
	.sp-menu,
	.sp-menu-mask {
		display: block !important;
		width: 100%;
		position: fixed;
		top: 0;
		left: 100%;
		background-color: #fff;
		transition: all 0.5s;
	}
	.sp-menu {
	height: 100vh;
			z-index: 80;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	}
	.sp-menu-mask {
			height: 60px;
			z-index: 90;
	}
	.sp-menu.-open,
	.sp-menu-mask.-open {
		left: 0;
	}
.sp-menu-wrap {
	padding: 60px 20px 160px;
}

.sp-menuList {
	margin-bottom: 30px;
}
.sp-menuList li {
	border-bottom: solid 1px #eee;
	list-style: none;
}
.sp-menuList li a {
	display: block;
	width: 100%;
	padding-top: 20px;
	color:#000;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	box-sizing: border-box;
}
.sp-menuList li a span {
	display: inline-block;
	margin-left: 1.5em;
	color: #656464;
	font-size: 12px;
	font-family: futura-pt, sans-serif;
	font-weight: 400;
}
.sp-menuLink {
	margin-bottom: 30px;
}
.sp-menuLink__item01 {
	position: relative;
	display: block;
	padding: 20px 10px 20px 20%;
	margin-bottom: 20px;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	background: url(../img/hLink_icon01.png) left 8% center no-repeat #1B1C80;
}

.sp-menuLink__item02 {
	position: relative;
	display: block;
	padding: 20px 10px 20px 20%;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	background: url(../img/hLink_icon02.png) left 8% center no-repeat #C30D23;
}
.sp-menuLink__item01 span,
.sp-menuLink__item02 span {
	position: absolute;
	left: 65%;
	bottom: 20px;
	display: block;
	font-size: 12px;
	font-family: futura-pt, sans-serif;
	font-weight: 400;
}
.sp-menuList01 {
	text-align: center;
	margin-bottom: 0;
}
.sp-menuList01 li {
	margin-bottom: 10px;
}
.sp-menuList01 li:last-of-type {
	margin-bottom: 0;
}
.sp-menuList01 li a {
	color: #000;
	text-decoration: none;
}
.sp-menuList01::after {
	color: #1B1C80;
	font-size: 32px;
	line-height: 1;
}
.sp-menuInfo {
	margin-bottom: 30px;
}
.sp-menuInfo p {
	margin-bottom: 0;
	text-align: center;
}	
}
