/* menulabel */
.menulabel {
	position: relative;
	display: block;
	cursor: pointer;
}
.menulabel::after {
	content: '';
	display: table;
	clear: both;
}
a.menulabel:active, a.menulabel:focus, a.menulabel:hover {
}
body.menuopen a.menulabel:active, body.menuopen a.menulabel:focus, body.menuopen a.menulabel:hover {
}

/* burger icon */
.menulabel .burger {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}
.menulabel .burger::after {
	content: '';
	display: table;
	clear: both;
}
.menulabel .burger span, .menulabel .burger span::before, .menulabel .burger span::after {
	position: absolute;
	display: block;
	left: 50%;
	width: 100%;
	height: 2px;
	background-color: #363636;
	-webkit-transition: opacity 0.5s, visibility 0.5s, transform 0.5s, top 0.5s, bottom 0.5s;
	-moz-transition: opacity 0.5s, visibility 0.5s, transform 0.5s, top 0.5s, bottom 0.5s;
	-ms-transition: opacity 0.5s, visibility 0.5s, transform 0.5s, top 0.5s, bottom 0.5s;
	-o-transition: opacity 0.5s, visibility 0.5s, transform 0.5s, top 0.5s, bottom 0.5s;
	transition: opacity 0.5s, visibility 0.5s, transform 0.5s, top 0.5s, bottom 0.5s;
}
.menulabel .burger span {
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.menulabel .burger span::before, .menulabel .burger span::after {
	content: '';
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}
.menulabel .burger span::before {
	top: -5px;
}
.menulabel .burger span::after {
	bottom: -5px;
}
body.menuopen .menulabel .burger span {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-moz-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	-o-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}
body.menuopen .menulabel .burger span::before {
	opacity: 0;
	visibility: hidden;
}
body.menuopen .menulabel .burger span::after {
	bottom: 0;
	-webkit-transform: translateX(-50%) rotate(-90deg);
	-moz-transform: translateX(-50%) rotate(-90deg);
	-ms-transform: translateX(-50%) rotate(-90deg);
	-o-transform: translateX(-50%) rotate(-90deg);
	transform: translateX(-50%) rotate(-90deg);
}
/* END burger icon */
/* END menulabel */

/* fullscreen menu */
#fullscreenmenu {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	height: 100%;
	background-color: rgba(54, 54, 54, 0.9);
	z-index: 1098;
	color: #fff;
	overflow: hidden;
	padding-top: 100px;
}
body.menuopen #fullscreenmenu {
	padding-right: 17px;
}
#fullscreenmenu > .d-flex {
	height: 100%;
}
#fullscreenmenu .scrollcontainer {
	padding-top: 30px;
	padding-bottom: 30px;
}

/* menu container */
#fullscreenmenu .menucontainer {
	position: relative;
	height: 100vh;
	height: calc(var(--app-height) - 230px);
}
#fullscreenmenu .menucontainer > .d-flex, #fullscreenmenu .menucontainer .row {
	height: 100%;
}

#fullscreenmenu .menucontainer::before, #fullscreenmenu .menucontainer::after {
	content: '';
	position: absolute;
	display: block;
	left: 0;
	width: 100%;
	height: 30px;
	z-index: 1;
	-webkit-transition: opacity 0.5s, visibility 0.5s;
	-moz-transition: opacity 0.5s, visibility 0.5s;
	-ms-transition: opacity 0.5s, visibility 0.5s;
	-o-transition: opacity 0.5s, visibility 0.5s;
	transition: opacity 0.5s, visibility 0.5s;
	opacity: 0;
	visibility: hidden;
}
#fullscreenmenu.scroll.before .menucontainer::before, #fullscreenmenu.scroll.after .menucontainer::after {
	opacity: 1;
	visibility: visible;
}
#fullscreenmenu .menucontainer::before {
	background: rgba(54,54,54,0.6);
	background: -moz-linear-gradient(180deg, rgba(54,54,54,0.8) 0%, rgba(54,54,54,0) 100%);
	background: -webkit-linear-gradient(180deg, rgba(54,54,54,0.8) 0%, rgba(54,54,54,0) 100%);
	background: linear-gradient(180deg, rgba(54,54,54,0.8) 0%, rgba(54,54,54,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#363636",endColorstr="#363636",GradientType=1);
	top: 0;
}
#fullscreenmenu .menucontainer::after {
	background: rgba(54,54,54,0.6);
	background: -moz-linear-gradient(180deg, rgba(54,54,54,0) 0%, rgba(54,54,54,0.8) 100%);
	background: -webkit-linear-gradient(180deg, rgba(54,54,54,0) 0%, rgba(54,54,54,0.8) 100%);
	background: linear-gradient(180deg, rgba(54,54,54,0) 0%, rgba(54,54,54,0.8) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#363636",endColorstr="#363636",GradientType=1);
	bottom: 0;
}
/* END menu container */

/* fullscreen bottom */
#fullscreenmenu .fullscreenbottom {
	position: relative;
	background-color: #363636;
	padding: 30px 0;
}
#fullscreenmenu .fullscreenbottom .rangedatepicker {
	top: auto;
	bottom: 100%;
	border-radius: 4px 4px 4px 0;
}
/* END fullscreen bottom */

/* mainmenu */
#fullscreenmenu #mainmenu {
}
#fullscreenmenu #mainmenu .mainnav {
	color: inherit;
	line-height: normal;
	max-width: 660px;
	margin: 0 auto;
}
#fullscreenmenu #mainmenu nav > ul {
}
#fullscreenmenu #mainmenu nav > ul > li {
	position: relative;
	padding: 10px;
}
#fullscreenmenu #mainmenu nav a {
	text-decoration: none;
	position: relative;
	line-height: inherit;
	color: inherit;
	-webkit-transition: color 0.5s;
	-moz-transition: color 0.5s;
	-ms-transition: color 0.5s;
	-o-transition: color 0.5s;
	transition: color 0.5s;
}
#fullscreenmenu #mainmenu nav > ul > li > a {
	display: table;
	font-size: 6.4rem;
	font-family: 'Square Peg', cursive;
	padding: 10px 0;
	margin: 0 auto;
}
#fullscreenmenu #mainmenu nav > ul > li.submenutoggle > a {
	padding-right: 40px;
}
#fullscreenmenu #mainmenu nav > ul > li > a span[class^="icon-"], #fullscreenmenu #mainmenu nav > ul > li > a span[class*=" icon-"] {
	position: absolute;
	display: inline-block;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%) rotate(90deg);
	-moz-transform: translateY(-50%) rotate(90deg);
	-ms-transform: translateY(-50%) rotate(90deg);
	-o-transform: translateY(-50%) rotate(90deg);
	transform: translateY(-50%) rotate(90deg);
	-webkit-transition: transform 0.5s;
	-moz-transition: transform 0.5s;
	-ms-transition: transform 0.5s;
	-o-transition: transform 0.5s;
	transition: transform 0.5s;
	font-size: 0.3em;
}
#fullscreenmenu #mainmenu nav > ul > li[status="open"] > a span[class^="icon-"], #fullscreenmenu #mainmenu nav > ul > li[status="open"] > a span[class*=" icon-"] {
	-webkit-transform: translateY(-50%) rotate(270deg);
	-moz-transform: translateY(-50%) rotate(270deg);
	-ms-transform: translateY(-50%) rotate(270deg);
	-o-transform: translateY(-50%) rotate(270deg);
	transform: translateY(-50%) rotate(270deg);
}
#fullscreenmenu #mainmenu nav > ul > li:not(:last-child)::after {
}
#fullscreenmenu #mainmenu nav > ul > li > ul {
	display: none;
	padding-bottom: 10px;
}
#fullscreenmenu #mainmenu nav > ul > li > ul > li {
}
#fullscreenmenu #mainmenu nav > ul > li > ul > li > a {
	display: block;
	font-size: 2.4rem;
	padding: 5px 0;
	font-family: 'Sawarabi Mincho', serif;
}
#fullscreenmenu #mainmenu nav > ul > li > a:hover,
#fullscreenmenu #mainmenu nav > ul > li.active > a,
#fullscreenmenu #mainmenu nav > ul > li > ul > li > a:hover,
#fullscreenmenu #mainmenu nav > ul > li > ul > li.active > a {
	color: #ccc;
}
/* END mainmenu */
/* END navigation */

/* highlights */
/*
#fullscreenmenu .highlights {
	position: relative;
	overflow: hidden;
}
#fullscreenmenu .highlights > .foto {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}
#fullscreenmenu .highlights.hasimage .bgimage {
	position: absolute;
	display: block;
	height: auto;
	margin: auto;
	width: 100%;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	z-index: 0;
}
/* END highlights */

/* social */
/*
#fullscreenmenu .social {
	position: absolute;
	display: block;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	background: rgb(15,55,89);
	background: -moz-linear-gradient(90deg, rgba(15,55,89,1) 0%, rgba(63,182,230,1) 100%);
	background: -webkit-linear-gradient(90deg, rgba(15,55,89,1) 0%, rgba(63,182,230,1) 100%);
	background: linear-gradient(90deg, rgba(15,55,89,1) 0%, rgba(63,182,230,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0f3759",endColorstr="#3fb6e6",GradientType=1);
}
#fullscreenmenu .social.metanav nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#fullscreenmenu .social.metanav nav ul li {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	border-top: 1px solid #404040;
}
#fullscreenmenu .social.metanav nav ul li:not(:last-child) {
	border-right: 1px solid #404040;
}
#fullscreenmenu .social a {
	display: block;
	text-align: center;
	font-size: 27px;
	color: #fff;
	padding: 9px 15px;
	line-height: normal;
}
#fullscreenmenu .social a:hover, #fullscreenmenu .social a:active, #fullscreenmenu .social a:focus {
	background-color: #fff;
	color: #404040;
}
/* END social */

/* effects */
#fullscreenmenu.animate-top, #fullscreenmenu.animate-bottom, #fullscreenmenu.animate-left, #fullscreenmenu.animate-right {
	-webkit-transition: transform 0.5s 0s;
	-moz-transition: transform 0.5s 0s;
	-ms-transition: transform 0.5s 0s;
	-o-transition: transform 0.5s 0s;
	transition: transform 0.5s 0s;
}

/* fade effect */
#fullscreenmenu.animate-fade {
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity 0.5s 0s, z-index 0s 0.5s;
	-moz-transition: opacity 0.5s 0s, z-index 0s 0.5s;
	-ms-transition: opacity 0.5s 0s, z-index 0s 0.5s;
	-o-transition: opacity 0.5s 0s, z-index 0s 0.5s;
	transition: opacity 0.5s 0s, z-index 0s 0.5s;
	z-index: -100;
}
body.menuopen #fullscreenmenu.animate-fade {
	opacity: 1;
	pointer-events: auto;
	-webkit-transition: opacity 0.5s 0.1s, z-index 0s;
	-moz-transition: opacity 0.5s 0.1s, z-index 0s;
	-ms-transition: opacity 0.5s 0.1s, z-index 0s;
	-o-transition: opacity 0.5s 0.1s, z-index 0s;
	transition: opacity 0.5s 0.1s, z-index 0s;
	z-index: 990;
}
/* END fade effect */

/* top effect */
#fullscreenmenu.animate-top {
	bottom: auto;
	top: 0;
	-webkit-transform: translateY(-100%);
	-moz-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-o-transform: translateY(-100%);
	transform: translateY(-100%);
}
body.menuopen #fullscreenmenu.animate-top {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}
/* END top effect */

/* bottom effect */
#fullscreenmenu.animate-bottom {
	bottom: 0;
	top: auto;
	-webkit-transform: translateY(100%);
	-moz-transform: translateY(100%);
	-ms-transform: translateY(100%);
	-o-transform: translateY(100%);
	transform: translateY(100%);
}
body.menuopen #fullscreenmenu.animate-bottom {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}
/* END bottom effect */

/* left effect */
#fullscreenmenu.animate-left {
	left: 0;
	right: 0;
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	-o-transform: translateX(-100%);
	transform: translateX(-100%);
}
body.menuopen #fullscreenmenu.animate-left {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
/* END left effect */

/* right effect */
#fullscreenmenu.animate-right {
	left: 0;
	right: 0;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-ms-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
}
body.menuopen #fullscreenmenu.animate-right {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
/* END right effect */
/* END effects */
/* END fullscreen menu */

/* responsive */
/* desktop large */
@media (max-width: 1600px) {
	#fullscreenmenu #mainmenu nav > ul > li > a {
		font-size: 6rem;
	}
	#fullscreenmenu #mainmenu nav > ul > li.submenutoggle > a {
		padding-right: 36px;
	}
	#fullscreenmenu #mainmenu nav > ul > li > ul > li > a {
		font-size: 2.2rem;
	}
}
/* END desktop large */

/* desktop */
@media (max-width: 1440px) {
}
/* END desktop */

@media (max-width: 1200px) {
}

/* tablet */
@media (max-width: 1080px) {
	#fullscreenmenu {
		padding-top: 80px;
	}
	#fullscreenmenu .menucontainer {
		height: 100vh;
		height: calc(var(--app-height) - 197px);
	}
	body.menuopen #fullscreenmenu {
		padding-right: 0;
	}
	#fullscreenmenu #mainmenu nav > ul > li {
		padding: 0;
	}
	#fullscreenmenu #mainmenu nav > ul > li > a {
		font-size: 5rem;
	}
	#fullscreenmenu #mainmenu nav > ul > li.submenutoggle > a {
		padding-right: 30px;
	}
	#fullscreenmenu #mainmenu nav > ul > li > ul > li > a {
		font-size: 2rem;
	}
}
/* END tablet */

@media (max-width: 800px) {
}

/* smartphone */
@media (max-width: 640px) {
	#fullscreenmenu {
		height: 100vh;
		height: calc(100% - 60px);
	}
	#fullscreenmenu .menucontainer {
		height: 100vh;
		height: calc(var(--app-height) - 233px);
	}
	#fullscreenmenu #mainmenu nav > ul > li > a {
		font-size: 4.4rem;
	}
	#fullscreenmenu #mainmenu nav > ul > li > a span[class^="icon-"], #fullscreenmenu #mainmenu nav > ul > li > a span[class*=" icon-"] {
		font-size: 0.4em;
	}
	#fullscreenmenu .fullscreenbottom {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	#fullscreenmenu .fullscreenbottom .rangedatepicker {
		top: auto;
		bottom: 93px;
		border-radius: 0;
	}
}
/* END smartphone */

@media (max-width: 480px) {
	#fullscreenmenu #mainmenu nav > ul > li > a {
		font-size: 4rem;
	}
	#fullscreenmenu #mainmenu nav > ul > li.submenutoggle > a {
		padding-right: 20px;
	}
	#fullscreenmenu #mainmenu nav > ul > li > ul > li > a {
		font-size: 1.9rem;
	}
}

/* smartphone small */
@media (max-width: 420px) {
}
/* END smartphone small */

@media (max-width: 360px) {
}
/* END responsive */
