
#toggle {
    position: fixed;
    top: 25px;
    right: 25px;
}

#toggle_box {
    position: relative;
    width: 30px;
    height: 25px;
    cursor: pointer;
}

#toggle_box > span {
  width: 100%;
  height: 1px;
  left: 0;
  display: block;
  background: #000;
  position: absolute;
  transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
}

#toggle_box > span:nth-child(1) {
    top: 0;
}
#toggle_box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
}
#toggle_box > span:nth-child(3) {
    bottom: 0;
}

#toggle {
    z-index: 1000;
}

#main {
    position: relative;  
    z-index: 990;
}

#nav_content {
    z-index: 900;
    overflow: auto;
    width: 100%;
    height: 100%;
	background: #fff;
    color: #fff;
    position: fixed;
    top: 0;
    right: 0;
    text-align: center;
    transform: translateX(100%);
    transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

#nav_content .menu_logo {
    background-color: none;
    height: calc(2.44898vw + 55.81633px);
    padding-top: calc(1.55102vw + 13.18367px);
    position: relative;
}

#nav_content .menu_logo img {
    position: absolute;
	top: 50%;
    left: 8%;
    width: 50%;
    max-width: 250px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

#nav_content ul.menu {
	margin: 0 auto;
	padding: 2% 10% 20% 10%;
	height: 100%;
	overflow: auto;
}

#nav_content li.menu_item {
	list-style-type: none;
    width: 100%;
    transition: .4s all;
    border-bottom: 1px solid rgba(112,112,112,0.4);
}

#nav_content .menu_item a {
    display: block;
    color: #707070;
    padding: 5% 3%;
    text-decoration: none;
    font-weight: normal;
	text-align: left;
}

#nav_content .menu_item a:hover {
  opacity: 0.6;
}

.is_open {
    overflow: hidden;
}

.is_open #toggle_box > span {
    background: #707070;
}

.is_open #toggle_box > span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg) translatey(-50%);
}

.is_open #toggle_box > span:nth-child(2) {
  width: 0;
}

.is_open #toggle_box > span:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg) translatey(-50%);
}

.is_open #nav_content {
  z-index: 999;
  transform: translateX(0);
}

/* アコーディオンメニュー */
.menu_item_link {
	display: block;
    color: #707070;
	text-align: left;
	padding: 5% 3%;
    text-decoration: none;
	cursor:pointer;
	font-weight: normal;
	position: relative;
}

.menu_item span {
	position: absolute;
	color: #707070;
    top: 50%;
    right: 2%;
    transform: translate(-50%, -50%);
}

.sub_menu {
	display: none;
	padding: 5px 0px;
	margin-bottom: 10px;
}

.menu_item .sub_menu_item a {
	padding: 3% 3% !important;
}


/******************************************************************************************/

/* for TB & SP CSS   */

/******************************************************************************************/

/*→ボタンの横幅*/
/*横1020～768*/
@media only screen and (min-width: 768px) and (max-width: 1020px) {


	#nav_content a {
		font-size: 1.8rem;
	}

	/* アコーディオンメニュー */
	.menu_item_link {
		font-size: 1.8rem;
	}

	.menu_item span {
		font-size: 3.5rem;
	}

}

/*全タブレット*/
/*横1020～416*/
@media only screen and (min-width: 416px) and (max-width: 1020px) {

}


/*→タブレット横限定*/
/*横1024～769*/
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	
	
}


/*→タブレット縦限定*/
/*横768～416*/
@media only screen and (min-width: 416px) and (max-width: 768px) {

	#nav_content a {
		font-size: 1.6rem;
	}

	/* アコーディオンメニュー */
	.menu_item_link {
		font-size: 1.6rem;
	}

	.menu_item span {
		font-size: 3rem;
	}

}


/*全スマートフォン*/
/*横415～1*/
@media only screen and (min-width: 1px) and (max-width: 415px) {

	#nav_content a {
		font-size: 1.5rem;
	}
	
	/* アコーディオンメニュー */
	.menu_item_link {
		font-size: 1.5rem;
	}

	.menu_item span {
		font-size: 2rem;
	}

}


/*→スマートフォンiPhone5以前限定*/
/*横320～1*/
@media only screen and (min-width: 1px) and (max-width: 320px) {
		
}


