@charset "UTF-8";

.btn_mega_close {
	position: absolute;
	background: url('../asset/img/common/mega_close.svg');
	width: 30px;
	height: 20px;
	right: 5vw;
	top: 70px;
	display:none;
	cursor: pointer;
}

header .gnav li .pull.active > a {
	color: #7C7C7C;
}

header .gnav .pull > a::after{
	content: '';
	position: static;
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	background: url('../asset/img/common/menu_plus.svg');
}

header .gnav .pull.active > a::after {
	background: url('../asset/img/common/menu_minus.svg');
	height: 0.1rem;
	position:relative;
	top:-0.5rem;
}

header .gnav .pull.mega ul {
	padding: 35px 4vw !important;
}

header .gnav .pull.mega ul li{
	float:left;
}

header .gnav .pull.mega ul li > a {
	padding: 0;
	width: 100%;
	transition: 0.3s all;
}

header .gnav .pull.mega ul li > a:hover {
	opacity: 0.85;
}

header .gnav .pull.mega ul li {
	display:flex;
	flex-wrap: wrap;
	width: calc(78% - 12.5px);
}

header .gnav .pull.mega ul li:first-child {
	width: calc(22% - 12.5px);
	margin-right:25px;
}

header .gnav .pull.mega ul li:last-child {
	width:100%;
	display: none;
}

header .gnav .pull.mega ul li .mega-img {
	width: 100%;
	position: relative;
}

header .gnav .pull.mega ul li .mega-img img {
	width: 100%;
	height: auto;
}

header .gnav .pull.mega ul li .mega-img p {
	width: 100%;
    position: absolute;
    /*top: calc(50% - 0.8rem);*/
    top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
    text-align: center;
    font-size: 1.165vw;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 3px 6px rgba(0,0,0,0.16);
    padding-bottom:0;
}

header .gnav .pull.mega ul li .mega-img p img{
	width: 1.165vw;
    position: absolute;
    top: 1.4vw;
    right: 4vw;
}

header .gnav .pull.mega ul li p {
	white-space: pre-wrap;
	font-weight: 300;
    font-size: 0.98vw;
}

header .gnav .pull.mega ul li p span {
	font-weight: 600;
    font-size: 1.025vw;
    padding: 28px 0 8px;
}

header .gnav .pull.mega ul li > div > p {
	font-weight: 600;
    font-size: 0.93vw;
    padding-bottom: 0.6vw;
}

header .gnav .pull.mega li a,
header .gnav .pull.mega li span {
    display:block;
    position: relative;
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
}

/* 上側 */
header .unav li.sub {
	margin-left: 0;
}

header .unav li.sub a {
	padding: 0 1vw;
}

header .unav li.sub a {
	border-right: solid 1px #C9C9C9;
}

header .unav li.sub:nth-child(2) a {
	border-right: 0;
}

.btn_login.signin {
	background: #3A3A3A;
}

/* 右側 */
header .gnav .pull.mega ul li > div {
	margin-bottom: 30px;
	width:100%;
}

header .gnav .pull.mega ul li > div > a {
	display: block;
	float: left;
	width: calc(25% - 13.5px);
	margin-right: 18px;
	transition: 0.3s all
}

header .gnav .pull.mega ul li > div > a:hover {
	opacity:0.85;
}

header .gnav .pull.mega ul li > div > a:last-child {
	margin-right: 0;
}

header .gnav .pull.mega ul li > div .mega-img p {
	font-size: 1.5vw;
	font-weight: 500;
}

header .gnav .pull.mega ul li > div .mega-img p small {
	font-size: 0.7vw;
	font-weight: 500;
}

header .gnav .pull.mega ul li > div .mega-img p small.alt {
	font-size: 0.9vw;
	font-weight: 500;
}

header .gnav .pull.mega li .btn_wrapper {
	width: 100%;
	text-align: center;
	margin-bottom: 0;
}

header .gnav .pull.mega li .btn_wrapper .btn_archive {
	display: inline-block;
    background: #3A3A3A;
    color: #fff;
    padding: 0 2.5vw;
    border-radius: 999px;
    line-height: 2vw;
    font-size: 1.3rem;
    width: auto;
    float:none;
}

@media only screen and (max-width:768px) {
	header .gnav {
		margin-left: 18vw;
	}
	header .gnav > li {
		margin: 50px 0;
	}
	header .gnav > li.semi {
		padding-top: 50px;
	}
	header .gnav > li.semi:before {
		content: "";
	    border-top: 1px #707070 solid;
	    width: calc(100% - 60px);
	    display: block;
	    position: absolute;
	    left: 30px;
	    margin-top: -50px;
	}
	header .gnav > li.semi.sp,
	header .gnav > li.semi.sp:before {
		border-top:0;
		padding-top: 0;
	}
	header .gnav > li.semi a {
		font-weight: 300;
		font-size: 1.8rem;
	}
	header .gnav .an {
	    font-size: 1.8rem;
	}
	header nav.act .nav_inner {
		overflow: hidden;
	}
	header .gnav li .pull > a, header .gnav li .pull > span {
		position:relative;
		width: calc(82vw - 58px);
		font-size: 1.8rem;
	}
	header .gnav .pull {
		display: block;
	}
	header .gnav .pull ul {
		position: absolute;
		top: 0;
		margin: 28px 28px 0 calc(18vw + 28px);
		left: 100vw;
		display:none;
	}
	header .gnav li .pull.active ul {
		left: 0;
		width: 100%;
		height: 100%;
    	overflow: scroll;
	}
	header .gnav li .pull.active ul li a{
		font-size:1.8rem;
		font-weight: 600;
	}
	header .gnav .pull.mega ul li > div > a {
		margin-right: 0px;
	}
	header .gnav .pull li {
		margin: 50px 0 !important;
	}
	header .unav .sub,
	header .unav .lang{
		display: none;
	}
	header .gnav .pull > a::after {
	    content: '';
	    position: absolute;
	    display: inline-block;
	    width: 16.5px;
		height: 19.5px;
		top:2px;
		right: 0;
	    background: url(../asset/img/common/menu_arrow.svg);
	}
	.disable {
		pointer-events: none;
	}
	.submenu:before {
		display:none !important;
	}
	.btn_prev {
		position: fixed;
	    top: 28px;
	    left: 28px;
	    width: 16px;
	    height: 19px;
	    z-index: 100;
	    background: url(../asset/img/common/menu_arrowl.svg);
	    cursor: pointer;
	    display:none;
	}
	.submenu .btn_prev {
		display: block;
	}
	header .gnav .pull.mega li:first-child {
		display: none;
	}
	header .gnav .pull.mega ul {
		padding: 78px 28px  0 !important;
		margin: 0 !important;
	}
	header .gnav .pull.mega ul li {
	    display: flex;
	    flex-wrap: wrap;
	    width: 100%;
	    margin: 0 !important;
	}
	header .gnav .pull.mega ul li > div {
		width:100%;
	}
	header .gnav .pull.mega ul li > div p {
		font-size: 3.6vw;
    	font-weight: 600;
    	padding-bottom: 8px;
    	line-height: 1.6
	}
	header .gnav .pull.mega ul li > div > a {
    	width: 100%;
    	margin-bottom: 15px;
	}
	header .gnav .pull.mega ul li > div .mega-img p {
		font-size: 22px;
	}
	header .gnav .pull.mega ul li > div .mega-img p small {
	    font-size: 10px;
	}
	header .gnav .pull.mega ul li > div .mega-img p small.alt {
	    font-size: 16px;
	}
	header .gnav .pull.mega ul li > div .mega-img img {
		height: 90px;
    	object-fit: cover;
	}
	header .gnav .pull.mega li .btn_wrapper .btn_archive {
	    display: inline-block;
	    background: #3A3A3A;
	    color: #fff;
	    padding: 0 30px;
	    border-radius: 999px;
	    line-height: 2;
	    font-size: 16px;
	    width: auto;
	    float: none;
	    margin-bottom: 50px;
	}
	header .gnav li .pull > a::before, header .gnav li .pull > span::before {
		display:none;
	}
	header .gnav .pull.mega ul li > div .mega-img p img {
	    width: 16px;
	    height: 16px;
	    top: 24px;
	    right: 33%;
	}
}