/* header
*****************************************/
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(19, 19, 19, 0);
  z-index: 1000;
}
#header.fix {
  position: fixed;
  background-color: rgba(19, 19, 19, 0.8);
  transition: all .3s;
}
#header .headWrap {
  display: flex;
  align-items: center;
}
/*--卷軸向上捲動時選單變窄動態--*/
@keyframes headslide {
  0% {
    top: -60px;
  }
  100% {
    top: 0;
  }
}
@-webkit-keyframes headslide {
  0% {
    top: -60px;
  }
  100% {
    top: 0;
  }
}
#header .inner {
  position: relative;
  margin: 0 auto;
  width: 100%;
  background-color: rgba(255, 255, 255, 0);
}
#logo {
  height: 4.167vw;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-left: 1.563vw;
  background-color: rgba(19, 19, 19, 0);
  z-index: 10;
}
#logo .img {
  width: 19.896vw;
  height: 3.125vw;
  background-repeat: no-repeat;
  background-position: left top;
  background-image: url(../images/logo.svg);
  background-size: contain;
}
#logo .logo-slg {
  font-size: 0.625vw;
  color: #fff;
  font-weight: 400;
  padding-left: 5px;
  position: relative;
  top: -3px;
}
/*--卷軸向上捲動變化--*/
.fix #logo {
  background-color: rgba(19, 19, 19, 0);
  transition: all .3s;
}
.fix #logo .img {
  background-image: url(../images/logo.svg);
}
.fix #logo .logo-slg {
  font-weight: 500;
  color: rgba(255, 80, 30, 1);
}
.fix .outer-menu .hamburger {
  background-color: rgba(255, 80, 30, 0);
}
.fix .outer-menu .hamburger > div {
  background: rgba(255, 255, 255, 1);
}
.fix .outer-menu .hamburger > div:before, .fix .outer-menu .hamburger > div:after {
  background: rgba(255, 255, 255, 1);
}
.fix .outer-menu .hamburger > div p {
  color: rgba(255, 255, 255, 1);
  font-weight: 600;
}
.fix .outer-menu .checkbox-toggle:checked + .hamburger > div {
  background: #fff;
}
.fix .outer-menu .checkbox-toggle:checked + .hamburger > div:before, .fix .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  background: #fff;
}
.fix .outer-menu .icon .svg-line {
  filter: drop-shadow(1.875vw 0 0 #00b900);
}
.fix .outer-menu .icon .svg-fb {
  filter: drop-shadow(1.875vw 0 0 #485a96);
}
/*--選單感應區域--*/
.outer-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
}
.outer-menu .checkbox-toggle {
  position: absolute;
  top: 0.26vw; /*5*/
  right: 1.302vw; /*25*/
  z-index: 999;
  cursor: pointer;
  width: 3.125vw; /*60*/
  height: 3.125vw; /*60*/
  opacity: 0;
}
/*--三條線--*/
.outer-menu .hamburger {
  position: absolute;
  top: 0.521vw; /*10*/
  right: 1.563vw; /*30*/
  z-index: 998;
  width: 3.125vw; /*60*/
  height: 3.125vw; /*60*/
  padding: 0px;
  background-color: rgba(255, 255, 255, 0);
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.563vw; /*30*/
}
.outer-menu .hamburger > div {
  position: relative;
  top: -0.156vw; /*3*/
  flex: none;
  width: 40%;
  height: 3px;
  background: #fff;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after {
  content: '';
  position: absolute;
  z-index: 1;
  top: -0.417vw; /*8*/
  left: 0;
  width: 100%;
  height: 3px;
  transition: all 0.4s ease;
  background: #fff;
}
.outer-menu .hamburger > div:after {
  display: none;
}
.outer-menu .hamburger > div p {
  font-size: 0.521vw; /*10*/
  position: absolute;
  top: 0.417vw; /*8*/
  color: #fff;
  margin: 0;
}
/*--三條線動態--*/
.outer-menu .checkbox-toggle:checked + .hamburger {
  background-color: rgba(0, 0, 0, 0);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div {
  transform: rotate(135deg);
  background-color: rgba(255, 255, 255, 0.8);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before, .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  top: 0;
  transform: rotate(90deg);
  background-color: rgba(255, 255, 255, 0.8);
}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div p {
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div {
  transform: scale(1);
  transition-duration: 0.75s;
}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s;
}
.outer-menu .checkbox-toggle:hover + .hamburger {
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0);
}
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
  transform: rotate(225deg);
}
/*--選單icon--*/
.outer-menu .icon {
  height: 1.875vw; /*36*/
  position: absolute;
  top: 1.146vw; /*22*/
  right: 5.729vw; /*110*/
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0.781vw; /*15*/
}
.outer-menu .icon .con {
  width: 1.875vw; /*36*/
  overflow: hidden;
}
.outer-menu .icon .svg-line {
  width: 1.875vw; /*36*/
  filter: drop-shadow(1.875vw 0 0 #fff);
  transform: translateX(-1.875vw);
}
.outer-menu .icon .svg-fb {
  width: 1.875vw; /*36*/
  filter: drop-shadow(1.875vw 0 0 #fff);
  transform: translateX(-1.875vw);
  border-radius: 0.938vw; /*18*/
}
/*--選單區域--*/
.outer-menu .menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../images/menu-bgimg.webp);
  background-size: cover;
  z-index: 99;
}
.outer-menu .menu > div {
  width: 200vw;
  height: 200vw;
  color: #ffffff;
  background-color: rgba(19, 19, 19, 0.6);
  border-radius: 50%;
  transition: all 0.4s ease;
  flex: none;
  transform: scale(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  /*font-size: clamp(0.875rem, 0.78rem + 0.41vw, 1.125rem);*/
  width: 50vw;
  height: auto;
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  flex: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 3.125rem;
  background-color: rgba(255, 255, 255, 0);
}
.outer-menu .menu .nev {
  grid-column: 1 / 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.outer-menu .menu .nev i {
  padding-right: 0.625rem;
}
.outer-menu .menu .nev p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}
.outer-menu .menu .top-t {
  width: 100%;
  font-size: clamp(1.25rem, 1.16rem + 0.4vw, 1.5rem);
  padding-bottom: 1rem;
  margin-bottom: 0.625rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  text-align: center;
}
.outer-menu .menu > div > div > div {
  border: 0px solid #333;
}
.outer-menu .menu > div > div > div > ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 100vh;
  display: block;
}
.outer-menu .menu > div > div > div > ul > li {
  padding: 0.625rem 0;
  margin: 0;
  display: block;
  text-align: center;
}
.outer-menu .menu > div > div > div > ul > li > a {
  position: relative;
  display: inline;
  cursor: pointer;
  transition: color 0.4s ease;
  color: #fff;
  text-decoration: none;
}
.outer-menu .menu > div > div > div > ul > li > a:hover {
  color: #dce600;
}
.outer-menu .menu > div > div > div > ul > li > a:hover:after {
  width: 100%;
}
.outer-menu .menu > div > div > div > ul > li > a:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  background: #dce600;
  transition: width 0.4s ease;
}
/*--桌機選單--*/
.pc-menu {
  width: 100%;
  position: absolute;
  display: flex;
  justify-content: center;
}
.menu-item {
  position: relative;
  display: inline-block;
  color: #fff;
  margin: 0 0.781vw; /*15*/
}
.menu-item a {
  color: #fff;
}
.menu-link {
  height: 4.167vw;
  font-size: clamp(1rem, 0.25rem + 0.625vw, 1.25rem);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.menu-link:hover {
  color: #fff;
  outline: none;
}
.menu-link:hover:after {
  width: 100%;
}
.menu-link:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: 1.198vw; /*23*/
  left: 0;
  width: 0;
  height: 2px;
  background: #fff;
  transition: width 0.3s ease;
}
.menu-link img {
  display: none;
}
/*子選單*/
.menu-dropdown:hover {
  color: #fff;
}
.menu-dropdown:hover:after {
  width: 100%;
}
.menu-dropdown:after {
  content: '';
  position: absolute;
  z-index: 1;
  bottom: 1.198vw; /*23*/
  left: 0;
  width: 0;
  height: 2px;
  background: #fff;
  transition: width 0.3s ease;
}
.menu-dropdown:hover .submenu {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.submenu {
  position: absolute;
  top: 4.167vw;
  left: 0;
  height: auto;
  padding-top: 15px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  transition: all 0.3s ease-in-out;
}
.submenu-item {
  width: 300px;
  font-size: clamp(0.875rem, 0.5rem + 0.3vw, 1rem);
  padding: 0 15px;
  box-sizing: border-box;
  background-color: #f6f6f6;
  display: block;
}
.submenu-item a {
  width: 100%;
  padding: 15px 0;
  color: #333;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  display: block;
}
.submenu-item a:hover {
  color: rgba(255, 80, 30, 1);
  padding-left: 10px;
  border-bottom: 1px solid #ccc;
  transition: all 0.3s;
}
.submenu-item a::before {
  content: "—";
  color: rgba(255, 80, 30, 0);
  position: relative;
  top: -1px;
  left: -20px;
  font-weight: 600;
}
.submenu-item a:hover::before {
  color: rgba(255, 80, 30, 1);
  left: -10px;
  transition: all 0.3s;
}
.b-line-n, .b-line-n:hover {
  border-bottom: none !important;
}
.fix .menu-item, .fix .menu-item a {
  color: #333;
}
.fix .menu-link:hover, .fix .submenu-item a:hover, .fix .submenu-item a:hover::before, .fix .menu-dropdown:hover {
  color: rgba(255, 80, 30, 1);
}
.fix .menu-link:after, .fix .menu-dropdown:after {
  background: rgba(255, 80, 30, 1);
}
@media screen and (max-width: 1199px) {
  #header .inner {
    width: 100%;
  }
  #logo {
    height: 80px;
    padding-left: 30px;
  }
  #logo .img {
    width: 382px;
    height: 60px;
  }
  #logo .logo-slg {
    font-size: 0.75rem;
  }
  .outer-menu .checkbox-toggle {
    top: 5px;
    right: 25px;
    width: 60px;
    height: 60px;
  }
  /*--三條線--*/
  .outer-menu .hamburger {
    position: absolute;
    top: 10px;
    right: 15px;
    width: 60px;
    height: 60px;
    padding: 0px;
    border-radius: 30px;
  }
  .outer-menu .hamburger > div {
    top: -3px;
  }
  .outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after {
    top: -8px;
  }
  .outer-menu .hamburger > div p {
    font-size: 0.625rem;
    top: 8px;
  }
  /*--選單icon--*/
  .outer-menu .icon {
    height: 36px;
    top: 22px;
    right: 110px;
    grid-gap: 15px;
  }
  .outer-menu .icon .con {
    width: 36px;
  }
  .outer-menu .icon .svg-line {
    width: 36px;
    filter: drop-shadow(36px 0 0 #fff);
    transform: translateX(-36px);
  }
  .outer-menu .icon .svg-fb {
    width: 36px;
    filter: drop-shadow(36px 0 0 #fff);
    transform: translateX(-36px);
    border-radius: 18px;
  }
  .fix .outer-menu .icon .svg-line {
    filter: drop-shadow(36px 0 0 #00b900);
  }
  .fix .outer-menu .icon .svg-fb {
    filter: drop-shadow(36px 0 0 #485a96);
  }
  /*--選單區域--*/
  .outer-menu .menu > div > div {
    width: 80vw;
  }
  .pc-menu {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .outer-menu .menu > div > div {
    grid-template-columns: repeat(2, 1fr);
  }
  .outer-menu .menu .nev {
    grid-column: 1 / 3;
  }
  .outer-menu .menu .top-t {
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
  }
  .outer-menu .menu > div > div > div > ul > li {
    padding: 0.5rem 0;
  }
  .outer-menu .menu .nev p {
    font-size: 0.625rem;
    line-height: 1rem;
  }
}
@media screen and (max-width: 575px) {
  #header {
    background-color: rgba(19, 19, 19, 0);
  }
  #header.fix {
    background-color: rgba(19, 19, 19, 0.8);
  }
  #logo {
    height: 60px;
    padding-left: 15px;
  }
  #logo .img {
    width: 286px;
    height: 45px;
  }
  #logo .logo-slg {
    display: none;
  }
  .fix #logo {
    background-color: rgba(255, 255, 255, 0);
  }
  .outer-menu .checkbox-toggle {
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
  }
  /*--三條線--*/
  .outer-menu .hamburger {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    border-radius: 0;
    background-color: rgba(255, 255, 255, 0);
  }
  .fix .outer-menu .hamburger {
    background-color: rgba(255, 255, 255, 0);
  }
  .fix .outer-menu .hamburger > div {
    background: rgba(255, 255, 255, 1);
  }
  .fix .outer-menu .hamburger > div:before, .fix .outer-menu .hamburger > div:after {
    background: rgba(255, 255, 255, 1);
  }
  .fix .outer-menu .hamburger > div p {
    color: rgba(255, 255, 255, 1);
  }
  /*--選單icon--*/
  .outer-menu .icon {
    height: 26px;
    top: 17px;
    right: 60px;
    grid-gap: 10px;
  }
  .outer-menu .icon .con {
    width: 26px;
  }
  .outer-menu .icon .svg-line {
    width: 26px;
    filter: drop-shadow(26px 0 0 #fff);
    transform: translateX(-26px);
  }
  .outer-menu .icon .svg-fb {
    width: 26px;
    filter: drop-shadow(26px 0 0 #fff);
    transform: translateX(-26px);
    border-radius: 13px;
  }
  .fix .outer-menu .icon .svg-line {
    filter: drop-shadow(26px 0 0 #00b900);
  }
  .fix .outer-menu .icon .svg-fb {
    filter: drop-shadow(26px 0 0 #485a96);
  }
  .outer-menu .menu > div {
    width: 300vw;
    height: 300vw;
  }
  .outer-menu .menu .top-t {
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .outer-menu .menu > div > div {
    width: 75vw;
    grid-template-columns: 1fr;
    grid-gap: 1.875rem;
  }
  .outer-menu .menu .nev {
    grid-column: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .outer-menu .menu > div > div > div > ul > li {
    padding: 0.375rem 0;
  }
  .outer-menu .menu .nev p {
    display: none;
  }
}