@charset "UTF-8";

header {
	height: 180px;
}
.base ,
.sp-menu {
    display: none;
}
.w-nav {
	backface-visibility: hidden;
}
.nav {
	z-index: 3;
}
.nav .gnav {
    box-sizing: border-box;
	background-color: #fff;
	overflow: hidden;
    margin: 0;
}
.nav .gnav .container {
	display: block;
}
.nav .gnav span.box01 {
	display: block;
	padding: 0 40px;
}
.nav .gnav span.box02 {
	display: block;
	background-color: #333;
}

.nav .gnav .box01 .children {
    float: left;
}
.nav .gnav .box01 .children .link {
    height: 100px;
}
.nav .gnav .box01 .children:hover a {
    background-color: transparent;
}
.nav .gnav .children:first-child img {
	transition: ease 0.3s;
	backface-visibility: hidden; 
}
.nav .gnav .box01 .children:first-child:hover {
	background-color: transparent;
}
.nav .gnav .box01 .children:first-child:hover img {
	opacity: 0.8;
	transition: ease 0.3s;
}
.nav .gnav .box01 .children .link {
	padding: 0!important;
}
.nav .gnav .box01 .right {
    width: 57%;
}
.nav .gnav .box01 .right li {
    float: left;
}
.nav .gnav .box01 .online {
    display: inline-block;
    margin-right: 30px;
    margin-top: 24px;
}
.nav .gnav .box01 .online a {
	background-color: #e34444;
    color: #fff;
    padding: 12px 20px 12px 50px;
    border-radius: 5px;
    font-size: 1.6rem;
    position: relative;
}
.nav .gnav .box01 .online a:before {
	content: url(../images/common/icon_shop.png);
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translate(0,-50%);
}
.nav .gnav .box01 .sns {
    height: 100px;
	display: table;
}
.nav .gnav .box01 .sns a {
	display: table-cell;
	vertical-align: middle;
	padding-right: 20px;
}
.nav .gnav .box01 .sns a:last-child {
	padding-right: 0px;
}

.nav .gnav span.box02 {
	display: block;
	background-color: #333;
}

.nav .gnav .children {
	display: inline-block;
	vertical-align: top;
}
.nav .gnav .children .link {
	height: 80px;
	display: table;
	padding: 0 40px;
}
.nav .gnav .children:last-child .link {
	padding-right: 0;
}
.nav .gnav .children .link {
	color: #fff;
}
.nav .gnav .children .link span {
	display: table-cell;
	vertical-align: middle;
	font-size: 2rem;
}
.nav .gnav .children .link span span.nav-span {
	display: block;
}
.nav .gnav .children.btn {
    margin-top: 9px;
    text-align: center;
}
.nav .gnav .children.btn .link {
	display: inline-block;
	width: 100%;
	height: auto;
	padding: 15px 30px 15px 40px;
	box-sizing: border-box;
}
.nav .gnav .children.btn.btn01 {
	margin-right: 10px;
}
.nav .gnav .children.btn.btn01 .link {
	background-color: #bea526;
}
.nav .gnav .children.btn.btn02 {
	margin-right: 60px;
}
.nav .gnav .children.btn.btn02 .link {
	background-color: #2a9786;
}
.nav .gnav .children.btn .link:hover {
	opacity: 0.8;
}
.nav .gnav .children.btn .link span {
	display: block;
	font-weight: bold;
}
.nav .gnav .children.btn .link span:before {
	content: "";
	position: relative;
	left: -15px;
	top: 3px;
    display: inline-block;
    width: 30px;
    height: 24px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.nav .gnav .children.btn.btn01 .link span:before {
	background-image: url(../images/common/icon_calender.png);
}
.nav .gnav .children.btn.btn02 .link span:before {
	background-image: url(../images/common/icon_kouen.png);
}

.nav .gnav .box02 .children:hover .drop-menu {
	height: auto;
	padding: 40px 0px 40px 140px;
}
.nav .gnav .box02 .children .drop-menu {
    top: 180px;
    max-width: 1120px;
    width: 100%;
    left: 50%;
    position: absolute;
    z-index: 10000;
    display: block;
    background-color: #e34444;
    height: 0;
    box-sizing: border-box;
    transition-duration: 0.3s;
    overflow: hidden;
    padding-left: 140px;
    /*max-height: calc(100vh - 140px);*/
    transform: translate(-50%,0);
}
.nav .gnav .box02 .children .drop-menu:before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: #333;
    transform: rotate(45deg);
    position: absolute;
    left: 630px;
    top: -10px;
    margin-left: -10px;
}
.nav .gnav .box02 .children .drop-menu > .list > * {
	display: inline-block;
	vertical-align: top;
}
.nav .gnav .box02 .children .drop-menu > .list:after {
	clear: both;
}
.nav .gnav .box02 .children .drop-menu p {
	font-size: 2rem;
	margin-bottom: 20px;
    color: #fff;
}
.nav .gnav .box02 .children .drop-menu > .list > .children {
	margin-right: 20px;
    vertical-align: top;
}
.nav .gnav .box02 .children .drop-menu > .list > .children:last-child {
	margin-right: 0;
}
.nav .gnav .box02 .children .drop-menu > .list > .children > .link {
    height: auto!important;
    padding: 0;
}
.nav .gnav .box02 .children .drop-menu > .list > .children > .link span {
    margin-top: 10px;
	display: block;
	position: relative;
	color: #fff;
    transition: 0.3s ease-in-out;
}
.nav .gnav .box02 .children .drop-menu > .list > .children > .link span img {
    margin-left: 10px;
    max-width: 20px;
    margin-top: -3px;
}
/* scroll resize */
header.resize .nav .gnav .box01 .children .link,
header.resize .nav .gnav .box01 .sns {
	height: 60px;
}
header.resize .nav .gnav .children .link {
    height: 69px;
}
header.resize .nav .gnav .children.btn {
    margin-top: 11px;
}
header.resize .nav .gnav .children.btn .link {
    padding: 10px 20px;
    height: auto;
}
header.resize .nav .gnav .children .link span {
    font-size: 1.6rem;
}
header.resize .nav .gnav .children.btn .link span:before {
    top: 4px;
    width: 25px;
    height: 19px;
}
header.resize .nav .gnav .box01 .online {
    margin-top: 9px;
}
header.resize .nav .gnav .box01 .online a {
    padding: 10px 20px 10px 50px;
    font-size: 1.4rem;
}
header.resize .nav .gnav .children.btn .link span:before {
    left: -10px;
}
header.resize .nav .gnav .box02 .children .drop-menu {
    top: 129px;
}
header.resize .nav .gnav .box02 .children:hover .drop-menu {
    top: 129px!important;
    padding: 20px 0px 40px 140px;
}
header.resize .nav .gnav .box02 .children .drop-menu:before {
    left: 500px;
}


@media screen and (max-width: 1140px) {
	
	header {
		height: 50px;
	}
	.header .container {
		padding: 0!important;
	}
	.base {
		display: block;
		width: 100%;
		border-bottom: 1px solid #e7e9eb;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1001;
	}
	.base h1 {
		display: none;
	}
	
	.sp-menu {
		display: block;
		height: 50px;
		padding: 0 20px;
		box-sizing: border-box;
		background-color: #fff;
	}
	.sp-menu h1 {
		display: inline-block;
		width: 160px;
		position: relative;
		top: 10px;
	}
	.sp-menu ul {
		position: absolute;
		top: 18px;
		right: 60px;
	}
	.sp-menu .sp-btn {
		position: absolute;
		right: 20px;
		top: 20px;
		width: 20px;
		height: 20px;
		cursor: pointer;
	}
	.sp-menu .sp-btn span,
	.sp-menu .sp-btn span:before,
	.sp-menu .sp-btn span:after {
		width: 20px;
		height: 2px;
		background-color: #333;
		position: absolute;
		display: inline-block;
		-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 {
		-webkit-transition: 0.3s;
		transition: 0.3s;
		background-color: #333;
	}
	.sp-menu .sp-btn.close-btn span {
		transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		top: 6px;
	}
	.sp-menu .sp-btn.close-btn span:before {
		right: -80px;
	}
	.sp-menu .sp-btn.close-btn span:after {
		transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		top: 0;
	}
	
	.nav {
		position: fixed;
		transition: 0.3s ease-in-out;
		top: -200%!important;
		width: 100%;
	}
	.nav.m-open {
		height: 100%;
		overflow: scroll;
		top: 50px!important;
	}
	.nav.m-close {
		top: -200%;
	}
	.nav .gnav {
		background-color: #efefef;
		height: auto;
	}	
	.nav.m-open .gnav {
		height: 740px;
	}	
	.nav .gnav span.box01 {
		display: none;
	}
	.nav .gnav span.box02 {
		background-color: #efefef;
		float: none;
		margin: 0;
		padding: 20px;
	}
	.nav .gnav span .children {
		width: 100%;
	}
	.nav .gnav span .children .link {
		height: auto;
		width: 100%;
		color: #333;
		padding: 20px;
	}
	.nav .gnav span .children .link span {
		font-size: 1.4rem;
		font-weight: 500;
	}
	.nav .gnav .children .link span span.nav-span {
		display: inline;
	}

	.nav .gnav .children.btn {
		margin-top: 0px;
		text-align: left;
	}
	.nav .gnav .children.btn .link {
		padding: 12px 20px 20px 40px;
		color: #fff;
	}
	.nav .gnav .children.btn.btn01 {
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.nav .gnav .children.btn.btn02 {
		margin-right: 0px;
		margin-bottom: 10px;
	}
	.nav .gnav .children.btn .link span:before {
		left: -12px;
		top: 5px;
	}
	.nav .gnav .children.btn.btn01 .link span:before {
		top: 6px;
	}
	
	.nav .gnav .box02 .children .drop-menu {
        display: none;
        height: auto;
        position: static;
        transition-duration: initial;
        transform: translate(0,0);
        padding: 20px!important;
        box-sizing: border-box;
	}
	.nav .gnav .box02 .children .drop-menu:before {
        display: none;
	}
	.nav .gnav .box02 .children .drop-menu p {
        display: none;
	}
	.nav .gnav .box02 .children .drop-menu > .list > .children {
        margin-right: 0;
        width: 100%;
        margin-bottom: 20px;
    }
	.nav .gnav .box02 .children .drop-menu > .list > .children:last-child {
        border-bottom: none;	
    }
	.nav .gnav .box02 .children .drop-menu > .list > .children > .link {
	}
	.nav .gnav .box02 .children .drop-menu > .list > .children:last-child {
		margin-bottom: 0;
	}
}

