/* Start Navigation Bar */
/*layout ----------------------------- */

.main-manu{display:none;}
#sub-menu-sp{
				position:relative;
				z-index:30;
				text-align:left;
				text-transform:uppercase;
}
#sub-menu-sp *{font-size:100%;font-size:1.6rem !important;}

#sub-menu-sp a{	color:#333;}
#sub-menu-sp p{	text-align:left;}

/*button(Hamburger) ----------------------------- */

.gnav-wrapper{
				display:none;
				width:100%;
				clear:both;
				float:none;
				overflow-y:scroll;
}
#menu_btn{
				position:fixed;
				top:12px;
				right:9px;
				width:50px;
				height:50px;
				cursor:pointer;
				z-index:50;
				background-color:var(--color-base-1);
				}
#menu_btn div{
				width:30px;
				margin:0 auto;
				display:block;
				position:absolute;
				top:50%;
				left:50%;
				transform: translate(-50% ,-50%);
				}
#menu_btn span{
				border:1px solid #fff;
				width:26px;
				margin:0 auto 7px;
				display:block;
				transition: .2s;
				}
#menu_btn .third{
				margin-bottom:0;
				}
#menu_btn.active .first{
				transform:rotate(45deg);
				margin-top:15px;
				}
#menu_btn.active .second{
				transform:rotate(135deg);
				position:relative;
				top:-9px;
				}
#menu_btn.active .third{
				display:none;
				}

/*@media only screen and ( max-width : 767px ) */

.overlay {
				width: 0;
				height: 0;
				position: fixed;
				z-index: 30;
				top: 0;
				left: 0;
				opacity: 0;
				transition: opacity .5s;
				background: rgba(0,0,0,.5);
				}
.overlay.open {
				width: 100%;
				height: 100%;
				opacity: 1;
				}
#main-wrapper {
				min-height: 100vh;
				}
#main-wrapper.open {
				position: fixed;
				width: 100%;
				}
#nav-sub {
				opacity: 0;
				visibility: hidden;
				width: 100%;
				height: 100%;
				overflow: auto;
				padding: 6rem 0;
				background:var(--color-bg-body);
				position: fixed;
				top: 0;
				right: 0;
				z-index:32;
				transition: .3s linear;
				}
#nav-sub.open {
				opacity: 1;
				visibility: visible;
				}
#nav-sub ul{
				margin:1.2rem auto;
				display:flex;
				flex-wrap:wrap;
				flex-direction:column;
				justify-content:space-between;
				}
#nav-sub .nav li {
				padding:0;
				width:90%;
				margin:0 auto 2%;
}
#nav-sub .nav > li > ul li {
	width:100%;
	padding-left:1em;
}

#nav-sub li a {
				padding:0;
				display: block;
				position: relative;
				padding: 0;
				}
#nav-sub ul > li a {
				border-bottom:1px solid var(--color-base-1);
				}
#nav-sub ul > li > ul{
				width:100%;
				display:grid;
				grid-template-columns: repeat(1,1fr);
				gap:0;
				}
#nav-sub ul > li > ul li a {
				border:none 0;
				}
#nav-sub ul > li > ul li a:before{
				content:"";
				position:absolute;
				top:50%;
				/*right:calc(100% + 12px);*/
				right:calc(100% + 1em - 8px);
				width:8px;
				height:6px;
				background:var(--color-base-1);
				clip-path: polygon(0 0, 100% 50% ,0 100% );
				transform:translateY(-50%);
				}