.hamburger {
  display: block;
  width: 40px;
  height: 40px;
  position: fixed;
  top: 20px;
  right: 15px;
  z-index: 10000000;
  padding: 12px 8px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #0058a4;
  border-radius: 5px;
}
.hamburger__icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #fff;
  -moz-transition-property: background-color, -moz-transform;
  -o-transition-property: background-color, -o-transform;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: -7px;
}
.hamburger__icon:after {
  top: 7px;
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #fff;
}
.hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(7px) rotate(45deg);
  -ms-transform: translateY(7px) rotate(45deg);
  -webkit-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-7px) rotate(-45deg);
  -ms-transform: translateY(-7px) rotate(-45deg);
  -webkit-transform: translateY(-7px) rotate(-45deg);
  transform: translateY(-7px) rotate(-45deg);
}

.fat-nav {
  top: 0;
  left: 0;
  z-index: 9999;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(45, 45, 45, 0.95);
  -moz-transform: scale(1.4);
  -ms-transform: scale(1.4);
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.fat-nav__wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  padding-top: 140px;
}
.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}
.fat-nav .fat-nav__wrapper > ul {
  display: table-cell;
  vertical-align: middle;
  margin: 0;
  padding: 0 50px;
}
.fat-nav li {
  list-style-type: none;
  font-size: 16px;
}
.fat-nav li, .fat-nav li a {
  color: #fff;
   padding: 10px;
}
.fat-nav li a {
  text-decoration: none;
}

/********************************************** 
	子メニュー
********************************************* */
.fat-nav li ul li a {
		padding-left: 30px;
	}

.fat-nav li.sp-parent {
	position: relative;
}
.fat-nav li.sp-parent span.plus {
	display: block;
	width: 44px;
	height: 44px;
	background: #222;
	position: absolute;
	right: 0;
	top: 0;
	z-index: +1;
}
li.sp-parent::before,li.sp-parent::after {
    content: '';
    width: 8px;
    height: 2px;
    background: #fff;
    display: block;
    position: absolute;
    right: 17px;
    z-index: 12;
}
li.sp-parent::before {
    width: 10px;
    top: 21px;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
li.sp-parent::after {
    width: 10px;
    top: 21px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

li.sp-parent._open::after {
	display: none;
}
ul li ul li {
	background: url(../images/menu_line.png) 7px center/22px no-repeat;
}
ul li ul li:last-child {
	background: url(../images/menu_line_last.png) 7px center/22px no-repeat;
}

/* 1200px以上 */
@media (min-width: 1200px) {
	.fat-nav {
		display: none !important;
	}
	.hamburger {
		display: none !important;
	}
	
}


@media (max-width: 767px) {
	.hamburger {
		top: 8px;
		right: 8px;
	}
	.fat-nav__wrapper {
	    display: block;
	    padding: 80px 0 40px;
	}
	.fat-nav .fat-nav__wrapper > ul {
	    display: block;
		width: 100%;
	    padding: 0;
	}
	.fat-nav li {
		padding: 0;
	}
	.fat-nav li a {
		display: block;
		padding: 10px 10px 10px 40px;
		font-size: 1.4rem;
	}
	.fat-nav li ul li a {
		padding-left: 70px;
	}
	
}
@media (min-width: 576px) {
	.nav-sp {
		display: none;
	}
	.nav-pc {
		display: block;
	}
}

@media (max-width: 575px) {
	.nav-sp {
		display: block;
	}
	.nav-pc {
		display: none;
	}
	ul li ul li {
		background: url(../images/menu_line.png) 40px center/20px no-repeat;
	}
	ul li ul li:last-child {
		background: url(../images/menu_line_last.png) 40px center/20px no-repeat;
	}
}
