#nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  max-width: 500px;
  z-index: 2;
}

@media screen and (min-width: 501px) {
  #nav {
    display: none;
  }
}

#nav .wrap {
  position: relative;
  width: 100%;
}

#nav .wrap .auth {
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: absolute;
  right: 16px;
  bottom: 76px;
}

#nav .wrap .auth .button {
  width: 70px;
  height: 70px;
  border-radius: 35px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.1));
}

#nav .wrap .auth .button p {
  font-size: 11px;
  line-height: 18px;
}

#nav .wrap .auth .button .subtext {
  font-size: 10px;
  line-height: 14px;
}

#nav .wrap .auth .register.button {
  background-color: #000000;
  color: #ffffff;
  margin-bottom: 8px;
  font-size: 10px;
  line-height: 10px;
}

#nav .wrap .auth .furusato-gift.button {
  background-color: #ffffff;
  color: #000000;
  margin-bottom: 8px;
  position: relative;
  padding-top: 12px;
}

#nav .wrap .auth .furusato-gift.button img {
  position: absolute;
  top: -12px;
  width: 42px;
  animation: sway 1.3s infinite steps(1);
}

#nav .wrap .auth .furusato-gift.button .reception {
  color: #ffffff;
  background-color: rgba(255, 46, 46, 1);
  border-radius: 100px;
  padding: 0 4px;
  line-height: 16px;
}

#nav .wrap .auth .login.button {
  background-color: #ffffff;
  color: #000000;
}

#nav .wrap .auth .login.button img {
  margin-bottom: 4px;
}

#nav .menu {
  position: absolute;
  width: 100%;
  background-color: white;
  height: 60px;
  bottom: 0;
  display: flex;
  border-radius: 24px 24px 0px 0px;
  padding: 12px 0;
}

#nav .menu a {
  width: 20%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 10px;
  line-height: 150%;
  color: #888888;
  border-right: 1px solid #f2f4f6;
}

#nav .menu a:last-child {
  border-right: none;
}

#nav .menu a svg {
  margin-bottom: 4px;
}

#nav .menu a .icon.enable {
  display: none;
}

#nav .menu a.active .icon.enable {
  display: block;
}

#nav .menu a .icon.disable {
  display: block;
}

#nav .menu a.active .icon.disable {
  display: none;
}

#nav .menu a .line {
  position: absolute;
  top: 0;
  width: 32px;
  height: 4px;
  border-radius: 0px 0px 4px 4px;
  background-color: #000000;
  display: none;
}

#nav .menu a.active .line {
  display: block;
}

#nav .menu a.active {
  color: #000000;
}
