/* nav */
.nav-menu,.nav-menu ul,.nav-menu li,.nav-menu a { margin: 0; padding: 0; line-height: normal; list-style: none; display: block; position: relative; }
.nav-menu ul { opacity: 0; position: absolute; top: 100%; left: -9999px; z-index: 999; -webkit-transition: opacity .3s; transition: opacity .3s; }
.nav-menu li:hover > ul { left: -13px; opacity: 1; z-index: 1000; }
.nav-menu ul li:hover > ul { top: 0; left: 100%; }
.nav-menu li { cursor: default; float: left; white-space: nowrap; }
.nav-menu ul li { float: none; }

/* sub width */
.nav-menu ul { min-width: 10em; 
  padding: 10px 0px; background: #fafafa; box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

/* root */
.nav-menu a {
  padding: 10px 16px;
  color: #000;
  font-weight: normal;
  font-size:var(--font-f06);
  line-height: 40px;
  text-decoration: none;
}
@media screen and (max-width: 1450px) {
.nav-menu a {
  padding: 10px 12px;
  font-size:var(--font-f05);
}
}

@media screen and (max-width: 1100px) {
.nav-menu a {
  padding: 10px 10px;
  font-size: 16px;
}
}

/* root: active */
.nav-menu > li > .nav-active { }

/* root: hover/persistence */
.nav-menu a:hover,.nav-menu a:focus,.nav-menu li:hover a {
  color: var(--color-c01);
}

/* 2 */
.nav-menu li ul{ text-align: left; 
}
.nav-menu li li a, .nav-menu li:hover li a {
  padding: 8px 30px;
  color: #666;
  font-size:var(--font-f04);
  line-height: normal;
}
@media screen and (max-width: 1450px) {
.nav-menu li li a, .nav-menu li:hover li a {
  font-size:var(--font-f03);
}
}

/* 2: hover/persistence */
.nav-menu li:hover li a:hover,.nav-menu li:hover li a:focus,.nav-menu li:hover li:hover a {
  color: var(--color-c01);
}

/* 3 */
.nav-menu li:hover li:hover li a {
  color: #666;
}

/* 3: hover/persistence */
.nav-menu li:hover li:hover li a:hover,.nav-menu li:hover li:hover li a:focus,.nav-menu li:hover li:hover li:hover a {
  color: var(--color-c01);
}

/* 4 */
.nav-menu li:hover li:hover li:hover li a {
  background: #333;
}

/* 4: hover */
.nav-menu li:hover li:hover li:hover li a:hover,.nav-menu li:hover li:hover li:hover li a:focus {
  background: #222;
}

/* vertical */
.nav-vertical { max-width: 220px; }
.nav-vertical ul { top: 0; left: -9999px; }
.nav-vertical li { width: 100%; float: none; }
.nav-vertical li:hover > ul { left: 100%; }