@charset "utf-8";
/* CSS Document */
.global-nav {
	position: fixed;
	right: -320px;
	top: 0;
	width: 300px;
	height: 100vh;
	padding-top: 74px;
	background-color: #fff;
	transition: all .6s;
	z-index: 10000;
	overflow-y: auto;
	box-sizing: border-box;
}
.hamburger {
	position: fixed;
	right: 0;
	top: 0;
	width: 64px;
	height: 64px;
	cursor: pointer;
	z-index: 10001;
	background-color: #208960;
}
.global-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.global-nav__item {
	text-align: center;
	padding: 0px 14px;
	display: block;
	line-height: normal;
	font-weight: 500;
}
.global-nav__item li {
	list-style-type: none;
}
.global-nav__item.nl {
	padding: 8px 15px;
	border-bottom: 1px solid #eee;
}
.global-nav__item .nl {
	display: none;
}
.global-nav__item a {
	display: block;
	padding: 15px 0;
	border-bottom: 1px solid #eee;
	text-decoration: none;
	color: #000;
	font-size: 1.125rem;
}
.global-nav__item a:hover {
	background-color: #eee;
    opacity: 1;
    filter: alpha(opacity=100);
}
.hamburger__line {
    position: absolute;
    left: 18px;
    width: 28px;
    height: 2px;
    background-color: #FFF;
    transition: all .6s;
}
.hamburger__line--1 {
	top: 17px;
}
.hamburger__line--2 {
	top: 26px;
}
.hamburger__line--3 {
	top: 35px;
}
.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 9999;
	background-color: rgba(0,0,0,0.5);
	filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#99ffffff,EndColorStr=#99ffffff); /* IE8以下*/
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	cursor: pointer;
}
.m-tx {
	width: 100%;
	position: absolute;
	bottom: 5px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	font-size: 10px;
	letter-spacing: 0.08em;
	color: #FFF;
}
.close-tx {
	display: none;
}
/* 表示された時用のCSS */
.nav-open .global-nav {
	right: 0;
}
.nav-open .black-bg {
	opacity: .8;
	visibility: visible;
}
.nav-open .hamburger__line--1 {
	transform: rotate(45deg);
	top: 26px;
}
.nav-open .hamburger__line--2 {
	width: 0;
	left: 50%;
}
.nav-open .hamburger__line--3 {
	transform: rotate(-45deg);
	top: 26px;
}
.nav-open .open-tx {
	display: none;
}
.nav-open .close-tx {
	display: block;
}
.no-page {
	pointer-events: none;	
}

@media screen and (min-width:1025px){
	.hamburger {
		width: 100px;
		height: 100px;
		background-color: #FFF;
		box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.35);
	}
	.hamburger__line {
		width: 40px;
		height: 5px;
		left: 30px;
		background: #239260;
		background: linear-gradient(to right, #1c734c 0%, #239260 100%);
	}
	.hamburger__line--1 {
		top: 30px;
	}
	.hamburger__line--2 {
		top: 44px;
	}
	.hamburger__line--3 {
		top: 58px;
	}
	.nav-open .hamburger__line--1,.nav-open .hamburger__line--3 {
		top: 44px;
	}
	.m-tx {
		bottom: 10px;
		font-size: 12px;
	}
	.global-nav {
		padding-top: 106px
	}
	body.sub .hamburger {
		display: none;
	}
	body.sub .global-nav {
		position: static;
		right: 0;
		left: 0;
		margin: 0;
		width: auto;
		height: inherit;
		padding-top: 0;
		background-color: transparent;
		overflow-y: inherit;
	}
	body.sub .global-nav__item {
		padding: 0;
		line-height: 1;
		font-size: 1rem;
		font-weight: 400;
		margin: 0 1.5rem;
	}
	body.sub .global-nav__item a {
		border-bottom: none;
		box-sizing: border-box;
		padding: 5px;
		font-size: 1rem;
	}
	body.sub .global-nav__item a:hover {
		color: #666;
		background-color: transparent;
		opacity: 1;
	}
	body.sub .main-nav ul ul {
		display: block;
	}
	body.sub .main-nav ul {
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	body.sub  .main-nav ul {
		justify-content: center;
	}
	body.home .m-tx {
		color: #239060;
	}
}
@media screen and (max-width:640px){
	.hamburger {
		width: 64px;
		height: 64px;
	}
	.hamburger__line {
		left: 16px;
		width: 32px;
		height: 4px;
	}
	.global-nav {
		right: -100%;
		width: 100%;
	}
}
