@charset "UTF-8";

.sp-menu {
	display: none;
}
.base {
    display: none;
}

.subnav {
	text-align: right;
    display: table-cell;
    vertical-align: middle;
	color: #666;
	line-height: 1.4;
}
.subnav > .item {
	font-size: 1.4rem;
	text-align: right;
}
.subnav > .tel {
	font-family: 'Montserrat', sans-serif;
	font-size: 2.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.subnav > .tel .car {
	font-family: "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ ゴシック", sans-serif;
	background-color: #D6BA77;
	font-size: 1.2rem;
	padding: 5px 10px;
	display: inline-block;
	color: #fff;
	margin: 5px 0 0 8px;
	vertical-align: top;
	letter-spacing: normal;
}


.w-nav {
	height: 100px;
	backface-visibility: hidden;
}
.nav {
	z-index: 3;
}
.nav .gnav {
    border-top: 6px solid #ffd429;
    margin-left: auto;
    margin-right: auto;
    width: 1120px;
    box-sizing: border-box;
    height: 100px;
	background-color: #fff;
	overflow: hidden;
}
.nav .gnav > * {
	float: left;
}
.nav .gnav:before, .nav .gnav:after {
	content: " ";
	display: table;
}
.nav .gnav:after {
	clear: both;
}
.nav .gnav > .children {
	transition: ease 0.3s;
}
.nav .gnav .children:first-child {
	margin: 0 57px 0 20px;
}
.nav .gnav .children:last-child {
	background-color: #1f1f1f;
}
.nav .gnav .children:last-child:hover {
	background-color: #dcb929!important;
}
.nav .gnav .children:last-child a {
	color: #fff;
}
.nav .gnav > .children:hover {
	background-color: #eee;
	transition: ease 0.3s;
}
.nav .gnav .children:first-child:hover {
	background-color: transparent;
}
.nav .gnav .children:first-child img {
	transition: ease 0.3s;
	backface-visibility: hidden; 
}
.nav .gnav .children:first-child:hover img {
	opacity: 0.8;
	transition: ease 0.3s;
}
.nav .gnav .children:last-child:hover {
	background-color: #555;
}
.nav .gnav > .children .w .link.level1 {
	height: 100px;
	text-align: center;
	display: table;
	padding: 0 30px!important;
	font-size: 1.8rem;
}
.nav .gnav > .children:first-child .w .link.level1 {
	padding: 0!important;
}
.nav .gnav > .children .w .link.level1:hover {
	opacity: 1;
}
.nav .gnav > .children .w .link.level1 > .middle {
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
}
.nav .gnav > .children .w:hover .drop-menu {
	height: 320px;
}
.nav .gnav .drop-menu {
	display: none;
}

.nav .gnav > .children .drop-menu {
	bottom: 60px;
	position: absolute;
	z-index: 10000;
	display: block;
	background-color: #1f1f1f;
	color: #fff;
	height: 0;
	overflow: hidden;
	box-sizing: border-box;
	max-height: 20000px;
	-moz-transition-duration: 0.4s;
	-o-transition-duration: 0.4s;
	-webkit-transition-duration: 0.4s;
	transition-duration: 0.4s;
}
.nav .gnav > .children .drop-menu > .list {
	margin-left: auto;
	margin-right: auto;
	*zoom: 1;
}
.nav .gnav .drop-menu .children:first-child {
    margin: 0;
}
.nav .gnav > .children .drop-menu > .list > * {
	float: left;
}
.nav .gnav > .children .drop-menu > .list:after {
	clear: both;
}
.nav .gnav > .children .drop-menu > .list > .children > .link {
	padding: 20px 15px;
	text-align: left;
	box-sizing: border-box;
	background-color: #1f1f1f;
	color: #fff!important;
	font-size: 1.4rem;
	font-weight: bold;
	display: block;
}
.nav .gnav > .children .drop-menu > .list > .children > .link:hover {
	background-color: #1f1f1f;
	color: #ffd429!important;
	opacity: 1;
}
.nav .gnav > .children:hover .drop-menu {
	height: 62px;
}
.nav .gnav > .children:last-child .w .link.level1 {
	padding: 0 60px!important;
}
.nav .gnav .children .drop-menu .children:last-child a {
	color: #1f1f1f;
}


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

	.w-nav {
		height: 0;
		top: -9999px;
		position: relative;
		overflow: hidden;
	}
	.lower .trunk > .branches:first-of-type {
		height: 0;
	}	
	 .base {
		display: block;
		width: 100%;
		position: fixed;
		z-index: 100;
	}
	 .base h1 {
		display: none;
	}
	 .base .sp-menu h1 {
		display: inline-block;
		width: 240px;
		position: relative;
		top: 8px;
	}
	 .base .sp-menu h1 a {
		transition: none;
	}
	 .base .sp-menu h1 a:hover {
		opacity: 1;
	}
	 .base .sp-menu h1 img {
		 width: 100%;
	}
	 .base {
		top: 0;
		height: 50px;
		 z-index: 1001;
	}
	.base .container {
		display: none;
	}
	.drop-menu {
		display: none!important;
	}
	.nav {
		background-color: #ffd429;
		display: block;
		position: relative;
		transition: 0.3s ease-in-out;
		top: -100%!important;
	}
	.nav.m-open {
		width: 100%;
		height: 100%;
		display: block;
		top: 49px!important;
		transition: 0.3s ease-in-out;
	}
	.nav.m-close {
		top: -100%;
		transition: 0.3s ease-in-out;
	}
	.nav.m-open .gnav {
		width: 100%;
		background-color: #ffd429;
		height: 100%;
		border: none;
	}	
	.nav.m-open .gnav > .children {
		width: 100%;
		border-bottom: 1px solid #1f1f1f;
	}	
	.nav.m-open .gnav > .children:first-child {
		display: none;
	}	
	.nav.m-open .gnav > .children .w .link.level1 {
		height: 70px;
		text-align: center;
		width: 100%;
	}
	.subnav {
		display: none!important;
	}
	.sp-menu {
		display: block;
		height: 50px;
		padding: 0 20px;
		box-sizing: border-box;
		background-color: #fff;
		position: relative;
	}
	.header .container {
		padding: 0!important;
		width: 100%!important;
	}
	.sp-menu h1 {
		margin-top: 3px;
	}
	.sp-menu .sp-btn {
		position: relative;
		right: 0px;
		top: 20px;
		width: 20px;
		height: 20px;
		cursor: pointer;
		z-index: 1000000000000000;
		float: right;
	}
	.sp-menu .sp-btn span,
	.sp-menu .sp-btn span:before,
	.sp-menu .sp-btn span:after {
		width: 20px;
		height: 2px;
		background-color: #1f1f1f;
		position: absolute;
		display: inline-block;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
	.sp-menu .sp-btn span:before {
		content: "";
		top: 7px;
	}
	.sp-menu .sp-btn span:after {
		content: "";
		top: 14px;
	}
	.sp-menu .sp-btn.close-btn span,
	.sp-menu .sp-btn.close-btn span:before,
	.sp-menu .sp-btn.close-btn span:after {
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
	.sp-menu .sp-btn.close-btn span {
		transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		top: 6px;
		background-color: #1f1f1f;
	}
	.sp-menu .sp-btn.close-btn span:before {
		right: -100px;
	}
	.sp-menu .sp-btn.close-btn span:after {
		transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		top: 0;
		background-color: #1f1f1f;
	}
	.lower  .base {
		margin-top: 0px;
	}

}



