@charset "UTF-8";
body {
  margin: 0 auto;
  width: 100vw;
  overflow-x: hidden;
  font-family: "Noto Serif CJK TC", "Source Han Serif TC", "思源宋體", serif;
}

* {
  box-sizing: border-box;
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
}

main {
  position: relative;
  z-index: 1;
}
main > * {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

#background-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-color: #f2c79c;
}
#background-container img {
  width: 100%;
}
#background-container img.mb {
  display: none;
}
@media screen and (max-width: 767px) {
  #background-container img.pc {
    display: none;
  }
  #background-container img.mb {
    display: block;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3vw;
  background: url("../images/header/header_bg.png") no-repeat center/cover;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2vw;
  z-index: 10;
}
.header .logo img {
  height: 3vw;
}
.header .logo img:hover {
  opacity: 0.8;
}
.header .nav-buttons {
  display: flex;
  gap: 1vw;
}
.header .nav-buttons a {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.header .nav-buttons a img {
  height: 3vw;
  transition: 0.3s;
}
.header .nav-buttons a:nth-child(1):hover img {
  content: url("../images/header/header_btn1_hover.png");
}
.header .nav-buttons a:nth-child(2):hover img {
  content: url("../images/header/header_btn2_hover.png");
}
.header .nav-buttons a:nth-child(3):hover img {
  content: url("../images/header/header_btn3_hover.png");
}
.header .official-link img {
  height: 3vw;
  transition: 0.3s;
}
.header .official-link img:hover {
  content: url("../images/header/header_btn4_hover.png");
}
.header .icon-hamburger {
  display: none;
  cursor: pointer;
}
.header .icon-hamburger img {
  padding: 1vw;
  width: 12vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  .header {
    height: 12vw;
    background: url("../images/header/menu_bg.png") no-repeat center/cover;
  }
  .header .logo img {
    height: 8vw;
  }
  .header .nav-buttons,
  .header .official-link {
    display: none !important;
  }
  .header .icon-hamburger {
    display: block;
  }
}

.mobile-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/header/menu_bg_open.png") no-repeat center/cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 5vw;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-sidebar.active {
  opacity: 1;
  visibility: visible;
}
.mobile-sidebar .close-sidebar {
  position: absolute;
  top: 2vw;
  right: 2vw;
  background: none;
  border: none;
  cursor: pointer;
}
.mobile-sidebar .close-sidebar img {
  width: 12vw;
  height: auto;
  transition: 0.3s;
}
.mobile-sidebar .close-sidebar img:hover {
  transform: scale(1.05);
}
.mobile-sidebar .mobile-logo {
  margin-bottom: 5vw;
}
.mobile-sidebar .mobile-logo img {
  width: 100%;
  height: auto;
}
.mobile-sidebar .mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 4vw;
}
.mobile-sidebar .mobile-nav a img {
  width: 100%;
  height: auto;
  transition: 0.3s;
}
.mobile-sidebar .mobile-nav a img:hover {
  opacity: 0.8;
}

.fixed-button {
  position: fixed;
  right: 2vw;
  top: 20%;
  z-index: 5;
  cursor: pointer;
  transition: 0.3s;
}
.fixed-button img {
  width: 10vw;
  height: auto;
  display: block;
}
.fixed-button:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 767px) {
  .fixed-button {
    display: none;
  }
}

.first-screen {
  position: relative;
  width: 100%;
  height: 65vw;
}
.first-screen .links-wrapper {
  display: flex;
  gap: 2vw;
  position: absolute;
  bottom: 20%;
  left: 48.2%;
  transform: translateX(-50%);
  justify-content: center;
  z-index: 10;
}
.first-screen .links-wrapper a {
  transition: 0.3s;
  width: 7vw;
}
.first-screen .links-wrapper a:hover {
  transform: scale(1.05);
}
.first-screen .links-wrapper a img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .first-screen .links-wrapper {
    gap: 2vw;
    bottom: 18%;
  }
  .first-screen .links-wrapper a {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .first-screen {
    height: 155vw;
  }
}

.second-screen {
  position: relative;
  width: 100%;
  height: 55vw;
}
.second-screen .section2-btn {
  position: absolute;
  right: 28%;
  bottom: 46%;
  background: none;
  padding: 0;
}
.second-screen .section2-btn img {
  width: 11vw;
  transition: 0.3s;
}
.second-screen .section2-btn:hover img {
  content: url("../images/common/popup_btn_hover.png");
}
@media screen and (max-width: 767px) {
  .second-screen .section2-btn {
    right: 32%;
    bottom: 49.5%;
  }
  .second-screen .section2-btn img {
    width: 35vw;
  }
}
@media screen and (max-width: 767px) {
  .second-screen {
    height: 150vw;
  }
}

.third-screen {
  width: 100%;
  height: 95vw;
  padding-top: 18%;
}
.third-screen .actor-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2vw;
}
.third-screen .actor-wrapper a {
  display: block;
  width: 18vw;
}
.third-screen .actor-wrapper a .actor {
  width: 100%;
  display: block;
}
.third-screen .actor-wrapper a:hover {
  transform: scale(1.05);
}
@media screen and (max-width: 767px) {
  .third-screen {
    padding: 4vw 8vw;
  }
  .third-screen .actor-wrapper {
    gap: 8vw;
  }
  .third-screen .actor-wrapper a {
    width: 40%;
  }
  .third-screen .actor-wrapper a .actor {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .third-screen {
    height: 170vw;
    padding-top: 50vw;
  }
}

.rules-wrapper {
  padding-top: 15vw;
  padding-bottom: 7vw;
}
.rules-wrapper > div {
  width: 60vw;
  max-height: 30vw;
  overflow-y: scroll;
  margin: 0 auto;
}
.rules-wrapper > div h3 {
  text-align: center;
  margin-bottom: 2vw;
}
.rules-wrapper > div ol, .rules-wrapper > div li {
  font-size: 1vw;
  line-height: 1.6;
  color: #3d1212;
}
.rules-wrapper > div ol {
  list-style-type: decimal;
  padding: 0 1.5vw;
}
.rules-wrapper > div ol li ol {
  list-style-type: decimal;
  padding: 0 1.5vw;
}
.rules-wrapper > div ol li {
  margin-bottom: 1vw;
}
@media screen and (max-width: 767px) {
  .rules-wrapper {
    margin-top: 100vw;
  }
  .rules-wrapper > div {
    width: 90vw;
    max-height: 50vw;
    padding: 0 4vw;
  }
  .rules-wrapper > div ol, .rules-wrapper > div li {
    font-size: 2vw;
  }
}

#go-top {
  transition: 0.3s ease;
  position: fixed;
  transform: rotate(-90deg);
  z-index: 5;
  width: 7vw;
  right: 1.5vw;
  bottom: 2.5vw;
  cursor: pointer;
  opacity: 0.5;
}
#go-top:hover {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  #go-top {
    opacity: 1;
    width: 15vw;
    bottom: 20vw;
    display: none;
  }
}

footer {
  width: 100%;
}
footer img {
  width: 100%;
}
footer .desktop {
  display: block;
}
footer .mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  footer .desktop {
    display: none;
  }
  footer .mobile {
    display: block;
    width: 100%;
  }
}

#pop-out {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background-color: rgba(0, 0, 0, 0.65);
  opacity: 0;
  z-index: -1;
  transition: 0.3s;
}
#pop-out.act {
  opacity: 1;
  z-index: 100;
}
#pop-out .close-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
#pop-out .pop-title {
  margin-top: 2vh;
  z-index: 2;
  width: 30%;
}
#pop-out .pop-title.desktop {
  display: block;
}
#pop-out .pop-title.mobile {
  display: none;
}
#pop-out .inner {
  position: relative;
  margin-top: 2vw;
  width: auto;
  height: 70%;
}
#pop-out .inner img {
  height: 100%;
  display: block;
  z-index: 1;
}
#pop-out .inner .desktop {
  display: block;
}
#pop-out .inner .mobile {
  display: none;
}
#pop-out .inner .pop-content {
  position: absolute;
  top: 10%;
  width: 80%;
  height: 80%;
  left: 10%;
  right: 0;
  overflow-y: auto;
  color: #3d1212;
  text-align: left;
  padding: 2vw;
  font-size: 1.3vw;
  line-height: 1.6;
}
#pop-out .inner .pop-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1vw;
  font-size: 1vw;
  color: #3d1212;
}
#pop-out .inner .pop-content table th, #pop-out .inner .pop-content table td {
  border: 0.1vw solid #bb8a39;
  padding: 1vw;
  text-align: center;
}
#pop-out .inner .pop-content table th {
  background-color: #f1c79a;
}
#pop-out .pop-close {
  margin-top: 2vw;
  border: none;
  background: none;
  cursor: pointer;
  z-index: 2;
}
#pop-out .pop-close img {
  width: 25vh;
  display: block;
}
#pop-out .pop-close:hover img {
  content: url("../images/common/popup_btn_close_hover.png");
}
#pop-out .pop-close .desktop {
  display: block;
}
#pop-out .pop-close .mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  #pop-out .pop-title.desktop,
  #pop-out .inner .desktop,
  #pop-out .pop-close .desktop {
    display: none;
  }
  #pop-out .pop-title.mobile,
  #pop-out .inner .mobile,
  #pop-out .pop-close .mobile {
    display: block;
  }
  #pop-out .inner .pop-content {
    width: 80%;
    height: 80%;
    font-size: 3vw;
    padding: 4vw;
  }
  #pop-out .inner .pop-content table {
    font-size: 2vw;
  }
  #pop-out .inner .pop-content table th, #pop-out .inner .pop-content table td {
    border: 0.3vw solid #bb8a39;
  }
  #pop-out .pop-close img {
    margin-top: 7vw;
    width: 20vw;
  }
}/*# sourceMappingURL=main.css.map */