/*
- Name: megamenu.js - style.css
- Version: 1.0
- Latest update: 29.01.2016.
- Author: Mario Loncarek
- Author web site: http://marioloncarek.com
*/


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Body - not related to megamenu
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.description {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.menu-container {
	width: 100%;
	margin: 0 0 0;
}

.menu-container * {
	box-sizing: border-box;
}

.menu-container a {
	color: #666;
}

.menu-mobile {
	display: none;
}

.menu > ul {
	display: flex;
	justify-content: center;
	margin: 0;
	width: 100%;
	list-style: none;
	padding: 0;
	position: relative;
	box-sizing: border-box;
	/* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
}

.menu > ul > li {
	width: 16%;
	line-height: 2;
	box-sizing: border-box;
	margin: 0;
	list-style: none;
	position: relative;
	text-align: center;
}

.menu > ul > li a {
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 4px;
	display: block;
	box-sizing: border-box;
	transition: all .3s;
}

.menu ul li.current a,
.menu > ul > li a:hover {
	color: #f4bc48;
}

.menu > ul > li a span.menu_ttl_txt {
	display: block;
	color: #95c6e8;
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: 1px;
	font-family: "A P-OTF PuhuHoliday Min2";
	line-height: 1.2;
}

.menu > ul > li .sub-menu {
	/* display: none; */
	width: 100%;
	padding: 0;
	margin: 0;
}

.menu > ul > li .sub-menu li {
	list-style: none;
}

.menu > ul > li .sub-menu li a {
	opacity: 0;
	position: relative;
	font-size: 16px;
	font-size: 1.6rem;
	color: #fff;
	background-color: #95c6e8;
	border: 1px solid #fff;
	line-height: 0;
	padding: 0;
	border-radius: 10px;
	transform: scaleY(0);
	transition: .3s;
}

.menu > ul > li .sub-menu.active li a {
	line-height: 2;
	padding: 15px 0;
	opacity: 1;
	transform: scaleY(1);
}

.menu > ul > li .sub-menu li a::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	content: '';
	transition: all .3s;
	border: 1px dashed #fff;
	border-radius: 5px;
}

.menu > ul > li .sub-menu li a:hover,
.menu > ul > li .sub-menu li.current a {
	background-color: #71b4e3;
}



/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 1024px) {
	.header_logo_area {
		position: fixed;
		z-index: 1000000;
		top: 0;
		left: 0;
		background-color: #fff;
		width: 100%;
		height: 75px;
		padding: 0;
		box-shadow: 0px 4px 5px -2px rgba(10,10,10,0.1);
	}

	.mobile_header {
		position: relative;
	}

	.menu-container {
		width: 100%;
	}

	.menu-mobile {
		display: block;
	}

	.menu-dropdown-icon:before {
		display: block;
	}

	.menu {
		/* z-index: 99; */
		position: fixed;
		top: 0;
		left: 150%;
		width: 100%;
		transition: all 0.5s;
		z-index: 9999;
	}

	.menu.panelactive {/* メニューボタンが押されたら左に出す設定 */
		height: 100%;
		left: 0%;
		transition: all 0.5s;
	}

	.menu > ul {
		height: unset;
		display: block;
		padding: 0;
		overflow-y: scroll;
		/* height: 500px; */
		height: 45%;
	}

	.menu > ul > li {
		width: 100%;
		float: none;
		display: block;
		position: relative;
		font-size: 1.8rem;
		padding: 0;
	}

	.menu > ul > li a {
		font-size: 16px;
		font-size: 1.6rem;
		padding: 15px 0;
		width: 100%;
		display: block;
		/* text-align: left; */
		background: #fffce8;
		border-bottom: 1px dashed #ccc;
	}

	.menu > ul > li.current a,
	.menu > ul > li a:hover,
	.menu > ul > li .sub-menu li a:hover,
	.menu > ul > li .sub-menu li.current a {
		color: #f4bc48;
		background-color: #fff;
	}

	.menu > ul > li a span.menu_ttl_txt {
    font-size: 13px;
    font-size: 1.3rem;
	}

	.menu > ul > li .sub-menu {
		display: flex;
		flex-wrap: wrap;
		padding: 0;
		margin: 0;
		background: #fffce8;
		border-bottom: 1px dashed #ccc;
	}

	.menu > ul > li .sub-menu li {
		width: 50%;
	}

	.menu > ul > li .sub-menu li a {
		font-size: 15px;
		font-size: 1.5rem;
		padding: 15px 0;
		line-height: 2;
		opacity: 1;
		transform: scaleY(1);
		color: #666;
		background: #fffce8;
		border: none;
		border-radius: 0;
		border-bottom: 1px dashed #ccc;
	}

	.menu > ul > li .sub-menu li:nth-child(odd) a {
		border-right: 1px dashed #ccc;
	}

	.menu > ul > li .sub-menu li:last-child a {
		border-bottom: none;
	}

	.menu > ul > li .sub-menu li a::before {
		position: unset;
		border: none;
	}

	.headernav_btn a {
		text-align: center;
		font-size: 10px;
		font-size: 1.0rem;
		line-height: 1.5;
		padding: 12px 0 7px;
		/* line-height: 0.5; */
		/* padding: 12px 0 12px; */
		color: #fff;
		/* color: #ee6464; */
		/* background-color: #e87e7e; */
		background: linear-gradient(45deg,
			#feda75 0%,
			#fa7e1e 25%,
			#d62976 50%,
			#962fbf 75%,
			#4f5bd5 100%
		);
	}

	.headernav_btn a:hover {
		/* background-color: #cb6d6d; */
	}

	.headernav_btn a i {
		font-size: 35px;
		font-size: 3.5rem;
	}

	.headernav_btn a img {
		/* width: 30px; */
		/* margin: 0 auto 5px; */
	}

	.page-top {
	}

	.page-top a {
		font-size: 15px;
		font-size: 1.5rem;
		color: #fff;
		padding: 5px 0 15px;
		border-radius: 0;
		border: unset;
	}

}


/*==================================
グローバルメニューのボタンの設定
==================================*/

.overlay {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background-color: rgba(0,0,0,.7);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 150;
	opacity: 0;
	transition: opacity .5s;
	overflow: hidden;
	/* z-index: 999; */
}

.overlay.open {
	width: 100%;
	height: 100%;
	opacity: 0;
}

@media screen and (max-width : 1024px) {
	.openbtn1 {
		position: relative;/*ボタン内側の基点となるためrelativeを指定*/
		position: fixed;
		top: 10px;
		right: 5px;
		border-radius: 10px;
		cursor: pointer;
		width: 65px;
		height: 65px;
		z-index: 9999999999;
	}

	/*ボタン内側*/
	.openbtn1 span {
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 50%;
		height: 5px;
		border-radius: 2px;
		background-color: #f39800;
		width: 55%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}

	.openbtn1 span:nth-of-type(1) {
		top: 18%;
	}

	.openbtn1 span:nth-of-type(2) {
		top: 37%;
	}

	.openbtn1 span:nth-of-type(3) {
		top: 56%;
	}

	/*activeクラスが付与されると線が回転して×に*/
	.openbtn1.active span:nth-of-type(1) {
		top: 25%;
		left: 23%;
		transform: translateY(6px) rotate(-45deg);
		width: 55%;
	}

	/*真ん中の線は透過*/
	.openbtn1.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn1.active span:nth-of-type(3) {
		top: 44%;
		left: 23%;
		transform: translateY(-6px) rotate(45deg);
		width: 55%;
	}

	.openbtn1 p {
		position: absolute;
		top: 80%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		font-size: 1.2rem;
		font-size: 12px;
		color: #f39800;
		margin: 0;
	}

	/*==================================
	メニューを開いたら背景が暗くなる
	==================================*/
	.overlay.open {
		width: 100%;
		height: 100%;
		opacity: 0.5;
		position: fixed;
		z-index: 9;
	}

}

