@charset "UTF-8";
/* CSS Document */
@import url("reset.css");
html {
  font-size: 16px;
}

html * {
  font-size: 1rem;
  font-weight: 400;
}

body, ul, li {
  margin: 0px;
  padding: 0px;
  font-family: Arial, "Arial Black", "Chiron GoRound TC", "Noto Sans TC", "微軟正黑體", "新細明體", "細明體";
  font-display: swap;
  font-size: 16px;
  line-height: 25px;
  color: #595757;
  letter-spacing: 1px;
  box-sizing: border-box;
}

body {
  position: relative;
  background: url(../images/bg.jpg) no-repeat top center;
  background-size: 100%;
}
@media (max-width: 767px) {
  body {
    background: url(../images/bg_m.jpg) repeat;
  }
}

img {
  display: block;
  width: 100%;
  height: auto;
}

div, span {
  display: block;
  width: 100%;
}

button {
  display: none;
}

*:focus {
  outline: none;
} /*解決滾動到區塊時出現框線問題*/
h3 {
  font-size: 2vw;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 768px) {
  h3 {
    font-size: 5vw;
    letter-spacing: 0;
  }
}

h4 {
  font-size: 3vw;
}
@media (max-width: 768px) {
  h4 {
    font-size: 6vw;
  }
}

p {
  font-size: 1.15vw;
  font-weight: 300;
  line-height: 1.7;
  color: #595757;
  letter-spacing: 2px;
}
@media (max-width: 992px) {
  p {
    font-size: 1.5vw;
    line-height: 1.5;
  }
}
@media (max-width: 767px) {
  p {
    font-size: 3.5vw;
    line-height: 1.5;
  }
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

.mob {
  display: none;
}
@media (max-width: 768px) {
  .mob {
    display: block;
  }
}

.pad-pc {
  display: block;
}
@media (min-width: 992px) {
  .pad-pc {
    display: none;
  }
}

.pad-h {
  display: none;
}
@media (max-width: 992px) {
  .pad-h {
    display: block;
  }
}

.btn_style {
  transform-origin: center;
  transform: scale(1);
  transition: all 0.15s ease-in-out;
}
.btn_style:hover {
  cursor: pointer;
  transform: scale(0.9);
}

a img:hover {
  transform: scale(0.95, 0.95);
  transition: all 0.2s ease-out;
}

.ajax_loading {
  background: #000 url("../images/loader.gif") center center no-repeat;
}

/*---KV---*/
.kv_w {
  width: 100%;
  position: relative;
  margin-top: -6%;
}
@media (max-width: 768px) {
  .kv_w {
    margin-top: -30%;
  }
}

.kv_box {
  overflow: hidden;
  position: relative;
  z-index: 2;
}

header {
  width: 90.9%;
  position: absolute;
  left: 4.5%;
  top: 15%;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  header {
    top: 18%;
  }
}
header .logo_box {
  width: 11.1%;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  header .logo_box {
    width: 24%;
  }
}
header nav {
  position: relative;
  width: auto;
  margin: -3.8% 2% 0;
}
header nav ul {
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}
header nav ul li {
  display: inline-block;
  width: auto;
  padding: 0 1vw;
  border-left: 1px solid #333;
  line-height: 1;
}
header nav ul li:last-child {
  border-right: 1px solid #333;
}
header nav ul li a {
  text-decoration: none;
}
header nav ul li a div {
  font-family: "openhuninn", "Noto Sans TC";
  font-size: 1vw;
  font-weight: 400;
  line-height: 1.15;
  color: #333;
  letter-spacing: 2px;
  transition: all 0.25s ease-in-out;
}
header nav ul li a div:hover {
  transform: scale(1.1);
}

.prd_box {
  width: 23.5%;
  position: absolute;
  right: 8.75%;
  bottom: 2.4%;
  z-index: 2;
}
@media (max-width: 768px) {
  .prd_box {
    width: 61.9%;
    right: 19%;
    bottom: 5%;
  }
}

.kv_info_m {
  position: relative;
}

.btn_buy {
  display: block;
  width: 14.8%;
  position: fixed;
  right: 2.6%;
  bottom: 12%;
  z-index: 8;
  transform-origin: center;
  animation: buy_ani 1s ease-in-out infinite;
}
@media (max-width: 768px) {
  .btn_buy {
    width: 25%;
    right: -2%;
    bottom: 3%;
  }
}

@keyframes buy_ani {
  0% {
    margin-bottom: 0;
  }
  50% {
    margin-bottom: 1%;
  }
  100% {
    margin-bottom: 0;
  }
}
.item {
  position: absolute;
}

.item_a {
  z-index: 2;
}

.item_b {
  z-index: 3;
}

.item_c {
  z-index: 4;
}

.swiper-container {
  overflow: hidden;
}

.swiper-button-prev {
  left: -5%;
}
@media (max-width: 767px) {
  .swiper-button-prev {
    left: -12%;
  }
}

.swiper-button-next {
  right: -5%;
}
@media (max-width: 767px) {
  .swiper-button-next {
    right: -12%;
  }
}

.swiper-button-prev, .swiper-button-next {
  color: #fff;
}

.swiper-pagination {
  position: relative;
  text-align: center;
}

main, section {
  display: block;
  width: 100%;
  position: relative;
}

.yt_box {
  width: 100%;
  margin: 0px auto 0;
  position: relative;
}

.vidbacking {
  display: block;
}

.video-back {
  display: block; /*padding:200px 0px;*/
  text-align: center;
}

.video-back img {
  /*width:150px;*/
  width: 100%;
  height: auto;
}

img.vediobg_img {
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  z-index: -101;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#background-video > .ytplayer-container > iframe {
  top: 0 !important;
  z-index: -1;
}

.placeholder-image {
  z-index: 100;
  top: 0;
}

@media (max-width: 767px) {
  .ytplayer-player {
    top: 0 !important;
  }
}

.yt_box {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.yt_box img {
  position: relative;
  z-index: 2;
}

/* png 當作比例容器 */
.placeholder-image {
  width: 100%;
  height: auto; /* 讓 png 自己決定高度 */
  display: block;
}

/* YouTube API 會塞的 iframe，讓它鋪滿當背景 */
.yt_box iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 用 CSS 撐滿比例容器 */
  z-index: -1;
}

main {
  position: relative;
  height: 1200px;
}
main section {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
}

/*---s01 航班資訊---*/
#s01 {
  position: relative;
}
#s01 h2 {
  width: 41.2%;
  position: relative;
  margin: 2.5% auto;
}
@media (max-width: 767px) {
  #s01 h2 {
    width: 100%;
  }
}
#s01 p {
  font-size: 1.8vw;
  line-height: 1.5;
  color: #df2525;
  font-weight: 600;
  text-align: center;
  margin-bottom: 0.8vw;
}
@media (max-width: 767px) {
  #s01 p {
    font-size: 4vw;
    margin-bottom: 2vw;
  }
}
#s01 .item_a {
  width: 9.5%;
  top: 6%;
  left: 70%;
}
#s01 .item_b {
  width: 9.1%;
  top: 54%;
  left: 18%;
}
#s01 .item_c {
  width: 7%;
  top: 90%;
  left: 73%;
}

.flight_box {
  display: block;
  width: 43%;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .flight_box {
    width: 95%;
  }
}

.tab_btn01 {
  width: 37%;
  background: url("../images/s01/tab_01.png");
}
@media (max-width: 767px) {
  .tab_btn01 {
    background-image: url(../images/s01/tab_01m.png);
  }
}

.tab_btn02 {
  width: 37%;
  background: url("../images/s01/tab_02.png");
}
@media (max-width: 767px) {
  .tab_btn02 {
    background-image: url(../images/s01/tab_02m.png);
  }
}

/*---選項卡---*/
.tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.tabs label {
  order: 1;
  display: block;
  /*padding: 1rem 2rem;
  margin-right: 0.2rem;*/
  cursor: pointer;
  /*background: #90CAF9;*/
  /* background: url("images/tab/tab_btn_bg.png"); */
  background-size: cover;
  font-weight: bold;
  transition: background ease 0.2s;
  /* width:33.2%;
  margin-right: 0.1%;	*/
  margin: 0 1% 5%;
}

.tabs .tab {
  order: 99;
  flex-grow: 1;
  width: 100%;
  display: none;
  /*padding: 1rem;
  background: #fafafa;
  margin:0.2% 0 0.5% 0;*/
}

.tabs input[type=radio] {
  position: absolute;
  opacity: 0;
}

.tabs input[type=radio]:checked + label.tab_btn01 { /*background: #fafafa;*/
  background: url("../images/s01/tab_01_on.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .tabs input[type=radio]:checked + label.tab_btn01 {
    background-image: url(../images/s01/tab_01m_on.png);
  }
}

.tabs input[type=radio]:checked + label.tab_btn02 { /*background: #fafafa;*/
  background: url("../images/s01/tab_02_on.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .tabs input[type=radio]:checked + label.tab_btn02 {
    background-image: url(../images/s01/tab_02m_on.png);
  }
}

.tabs input[type=radio]:checked + label + .tab {
  display: block;
}

/*---s02 海派石垣島---*/
#s02 {
  position: relative;
  margin-top: -3%;
}
#s02 h2 {
  width: 41.2%;
  position: absolute;
  top: 17%;
  left: 29.4%;
  z-index: 3;
}
@media (max-width: 767px) {
  #s02 h2 {
    width: 100%;
    top: 8%;
    left: 0;
  }
}

.swiper_a {
  position: absolute;
  width: 80%;
  left: 10%;
  top: 40%;
  z-index: 3;
}
@media (max-width: 767px) {
  .swiper_a {
    width: 70%;
    left: 15%;
    top: 28%;
  }
}

.s02_bg, .s03_bg, .s06_bg {
  width: 100%;
  position: relative;
}

/*---s03 極緻小松---*/
#s03 {
  position: relative;
  margin-top: -14.6%;
}
#s03 h2 {
  width: 41.2%;
  position: absolute;
  top: 17%;
  left: 29.4%;
  z-index: 3;
}
@media (max-width: 767px) {
  #s03 h2 {
    width: 100%;
    left: 0;
    top: 8%;
  }
}

.swiper_b {
  position: absolute;
  width: 80%;
  left: 10%;
  top: 40%;
  z-index: 3;
}
@media (max-width: 767px) {
  .swiper_b {
    width: 70%;
    left: 15%;
    top: 28%;
  }
}

/*---s04 機場對外交通---*/
#s04 {
  position: relative;
}
#s04 h2 {
  width: 41.2%;
  position: relative;
  margin: 2.5% auto;
}
@media (max-width: 767px) {
  #s04 h2 {
    width: 100%;
  }
}
#s04 .item_a {
  width: 12%;
  top: 5%;
  left: 20%;
}
#s04 .item_b {
  width: 9.9%;
  top: 19%;
  left: 65%;
}
#s04 .swiper-button-prev {
  left: -15%;
}
#s04 .swiper-button-next {
  right: -15%;
}

.traffic_box {
  display: block;
  width: 67%;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .traffic_box {
    width: 95%;
    margin: 6% auto 0;
  }
}

.tab_btn03 {
  width: 18%;
  background: url("../images/s04/tab_03.png");
}
@media (max-width: 767px) {
  .tab_btn03 {
    width: 27%;
    background-image: url(../images/s04/tab_03m.png);
  }
}

.tab_btn04 {
  width: 18%;
  background: url("../images/s04/tab_04.png");
}
@media (max-width: 767px) {
  .tab_btn04 {
    width: 27%;
    background-image: url(../images/s04/tab_04m.png);
  }
}

.tabs input[type=radio]:checked + label.tab_btn03 { /*background: #fafafa;*/
  background: url("../images/s04/tab_03_on.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .tabs input[type=radio]:checked + label.tab_btn03 {
    background-image: url(../images/s04/tab_03m_on.png);
  }
}

.tabs input[type=radio]:checked + label.tab_btn04 { /*background: #fafafa;*/
  background: url("../images/s04/tab_04_on.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .tabs input[type=radio]:checked + label.tab_btn04 {
    background-image: url(../images/s04/tab_04m_on.png);
  }
}

.tabs input[type=radio]:checked + label + .tab {
  display: block;
}

ul.traffic_g {
  display: flex;
  width: 80%;
  margin: 0 auto;
  position: relative;
  justify-content: space-between;
}
ul.traffic_g li {
  width: 31%;
}

.swiper_c {
  position: relative;
  width: 76%;
  margin: 0 auto;
}

.sw3 {
  color: #333;
}

.swiper_d {
  position: relative;
  width: 76%;
  margin: 0 auto;
}

.sw4 {
  color: #333;
}

.traffic_item {
  position: relative;
  overflow: visible;
  margin: 8% 0;
}

.s04_recommend {
  display: block;
  width: 8%;
  position: absolute;
  top: -6%;
  left: 27%;
  z-index: 3;
}
@media (max-width: 767px) {
  .s04_recommend {
    width: 18%;
    top: -7%;
    left: 82%;
  }
}

/*---s05 高雄航網---*/
#s05 {
  position: relative;
}
#s05 h2 {
  width: 41.2%;
  position: relative;
  margin: 20% auto 0 auto;
}
@media (max-width: 767px) {
  #s05 h2 {
    width: 100%;
    margin: 8% auto 0;
  }
}
#s05 .item_a {
  width: 15.6%;
  top: 5%;
  left: 39%;
}
#s05 .item_b {
  width: 6.5%;
  top: 9%;
  left: 54%;
}

.route_w {
  display: block;
  width: 84%;
  margin: 5% auto;
  position: relative;
}
@media (max-width: 767px) {
  .route_w {
    width: 95%;
  }
}
.route_w ul.route_g {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.route_w ul.route_g li {
  width: 15%;
  display: block;
  margin: 1% 1% 2% 1%;
  position: relative;
}

span.new {
  width: 30%;
  position: absolute;
  bottom: 12%;
  right: -13%;
  z-index: 3;
  transform-origin: left bottom;
  animation: new_ani 1s ease-in-out infinite;
}
@media (max-width: 767px) {
  span.new {
    width: 26%;
    bottom: 10%;
    right: 0;
  }
}

@keyframes new_ani {
  0% {
    transform: scale(0.9, 0.9);
  }
  50% {
    transform: scale(1, 1);
  }
  60% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(0.9, 0.9);
  }
}
.swiper_e {
  position: relative;
  width: 76%;
  margin: 3% auto 0;
}

.sw5 {
  color: #333;
}

.btn_flight {
  position: relative;
  width: 20%;
  margin: 2% auto;
}
@media (max-width: 767px) {
  .btn_flight {
    width: 43%;
    margin: 4% auto 6%;
  }
}

/*---s06 虎迷專屬優惠---*/
#s06 {
  position: relative;
  margin-top: -2%;
}
#s06 h2 {
  width: 41.2%;
  position: absolute;
  top: 17%;
  left: 29.4%;
  z-index: 3;
}
@media (max-width: 767px) {
  #s06 h2 {
    width: 100%;
    left: 0;
    top: 7%;
  }
}
#s06 .swiper-button-prev {
  left: -5%;
}
#s06 .swiper-button-next {
  right: -5%;
}

.discount {
  position: absolute;
  z-index: 2;
  width: 100%;
  top: 35%;
}
@media (max-width: 767px) {
  .discount {
    top: 31%;
  }
}

ul.discount_g {
  display: flex;
  width: 70%;
  margin: 0 auto;
  position: relative;
  justify-content: space-between;
}
ul.discount_g li {
  width: 47%;
}

.swiper_f {
  position: absolute;
  width: 90%;
  left: 5%;
  top: 40%;
  z-index: 3;
}

.sw6 {
  color: #333;
}

.discount_box {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  .discount_box {
    width: 95%;
  }
}

.btn_link1 {
  width: 30%;
  position: absolute;
  bottom: 0;
  left: 35%;
  z-index: 4;
}

.btn_link2 {
  width: 30%;
  position: absolute;
  bottom: 0;
  left: 18%;
  z-index: 4;
}

.btn_qrcode {
  width: 30%;
  position: absolute;
  bottom: 0;
  left: 52%;
  z-index: 4;
}

/*---s07 banner---*/
#s07 {
  position: relative;
  background-color: #f7b52c;
  padding-bottom: 5%;
}
@media (max-width: 767px) {
  #s07 {
    padding-bottom: 16%;
  }
}
#s07 a img:hover {
  transform: none;
}

ul.event {
  padding: 0 auto 10%;
}
@media (max-width: 767px) {
  ul.event {
    padding: 5% auto;
  }
}
ul.event li {
  width: 100%;
  margin: 0 auto 2% auto;
}
@media (max-width: 767px) {
  ul.event li {
    margin: 0 auto 5%;
  }
}
ul.event li a {
  display: block;
  width: 100%;
}

/*---popup / 注意事項---*/
/*---popup---*/
.modally {
  width: 70.3%;
  background: none;
  box-shadow: none;
  padding: 4px;
}
@media (max-width: 991px) {
  .modally {
    width: 90%;
  }
}

.modally .modally-close-button {
  display: block;
  font-size: 5vw;
  color: #333;
}

.modally-wrap .modally-underlay {
  background-color: #f7b52c;
  background-size: 100%;
}

/*popup / qrcode*/
.qrcode-w {
  width: 40%;
  margin: 0% auto;
  padding: 5% 0;
  position: relative;
}
.qrcode-w p {
  font-size: 0.8vw;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
  letter-spacing: 0px;
  text-align: center;
  margin-top: 1vw;
}
@media (max-width: 768px) {
  .qrcode-w p {
    font-size: 3.5vw;
    line-height: 1.5;
  }
}

/*-------------------------------------------------------------*/
.overlay {
  width: 100%;
  background: rgba(38, 99, 122, 0.9);
}

.overlay nav {
  top: 0vh;
  height: 95vh;
}
.overlay nav ul {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 10%;
}
.overlay nav ul a {
  text-decoration: none;
}
.overlay nav ul a li {
  width: 100%;
  display: flex;
  border-bottom: 1px solid #fff;
}
.overlay nav ul a li div {
  display: inline;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  color: #fff;
  justify-content: flex-start;
  align-items: center;
  padding: 10px;
  letter-spacing: 5px;
}

.overlay .overlay-close {
  top: 0;
}

.overlay .overlay-close {
  max-width: 58px;
  max-height: 58px;
}

button.menu_m {
  display: block;
  width: 4.5%;
  position: relative;
  border: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  padding: 0;
  background-color: transparent;
  text-indent: -9999px;
  cursor: pointer;
  z-index: 990;
  outline: 0;
  order: 3;
  float: right;
}
@media (max-width: 768px) {
  button.menu_m {
    width: 10%;
  }
}/*# sourceMappingURL=style.css.map */