@charset "utf-8";

#nav_menu{
	position: relative;
	z-index: 999;
}
.button_container {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 22px;
	width: 23px;
	cursor: pointer;
	-webkit-transition: opacity .25s ease;
	transition: opacity .25s ease;
}
.button_container.active .top {
	-webkit-transform: translateY(7px) translateX(0) rotate(45deg);
	transform: translateY(7px) translateX(0) rotate(45deg);
	background: #333;
	width: 100%;
}
.button_container.active .middle {
	opacity: 0;
	background: #333;
}
.button_container.active .bottom {
	-webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
	transform: translateY(-10px) translateX(0) rotate(-45deg);
	background: #333;
	width: 100%;
}
.button_container span {
	background: #fff;
	border: none;
	height: 2px;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.button_container span:nth-of-type(2) {
	top: 8px;
	width: 100%;
	text-align: right;
}
.button_container span:nth-of-type(3) {
	top: 17px;
	width: 100%;
}
.overlay {
	position: fixed;
	background:rgba(255,255,255,0.98);
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	opacity: 1;
	visibility: hidden;
	-webkit-transition: opacity .35s, visibility .60s, right .60s;
	transition: opacity .35s, visibility .60s, right .60s;
	overflow: hidden;
  box-sizing: border-box;
}
.overlay.open {
	opacity: 1.0;
	visibility: visible;
  right: 0;
	height:100%;
	width: 100%;
	padding-right: 80px;
}

.overlay.open .menu-box .menu_list > li {
	-webkit-animation: fadeInRight .5s ease forwards;
	animation: fadeInRight .5s ease forwards;
	-webkit-animation-delay: .35s;
	animation-delay: .35s;
}
.overlay.open .menu_list > li:nth-of-type(2) {
  -webkit-animation-delay: .4s;
          animation-delay: .4s;
}
.overlay.open .menu_list > li:nth-of-type(3) {
  -webkit-animation-delay: .45s;
          animation-delay: .45s;
}
.overlay.open .menu_list > li:nth-of-type(4) {
  -webkit-animation-delay: .50s;
          animation-delay: .50s;
}
.overlay.open .menu_list > li:nth-of-type(5) {
  -webkit-animation-delay: .55s;
          animation-delay: .55s;
}
.overlay.open .menu_list > li:nth-of-type(6) {
  -webkit-animation-delay: .60s;
          animation-delay: .60s;
}
.overlay.open .menu_list > li:nth-of-type(7) {
  -webkit-animation-delay: .65s;
          animation-delay: .65s;
}
.overlay.open .menu_list > li:nth-of-type(8) {
  -webkit-animation-delay: .70s;
          animation-delay: .70s;
}
.overlay.open .menu_list > li:nth-of-type(9) {
  -webkit-animation-delay: .75s;
          animation-delay: .75s;
}
.overlay.open .menu_list > li:nth-of-type(10) {
  -webkit-animation-delay: .80s;
          animation-delay: .80s;
}
.overlay.open .menu_list > li:nth-of-type(11) {
  -webkit-animation-delay: .85s;
          animation-delay: .85s;
}
.overlay nav {
  /*
	position: absolute;
	height: 70%;
	top: 50%;
	left: 0;
	right:0;
	margin: auto;
	-webkit-transform: translateY(-50%) translateX(0%);
	transform: translateY(-50%) translateX(0%);
  */
	text-align: left;
}
.overlay .menu-box {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	width: 70%;
	position: relative;
	height: 100%;
}
.overlay .menu-box .menu_list > li {
	display: block;
	height: 10%;
	height: calc(100% / 10);
	min-height: 50px;
	position: relative;
	opacity: 0;
}
.overlay .menu-box .menu_list > li:not(:nth-of-type(11)) a {
	display: inline-block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
}
.overlay .menu-box .menu_list > li a:hover:after, .overlay .menu-box .menu_list > li a:focus:after, .overlay .menu-box .menu_list > li a:active:after {
	width: 100%;
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

/* ---------- TB ---------- */
@media screen and (max-width: 768px){
  .overlay nav {
    position: absolute;
    height: 70%;
    top: 50%;
    left: 0;
    right:0;
    margin: auto;
    -webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
    text-align: left;
  }
	.overlay.open {
    opacity: 1.0;
    visibility: visible;
    height: 100%;
    width: 100%;
    padding-right: 80px;
	}
	.button_container{
		left: auto;
		right: 10px;
	}
  .overlay .menu-box .menu_list > li:not(:nth-of-type(11)) a {
    display: block;
  }
}

@media (orientation: landscape) and (max-width: 768px){
	.overlay nav {
			overflow-y: scroll;
			box-sizing: border-box;
	}
}

/* ---------- SP ---------- */
@media screen and (max-width: 667px){
	.button_container{
		right: 10px;
		bottom: 0;
	}
	.button_container.active .top {
		background: #fff;
	}
	.button_container.active .bottom{
		background: #fff;
	}
	.overlay {
		top: 54px;
		left: 0px;
		width: 100%;
		height: 0%;
		-webkit-transition: opacity .35s, visibility .35s, height .35s;
		transition: opacity .35s, visibility .35s, height .35s;
		background: rgba(255,255,255,0.95);
		overflow: scroll;
	}
	.overlay.open{
		width: 100%;
		height: 100%;
		padding-right: 0;
		padding-bottom: 20px;
	}
	.overlay .menu-box{
		width: 80%;
	}
	.overlay nav {
		top: 50%;
		height: calc(95% - 58px);
		overflow-y: scroll;
		padding-bottom: 30px;
	}
	.overlay .menu-box .menu_list li{
		height: auto;
		min-height: auto;
	}
	.overlay .menu-box .menu_list > li:not(:nth-of-type(11)) a{
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

/* ---------- IE ---------- */
@media all and (-ms-high-contrast:none){

}