.hamburger {
  display: block;
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 9991;
  height:80px;
  width:80px;
  text-align:center;
  background-color:#31bae0;
}



.hamburger__icon {
  position: relative;
  display: block;
  height: 80px;
  width: 80px;
}
/*
.hamburger::after {
  content: "MENU";
  display: block;
  position: absolute;
  top: 55px;
  left: 50%;
  transform: translateX(-50%);
  font-size: .75rem !important;
  font-weight: 600;
  color: #fff;
}*/


.hamburger__icon:before,
.hamburger__icon:after {
  content: "";
  display: block;
  height: 2px;
  width: 40px;
  background-color: #fff;
  position: absolute;
  left: 20px;
  transition: 0.4s ease;
}

.hamburger__icon:before {
  top: 30px;
}
.hamburger__icon:after {
  top: 42px;
}

.hamburger.active .hamburger__icon:before,
.hamburger.active .hamburger__icon:after {
  background-color: #fff;
  top: 40px; /* 中央に移動 */
}

.hamburger.active .hamburger__icon:before {
  transform: rotate(45deg);
}

.hamburger.active .hamburger__icon:after {
  transform: rotate(-45deg);
}

.fat-nav {
  top: 0;
  left: 0;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  background: #31bae0;
  background: #c8edf7;
  -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-x: hidden;
  -webkit-overflow-scrolling: touch;
  box-sizing:border-box;
  z-index: 9990;
}

.fat-nav .brand_wrap{
  color: #fff;
  position: absolute;
  top:50%;
  left: 20%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  text-align: center;
}
.fat-nav .brand{
  margin-bottom: 60px;
  line-height: .9;
}
.fat-nav .name{
  font-size: 2.5rem;
  margin-bottom: 40px;
}
.fat-nav .sub_name{
  font-size: 24px;
}

.fat-nav .sns{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin: 0;
  padding: 0;
  font-weight: lighter;
}
.fat-nav .sns li{
  margin: 0 1rem;
}
.fat-nav .sns li a{
   color: #000;
}
.fat-nav__wrapper {
  position: relative;
  width:100%;
  height: 100%;
  margin:0 auto;
}
/*
.fat-nav__wrapper::after{
  content:"";
  position: absolute;
  z-index: 2;
  width: 80px;
  height: 100%;
  top:0;
  left: 0;
  background:top right / contain repeat-y url(../img/bg-key-piano-left.svg);
}*/

.fat-nav__wrapper .bg_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.fat-nav__wrapper .bg_wrap video{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  width: 120% auto;
  height: 120% auto;
  opacity: .5;
}

.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}

.fat_content_wrap{
}
.fat_content_wrap .logo{
  width: 80px;
  margin: 0 auto;
  margin-bottom: 1rem;
  text-align: center;
}

.fat_content_wrap .logo img{
  width: 100%;
  height: auto;
  display: block;
}

.fat-nav .name{
  font-size: 3.5rem;
  margin-bottom: 0px;
  font-weight: 500;
  text-align: center;
}

.fat-nav .name img{
  max-width: 240px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.fat-list{
  position: absolute;
  top:50%;
  right: 20%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  color: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 25%;
}

.fat-list li{
  margin-bottom:10px;
  line-height: 1.4;
} 
.fat-list li:last-child{
  margin-bottom:0px;
}  
.fat-list li a {
  color: #000;
  position: relative;
  display: inline-block;
  font-size: 30px;
  font-family: 'Montserrat', sans-serif;
  padding: .4rem;
} 


.fat-list li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

 .fat-list li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}


/*.active .fat-inner .fat-list li:nth-child(odd) {
  animation:leftin 1s ease-in-out .5s forwards;
}

.active .fat-inner .fat-list li:nth-child(even) {
  animation:leftin 1s ease-in-out .5s forwards;
}*/

/*
.active .fat-list li:nth-child(1) {
  animation:leftin .4s ease-in-out .1s forwards;
}

.active .fat-list li:nth-child(2) {
  animation:leftin .4s ease-in-out .2s forwards;
}

.active .fat-list li:nth-child(3) {
  animation:leftin .4s ease-out .3s forwards;
}

.active .fat-list li:nth-child(4) {
  animation: leftin .4s ease-out .4s forwards;
}

.active .fat-list li:nth-child(5) {
  animation:leftin .4s ease-out .5s forwards;
}
.active .fat-list li:nth-child(6) {
  animation:leftin .4s ease-out .6s forwards;
}


@keyframes leftin {
    0% {opacity: 0;}
    100% {opacity: 1;}
} */



@media (max-width: 767px) {

 .fat-nav {overflow-y: scroll;}


.hamburger {
  display: block;
  position: fixed;
  top: 0px;
  right: 0px;
  height:60px;
  width:60px;
}

.hamburger__icon {
  position: relative;
  display: block;
  height: 60px;
  width: 60px;
}

.hamburger__icon:before,
.hamburger__icon:after {
  width: 30px;
  position: absolute;
  left: 15px;
}

.hamburger__icon:before {
  top: 23px;
}
.hamburger__icon:after {
  top: 33px;
}

.hamburger.active .hamburger__icon:before,
.hamburger.active .hamburger__icon:after {
  background-color: #fff;
  top: 30px; /* 中央に移動 */
}

.hamburger.active .hamburger__icon:before {
  transform: rotate(45deg);
}

.hamburger.active .hamburger__icon:after {
  transform: rotate(-45deg);
}




.fat-nav {
}
/*
.fat-nav__wrapper::after{
  content:"";
  position: absolute;
  z-index: 2;
  width: 40px;
  height: 100%;
  top:0;
  left: 0;
  background:top right / contain repeat-y url(../img/bg-key-piano-left.svg);
}*/

.fat-nav__wrapper .bg_wrap video{
  width: auto;
  height: 100%;
  opacity: .5;
}

.fat-nav .brand_wrap{
  color: #fff;
  position: relative;
  top:inherit;
  left: inherit;
  transform: inherit;
  -webkit-transform: inherit;
  -ms-transform: inherit;
  margin-bottom: 20px;
}

.fat-nav .brand{
  padding-top: 40px;
  margin-bottom: 20px;
}

.fat_content_wrap .logo{
  width: 60px;
  margin: 0 auto;
  margin-bottom: 1rem;
  text-align: center;
}


.fat-nav .name img{
  max-width: 140px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.fat-nav .sns{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin: 0 0 40px 0;
  padding: 0;
  font-weight: lighter;
}
.fat-nav .sns li{
  margin: 0 .8rem;
}

.fat-nav__wrapper {
  position: relative;
  width:100%;
  height: 100%;
  margin:0 auto;
  padding: 50px 20px 30px;
}


.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}

.fat-list{
  position: relative;
  top: inherit;
  right: inherit;
  transform: inherit;
  -webkit-transform: inherit;
  -ms-transform: inherit;
  color: #fff;
  list-style: none;
  margin:0px 0 0;
  padding: 0;
  width: 100%;
}

.fat-list li{
  margin-bottom:1rem;
  text-align: center;
} 
.fat-list li:last-child{
  margin-bottom:0px;
}  
.fat-list li a {
  font-size: 20px;
  padding:.1rem .3rem; 
} 



}


