.hamburger {
  display: block;
  width: 60px;
  height: 65px;
  padding: 10px 10px;
  background-color: var(--blue01);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  -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;
}

.hamburger:before {
    content: "メニュー";
    white-space: nowrap;
    position: absolute;
    top: 40px;
    left: 14px;
    transform: translateX(-50%);
    font-size: 10px;
    transform: scale(0.8);
	  transform-origin:0 0;
    font-weight: bold;
    letter-spacing: 0;
    color: var(--white);
}
.hamburger.active:before {
  content: "閉じる";
  left: 17px;
}





.hamburger__icon {
  position: relative;
  margin-top: 12px;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 30px;
  height: 1px;
  background-color: var(--white);
  -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 .hamburger__icon{
	width: 25px !important;
  left: 50%;
  transform: translateX(-50%);
}
.hamburger .hamburger__icon:before{
	width: 100% !important;
}
.hamburger .hamburger__icon:after {
	width: 100% !important;
}



.hamburger.active .hamburger__icon{
	width: 25px !important;
}
.hamburger.active .hamburger__icon:before{
	width: 100% !important;
}
.hamburger.active .hamburger__icon:after {
	width: 100% !important;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: -9px;
}
.hamburger__icon:after {
  top: 9px;
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #ffffff;
}
.hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(9px) rotate(45deg);
  -ms-transform: translateY(9px) rotate(45deg);
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg);
  background-color: var(--white);
}
.hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-9px) rotate(-45deg);
  -ms-transform: translateY(-9px) rotate(-45deg);
  -webkit-transform: translateY(-9px) rotate(-45deg);
  transform: translateY(-9px) rotate(-45deg);
  background-color: var(--white);
}
.fat-nav {
  top: 0;
  right: -150%;
  z-index: 996;
  position: fixed;
  display: none;  
  width: 80%;
  max-width: 300px;
  height: 100%;
  background: #fff;   
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
  -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;
      -webkit-transition: all 0.7s ease;
	-moz-transition: all 0.7s ease;
	-o-transition: all 0.7s ease;
	transition: all  0.7s;
}
.fat-nav__wrapper {
  transform: translateY(0) !important;
  margin:0 auto;
  height: 100%;
  max-width:1100px;
  -webkit-box-sizing: border-box;
         -moz-box-sizing: border-box;
           -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
              box-sizing: border-box;
}
.fat-nav.active {
	right: 0;
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
    -webkit-transition: all 1.2s ease;
	-moz-transition: all 1.2s ease;
	-o-transition: all 1.2s ease;
	transition: all  1.2s;
}
body.no-scroll{
	overflow: hidden;
}
body.no-scroll::before {
	background: rgba(0,0,0,.5);
	content: '';
	display: block;
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 100;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: all 0.7s ease;
	-moz-transition: all 0.7s ease;
	-o-transition: all 0.7s ease;
	transition: all 0.7s;
 }

