@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap'); */

html {
  overflow-x: clip;
}

body {
  position: relative;
  font-family: "微軟正黑體", sans-serif;
  background: url(../images/bg.jpg) no-repeat center center/cover;
  font-weight: 600;
  width: 100%;
  height: auto;
  color: #432913;
  overflow-x: clip;
}

img {
  max-width: 100%;
  height: auto;
}

:focus {
  outline: none;
}

a:hover,
a:active,
a:focus {
  text-decoration: none;
  outline: none;
}

button,
button:focus {
  outline: none;
  border: 0;
  background: none;
  padding: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl{
  padding: 0 !important;
  margin: 0;
}

.title {
  position: relative;
  margin: 1vh auto;
}

/* seemore */
.seeMore {
  position: fixed;
  bottom: 20px;
  right: 30px;
  width: 215px;
  height: 130px;
  z-index: 10;
  transition: .3s all;
  display: inline-block;
  animation: upDown 2s ease-in-out infinite;
}

.seeMore:hover {
  filter: brightness(1.2);
}

/* sidebar */
.section-side {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
  transition: all .3s ease-in-out;
}

.section-side .btn-on {
  position: absolute;
  right: 10px;
  top: -160px;
  width: 46px;
  height: 46px;
  z-index: 10;
  transition: all .3s ease-in-out;
}

.section-side .btn-on:hover {
  filter: drop-shadow(0 4px 2px #000);
}

.section-side .btn-on.open {
  transform: rotate(-180deg);
}

.section-side .sidebar {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 99;
  transition: all .3s ease-in-out
}

.section-side .sidebar li {
  margin: 1% auto;
}

.section-side .sidebar li a {
  display: block;
  min-width: 380px;
  transition: .3s linear;
  padding: 0;
}

.section-side .sidebar li a:hover,
.section-side .sidebar li a.active {
  filter: brightness(1.2);
}

.section-side .sidebar.open {
  transform: translateY(-50%) translateX(0);
}

.section-side .sidebar.off {
  transform: translateY(-50%) translateX(100%);
}

/* header */
#header,
section {
  position: relative;
  min-height: 100vh;
  text-align: center;
}

#header{
  padding-top: 10%;
}

.contents {
  position: relative;
}

.logo::before {
  content: '';
  width: 693px;
  height: 750px;
  background: url(../images/mainDec1.png) no-repeat center center/contain;
  position: absolute;
  left: 6vw;
}

.logo::after {
  content: '';
  width: 502px;
  height: 583px;
  background: url(../images/mainDec2.png) no-repeat center center/contain;
  position: absolute;
  right: 12vw;
  bottom: -22vh;
}

/* tab-1 */
.register1 {
  position: relative;
  width: 975px;
  min-height: 1016px;
  background: url(../images/s1Frame.png) no-repeat center center/contain;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  flex-direction: column;
}

.register1 .prizeContents .sub{
  margin: -12% 0 2% 16%;
}

.register1 .prize{
  margin-bottom: 2%;
}

.register1 .book {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#tab-1 {
  padding-top: 20vh;
}

#tab-1 .container-custom::before {
  content: '';
  position: absolute;
  width: 234px;
  height: 246px;
  background: url(../images/s1Dec1.png) no-repeat center center/contain;
  left: 20%;
  bottom: 6%;
  z-index: 1;
}

#tab-1 .container-custom::after {
  content: '';
  position: absolute;
  width: 470px;
  height: 397px;
  background: url(../images/s1Dec2.png) no-repeat center center/contain;
  right: 13%;
  bottom: -4%;
  z-index: 1;
}

#tab-1 .radio input[type="radio"] {
  display: none;
  font-weight: normal;
}

#tab-1 .radio input[type="radio"]+label {
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  line-height: 26px;
}

#tab-1 .radio input[type="radio"]+label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border: 1px solid #573412;
  border-radius: 50%;
  background-color: transparent;
}

#tab-1 .radio input[type="radio"]:checked+label::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-color: #573412;
  border-radius: 50%;
}

#tab-1 input[type="checkbox"] {
  position: relative;
  width: 26px;
  height: 26px;
  margin-right: 0.3rem;
  border-radius: 50%;
  border: 1px solid #573412;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  background-color: transparent;
  cursor: pointer;
}

#tab-1 input[type="checkbox"]:checked::after {
  content: "✔";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  font-size: 18px;
  color: #a74216;
}

#tab-1 .form-control {
  height: 45px;
  color: #573412;
  font-size: 20px;
  background-color: #e6ad53;
  border: 1px solid #573412;
  border-radius: 0;
  margin-right: 2%;
}

#tab-1 .form-control select{
  width: 40%;
  padding-left: 0;
}

#tab-1 .form-control input{
  width: 80%;
  padding-left: 0;
}

#tab-1 .goh_form {
  position: relative;
  color: #573412;
  font-size: 20px;
  font-weight: normal;
}

#tab-1 .goh_form label {
  display: flex;
  align-items: center;
  line-height: 1.6rem;
  margin-bottom: 0;
}

#tab-1 .goh_form p {
  margin-bottom: 0;
}

#tab-1 .goh_form .g-recaptcha{
  margin-left: 20%;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.404));
}

#tab-1 .form-group {
  display: flex;
  align-items: center;
}

#tab-1 .form-group .txt {
  margin: 0;
  text-align: left;
}

#tab-1 .form-group .steps {
  padding-right: 30px;
}

#tab-1 .form-group p.warning {
  cursor: pointer;
  color: #ff6c00;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 4px;
}

#tab-1 .form-group1 .radio {
  padding-left: 55px;
}

#tab-1 .phone {
  gap: 10px;
}

#tab-1 .checkbox {
  margin-top: 2%;
}

#tab-1 .goh_submit {
  background: url(../images/s1Btn.png) no-repeat center center/contain;
  width: 331px;
  height: 81px;
  padding: 0;
  border: none;
  margin: 0 auto;
  transition: .3s linear;
}

#tab-1 .goh_submit:hover,
#tab-1 .goh_submit:focus,
#tab-1 .goh_submit:active {
  background: url(../images/s1Btn_hover.png) no-repeat center center/contain;
}

/* tab-2 */
#tab-2 {
  padding: 4% 0;
}

#tab-2 .container-custom2::before {
  content: '';
  position: absolute;
  width: 241px;
  height: 249px;
  background: url(../images/s2Dec1.png) no-repeat center center/contain;
  left: 20%;
  bottom: 10%;
  z-index: 1;
}

#tab-2 .container-custom2::after {
  content: '';
  position: absolute;
  width: 569px;
  height: 260px;
  background: url(../images/s2Dec2.png) no-repeat center center/contain;
  right: 14%;
  bottom: 0;
  z-index: 1;
}

#tab-2 .register2 {
  position: relative;
  width: 975px;
  min-height: 1016px;
  background: url(../images/s2Frame.png) no-repeat center center/contain;
  margin: 0 auto;
}

#tab-2 .register2 .prizeContents2 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

#tab-2 .shop {
  margin: 3% auto;
}

#tab-2 .shop li {
  display: flex;
  align-items: center;
  gap: 25px;
}

#tab-2 .shop li a:hover {
  filter: brightness(1.2);
  transition: .3s linear;
}

#tab-2 .prize2{
  width: 100%;
}

#tab-2 .prize2 .limited {
  font-size: 0;
  min-height: 52px;
  background: url(../images/s2specialText.png) no-repeat center center/contain;
}

.pop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  width: 100%;
  height: 100%;
  background-color: rgba(19, 19, 19, 0.788);
  overflow: auto;
  outline: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pop .popArea {
  z-index: 1070;
  width: 100%;
  text-align: center;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.pop .btnclose-notic {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

.pop .btnclose-success {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

.pop .btnclose:hover,
.pop .btnclose.x:hover {
  filter: brightness(1.5);
}

.pop .btnclose button {
  display: block;
  text-indent: -99999em;
  width: 77px;
  height: 92px;
  background: transparent url(../images/close_x.png) no-repeat center center/contain;
  cursor: pointer;
  padding: 0;
  border: none;
  outline: none;
}

.pop .success_pop {
  max-width: 1058px;
  height: 614px;
  background: url(../images/pop_success.png) no-repeat center center/contain;
  margin: 0 auto;
}

/* tab-4 */
#tab-4 {
  padding-top: 4%;
}

#tab-4 #bg-layer,
#tab-4 #bg-layer-2 {
  display: none;
}

#tab-4>.nav {
  position: relative;
  justify-content: center;
  margin-top: 4%;
}

#tab-4>.nav::before{
  content: '';
  width: 401px;
  height: 44px;
  background: url(../images/s4TabDec.png) no-repeat center center / contain;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
}

#tab-4 .nav-pills .nav-link.active {
  background-color: transparent
}

#tab-4 #intro-01-tab,
#tab-4 #intro-02-tab {
  width: 294px;
  height: 81px;
}

#tab-4 #intro-01-tab {
  background: url(../images/s4Tab1.png) no-repeat center center / contain;
  margin-right: -14px;
}

#tab-4 #intro-01-tab.active,
#tab-4 #intro-01-tab:hover {
  background: url(../images/s4Tab1_hov.png) no-repeat center center / contain;
}

#tab-4 #intro-02-tab {
  background: url(../images/s4Tab2.png) no-repeat center center / contain;
}

#tab-4 #intro-02-tab.active,
#tab-4 #intro-02-tab:hover {
  background: url(../images/s4Tab2_hov.png) no-repeat center center / contain;
}

#tab-4 #intro-02 {
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

#tab-4 #intro-02 ul {
  margin-top: 4%;
}

#tab-4 #intro-02 ul li{
  margin: 0 2%;
}

#tab-4 #intro-02 ul li button.nav-link {
  width: 18px;
  height: 18px;
  background: url(../images/s4Icon.png) no-repeat center center /contain;
  padding: 0;
}

#tab-4 #intro-02 ul li button.nav-link.active,
#tab-4 #intro-02 ul li button.nav-link:hover{
  background: url(../images/s4Icon_hov.png) no-repeat center center / contain;
}

/* tab-5 */
#tab-5::before{
  content: '';
  width: 209px;
  height: 311px;
  background: url(../images/s5Dec1.png) no-repeat center center / contain;
  position: absolute;
  left: 12vw;
  bottom: 40%;
}

#tab-5::after{
  content: '';
  width: 201px;
  height: 344px;
  background: url(../images/s5Dec2.png) no-repeat center center / contain;
  position: absolute;
  top: -4%;
  right: 11vw;
}

.notic {
  max-width: 1002px;
  min-height: 624px;
  background: url(../images/s5Frame.png) no-repeat center center / cover;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #432913;
  font-size: 1.4rem;
  line-height: 1.8rem;
  text-align: left;
  margin: 0 auto;
}

.notic ol {
  max-width: 80%;
  list-style: auto;
  padding-left: 6%;
  margin-bottom: 6%;
}

.notic ol li {
  margin-bottom: 3%;
}

@media screen and (max-width: 1440px) {

  #header .contents::before {
    width: calc(900px*.8);
    height: calc(1100px* .8);
  }

  #header .contents.logo {
    max-width: 800px;
  }

  #tab-1 .container-custom::before,
  #tab-2 .container-custom2::before{
    left: 1%;
  }

  #tab-1 .container-custom::after,
  #tab-2 .container-custom2::after{
    right: 1%;
  }

  #tab-5::before {
    left: 1vw;
  }

  #tab-5::after {
    right: 1vw;
  }
}

@media screen and (max-width: 1024px) {

  #header, section{
    min-height: unset;
    padding: 4% 0;
  }

  .logo::before,
  .logo::after{
    display: none;
  }

  .logo img {
    max-width: 98vw;
    content: url(../images/main_mo.png);
  }

  #tab-1 {
    padding-top: unset;
  }

  #tab-1 .register1,
  #tab-2 .register2 {
    width: 100%;
    background-size: cover;
  }

  #tab-1 .container-custom::before,
  #tab-1 .container-custom::after,
  #tab-2 .container-custom2::before,
  #tab-2 .container-custom2::after,
  #tab-4>.nav::before,
  #tab-5::after{
    display: none;
  }

  #tab-4 #intro-02 ul li button.nav-link {
    width: calc(128px* .8);
    height: calc(184px* .8)
  }

  .goh_form {
    max-width: unset;
    height: 100%;
  }

  #tab-5::before{
    display: none;
  }
}

@media screen and (max-width: 800px) {

  .title {
    max-width: 90vw;
  }

  .copyright {
    gap: 15px;
  }

  .pop .btnclose button {
    width: calc(143px* .8);
    height: calc(125px* .8);
  }
}

@media screen and (max-width: 450px) {
  .seeMore {
    display: none;
  }

  .logo::after{
    background-position-y: bottom;
  }

  .logo img{
    max-width: 100%;
  }

  #tab-1 .goh_submit {
    width: calc(331px * .8);
    height: calc(81px * .8);
  }

  #tab-1 .goh_form,
  #tab-1 .form-group .steps,
  #tab-1 .form-group .txt {
    width: 100%;
    text-align: center;
    padding-right: 0;
  }

  #tab-1 #reservation_form .form-group {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 0;
  }

  #tab-1 .register1,
  #tab-2 .register2{
    min-height: unset;
  }

  .register1 .prizeContents .sub{
    margin: 0 auto 4%;
  }

  #tab-1 .register .checkbox {
    transform: scale(0.9);
  }

  #tab-1 .form-group1 .radio {
    padding-left: 0;
    margin: 2% 10%;
  }

  #tab-1 div.g-recaptcha {
    margin: 1vh auto;
    transform: scale(0.9);
  }

  #tab-4 #intro-01-tab {
    margin-right: -4px;
  }

  #tab-4 #intro-01-tab,
  #tab-4 #intro-02-tab {
    width: 50vw;
    height: 60px;
  }

  .pop .btnclose button {
    width: calc(143px* .6);
    height: calc(125px* .6);
  }

  .notic ol{
    max-width: 90%;
    font-size: 1.2rem;
    padding-left: 0;
  }
}

@media screen and (max-width: 390px) {

  .section-side .sidebar li a {
    min-width: 80vw;
  }

  #tab-1 .goh_submit {
    width: 200px;
  }

  .pop .btnclose button {
    width: calc(143px* .4);
    height: calc(125px* .4);
  }
}