@charset "UTF-8";
/* ----------------------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------------------- */
/*============================
#header
============================*/
header#header {
	background-color:#fff;
	position:fixed;
	top:0;
	width:100%;
	z-index:10000;
}
header#header div.wrap {
	width:100%;
	position:relative;
}
header#header div.inner {
	max-width:1000px;
	margin:0 auto;
}
header#header h1 {
	float:left;
}
header#header h1 a {
	display:block;
	padding-top:20px;
}
header#header h1 a img {
}

header#header nav#menu {
	float:right;
}
header#header nav#menu > ul {
	text-align:right;
	font-size:0;
}
header#header nav#menu > ul > li {
	display:inline-block;
	text-align:left;
	margin-left:0px;
}
header#header nav#menu > ul > li > a {
	padding:20px 15px 20px 15px;
	background-position:left 15px center;
	background-repeat:no-repeat;
	background-size:40px;
	display:block;
	color:#000;
	font-weight:bold;
	font-size:14px;
	line-height:1.4em;
	width:150px;
	color:#000;
} 
header#header nav#menu > ul > li:nth-of-type(1) > a {
	width:190px;
} 
header#header nav#menu > ul > li > a img {
	display:inline-block;
	float:left;
	margin-right:5px;
	
} 
header#header nav#menu ul li ul.child{
	overflow:hidden;
	height:0;
	width:100%;
	position:absolute;
	
}

header#header nav#menu ul li ul.child a{
	color:#000;
	text-decoration:none;	
}



/*PC */
@media print, screen and ( min-width:991px) { 
header#header nav#menu > ul > li > a {
	z-index:1;
	transition:all 0.3s;
} 
header#header nav#menu > ul > li:hover > a {
	background-color:#efefef;
} 

header#header nav#menu ul li:hover ul.child{
	overflow:hidden;
	height:auto;
	padding:20px 0 10px;
	background-color:#efefef;
	width:100%;
	position:absolute;
	left:0;
	top:78px;
	text-align:center;
}
header#header nav#menu ul li:hover ul.child li{
	display:inline-block;
	margin:0 10px 10px;
}
header#header nav#menu ul li ul.child li a{
	opacity:0;
	transition:all 1s;
}
header#header nav#menu ul li:hover ul.child li a{
	display:block;
	background-color:#fff;
	border:1px solid #008F79;
	border-radius:40px;
	min-width:200px;
	font-weight:bold;
	font-size:12px;
	transition:all 0.5s;
	line-height:1.5em;
	padding:15px 0;
	text-align:center;
	color:#000;
	text-decoration:none;
	opacity:1;
}
header#header nav#menu ul li:hover ul.child li a span {
	display:block;
	font-size:20px;
	font-weight:bold;
	color:#008F79;
	margin-bottom:5px;
	transition:all 0.5s;
}
header#header nav#menu ul li:hover ul.child li a:hover {
	background-color:#008F79;
	color:#fff;
}
header#header nav#menu ul li:hover ul.child li a:hover span {
	color:#fff;
}
}
/*タブレット */
@media print, screen and (min-width:700px) and ( max-width:990px) { 
header#header {
	height:60px;
}
header#header div.inner {
	max-width:1000px;
	margin:0 auto;
}
header#header h1 {
	float:left;
	width:140px;
}
header#header h1 a {
	display:block;
	padding:17px 0 0 20px;
}
header#header h1 a img {
	width:100%;
}
header#header nav#menu ul li a {
	padding:17px  0 20px;
	background-position:left 15px center;
	background-repeat:no-repeat;
	background-size:40px;
	display:block;
	color:#000;
	font-weight:bold;
	font-size:10px;
	line-height:1.4em;
	width:120px;
} 
header#header nav#menu ul li:nth-of-type(1) a {
	width:150px;
} 
header#header nav#menu ul li a img {
	width:30px;
} 
header#header nav#menu ul li:hover ul.child{
	overflow:hidden;
	height:auto;
	padding:20px 0 10px;
	background-color:#efefef;
	width:100%;
	position:absolute;
	left:0;
	top:60px;
	text-align:center;
}
header#header nav#menu ul li:hover ul.child li{
	display:inline-block;
	margin:0 10px 10px;
}
header#header nav#menu ul li:hover ul.child li a{
	display:block;
	background-color:#fff;
	border:1px solid #008F79;
	border-radius:40px;
	min-width:150px;
	font-weight:bold;
	font-size:10px;
	transition:all 0.5s;
	line-height:1.5em;
	padding:15px 0;
	text-align:center;
	color:#000;
	text-decoration:none;
}
header#header nav#menu ul li:hover ul.child li a span {
	display:block;
	font-size:18px;
	font-weight:bold;
	color:#008F79;
	margin-bottom:5px;
	transition:all 0.5s;
}
header#header nav#menu ul li:hover ul.child li a:hover {
	background-color:#008F79;
	color:#fff;
}
header#header nav#menu ul li:hover ul.child li a:hover span {
	color:#fff;
}
}
/*スマホ */
@media print, screen and (max-width:700px)  { 
header#header h1 {
	float:left;
	width:140px;
}
header#header h1 a {
	display:block;
	padding:17px 0 0 20px;
}
header#header h1 a img {
	width:100%;
}
header#header nav#menu ul li a {
	padding:17px  0 20px;
	background-position:left 15px center;
	background-repeat:no-repeat;
	background-size:40px;
	display:block;
	color:#000;
	font-weight:bold;
	font-size:10px;
	line-height:1.4em;
	width:120px;
} 
header#header nav#menu ul li a img {
	width:30px;
} 
/*メニュー部分*/
	header#header nav#menu{
		display:none;
		position: fixed;
		top:0;
		width: 100% !important;
		height: 100vh;
		background:rgba(255,255,255,1);
		left: 0;
	}
	header#header nav#menu > ul{
		display: block;
		width: 90%;
		position: absolute;
		top: 80px;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
		height: 100vh;
		overflow: scroll;
		padding: 50px 5%;
	}
	header#header nav#menu ul li{
		display:block;
		margin: 0 auto;
		text-align: center;
		float:none;
		line-height:50px;
	}
	header#header nav#menu ul li {
		display:block;
		text-align:left;
		margin-left:0px;
	}
	header#header nav#menu ul li a {
		padding:0;
		font-size:14px;
		line-height:1.4em;
		text-align:left;
		width:auto !important;
	} 
	header#header nav#menu ul li a img{
		display:inline-block;
		float:none;
		vertical-align:middle;
	} 
	header#header nav#menu ul li a br{
		display:none;
	} 
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 40px;
		height: 40px;
		position: relative;
		float:right;
		top: 4px;
		z-index: 100;
		padding: 14px 15px 0 0;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 1px;
		background: #000;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}



header#header p.mobile_menu_open{
	display:block;
	position:absolute;
	right:30px;
	top:20px;
}
header#header p.mobile_menu_open a{
	display:block;
	position:relative;
	width:30px;
	height:12px;
}
header#header p.mobile_menu_open span{
	display:block;
	width:100%;
	height:1px;
	background-color:#aaa;
	border-radius:1px;
	position:absolute;
	top:0px;
	left:0;
}
header#header p.mobile_menu_open span:before{
	display:block;
	content:" ";
	width:100%;
	height:1px;
	background-color:#aaa;
	border-radius:1px;
	position:absolute;
	top:8px;
	left:0px;
}
header#header p.mobile_menu_open span:after{
	display:block;
	content:" ";
	width:100%;
	height:1px;
	background-color:#aaa;
	border-radius:1px;
	position:absolute;
	top:16px;
	left:0;
}
header#header div.mobile{
	display:none;
}
nav#menu ul{
	padding-top:60px;	
}
nav#menu ul li {
	float:none;
	text-align:left;
	
}
nav#menu ul li a {
	display:block;
	line-height:40px;
	height:40px;
	padding:0 30px;
	color:#333;
	position:relative;
	
	/*font-family: brandon-grotesque;
    font-weight: 500;
    font-style: normal;*/
}
nav#menu ul li a img {
	width:60px;
}

header#header nav#menu ul li ul.child{
	overflow:hidden;
	height:auto;
	padding:10px 0;
	position:relative;
}
header#header nav#menu ul li ul.child li{
	margin:0 10px 10px;
}
header#header nav#menu ul li ul.child li a{
	display:block;
	padding: 0 0 0 50px;
}
header#header nav#menu ul li ul.child li a span {
	display:inline-block;
	font-size:18px;
	color:#008F79;
	font-weight:bold;
	margin-right:10px;
}
.br-PC {
	display: none;
}
}


