/* ===================================
   基本樣式 Base Styles
   =================================== */
body {
  font-family: "MS Gothic", "Noto Sans CJK TC", "小塚ゴシック Pr6N", sans-serif;
  background-color: #aed3d5;
  position: relative;
  display: block;
  letter-spacing: 1px;
  color: #134c7f;
}

a {
  outline: none;
  text-decoration: none;
}

img {
  max-width: 100%;
  position: relative;
}

input {
  box-shadow: none;
  background-image: 0;
  background-size: 0;
}

input::placeholder,
input ::placeholder,
#main ::placeholder {
  color: #386aab5a;
}

/* ===================================
   主容器 Main Container
   =================================== */
#main {
  width: 100%;
  max-width: 830px;
  display: block;
  position: relative;
  margin: 0 auto;
  background-color: #fb92b1;
}

/* ===================================
   選單控制區 Menu Control
   =================================== */
#menu_control {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 830px;
  margin: 0 auto;
  z-index: 15;
}

#menu_control img {
  position: relative;
  z-index: 20;
  margin-top: 3.3%;
  margin-left: 5.2%;
  margin-right: auto;
  margin-bottom: 3%;
  width: 63%;
}

#menu_control .bar {
  position: absolute;
  width: 5%;
  height: 27%;
    right: 4.5%;
    top: 49%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
}

#menu_control .bar::before,
#menu_control .bar::after,
#menu_control .bar span {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 2px;
}

#menu_control .bar::before {
  top: 0;
}

#menu_control .bar::after {
  bottom: 0;
}

#menu_control .bar span {
  top: 50%;
  transform: translateY(-50%);
}

#menu_control::before {
  content: '';
  background-color: #019e97;
  width: 14%;
  position: absolute;
  z-index: 3;
  right: 0;
  top: 0;
  height: 100%;
}

#menu_control::after {
  content: '';
  background-color: #019e97;
  position: absolute;
  height: 100%;
  display: block;
  width: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0;
  transition: all .3s ease;
}

#menu_control.down::after {
  opacity: .95;
}

/* ===================================
   選單盒子 Menu Box
   =================================== */
#menu_box {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 830px;
  margin: 0 auto;
  text-align: center;
  z-index: 25;
  background: #019e97;
  height: auto;
  padding-top: 140px;
  display: none;
}

#menu_box img {
  position: absolute;
  z-index: 20;
  margin-top: 3.3%;
  margin-left: 5.2%;
  margin-right: auto;
  margin-bottom: 3%;
  width: 63%;
  left: 0;
  top: 0;
}

#menu_box .closebtn {
  right: 3%;
  position: absolute;
  top: 30px;
  z-index: 50;
}

#menu_box .link {
  color: #ffffff;
  position: relative;
  font-size: 30px;
  display: block;
  padding: 4vw 0;
  width: 100%;
  left: 0;
  z-index: 5;
  font-weight: bold;
  border-bottom: 1px solid #ffffff85;
}
#menu_box .link:last-child{
  border-bottom: 0;
}

#menu_box .link::after {
  content: '';
  position: absolute;
  background-color: white;
  height: 1px;
  bottom: 0;
  width: 80%;
  left: 10%;
  opacity: .3;
}

#menu_box .link:last-child::after {
  display: none;
}

/* ===================================
   關閉按鈕 Close Button
   =================================== */
.closebtn {
  position: relative;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.closebtn span {
  position: absolute;
  width: 42px;
  height: 4px;
  background-color: #fff;
  border-radius: 8px;
  transform: rotate(45deg);
}

.closebtn span:last-child {
  transform: rotate(-45deg);
}

.menu_box_close {
  position: fixed;
  height: 100vh;
  width: 100%;
  background-color: black;
  top: 0;
  left: 0;
  z-index: 22;
  opacity: .5;
  display: none;
}

/* ===================================
   主要內容區 Main Box
   =================================== */
.main_box {
  position: relative;
  max-width: 830px;
  margin: 0 auto;
  display: block;
  padding-top: 0;
  transition: all .6s ease;
}

.main_box .title {
  display: block;
  position: relative;
}

/* 圖片動畫效果 */
.main_box .img01 {
  position: absolute;
  z-index: 3;
  display: block;
  transform: translateY(54px);
  opacity: 0;
  top: 12.9%;
  left: 6%;
  width: 49%;
}

.main_box.show .img01 {
  transform: translateY(0);
  opacity: 1;
  transition: all 1.2s ease 0s;
}

.main_box .img02 {
  position: absolute;
  top: 60.2%;
  left: 5%;
  z-index: 2;
  display: block;
  transform: translateY(54px);
  opacity: 0;
  width: 47%;
}

.main_box.show .img02 {
  transform: translateY(0);
  opacity: 1;
  transition: all 1.2s ease .5s;
}

.main_box .img03 {
  position: absolute;
  z-index: 1;
  display: block;
  transform: translateX(10%);
  opacity: 0;
  bottom: 3%;
  width: 95%;
  left: 6%;
}

.main_box.show .img03 {
  transform: translateY(0);
  opacity: 1;
  transition: all 1.8s ease 1s;
}

/* 頂部背景 */
.topbg {
  position: relative;
  overflow: hidden;
}

/* KV 圖片 */
.kv_pic01 {
  position: absolute;
  right: 0;
  top: 13%;
  width: 41.6%;
  transform: translateX(20%);
  opacity: 0;
  transition: all 1.5s ease 0s;
}

.kv_pic02 {
  position: absolute;
  width: 41.6%;
  right: 0;
  top: 38.4%;
  transform: translateX(20%);
  opacity: 0;
  transition: all 1.5s ease .2s;
}

.kv_pic03 {
  position: absolute;
  width: 41.6%;
  right: 0;
  top: 63%;
  transform: translateX(20%);
  opacity: 0;
  transition: all 1.5s ease .4s;
}

.main_box.show .kv_pic01,
.main_box.show .kv_pic02,
.main_box.show .kv_pic03 {
  transform: translateX(0%);
  opacity: 1;
}

/* 底部圖片 */
.pic_footer {
  position: relative;
  width: 88%;
  margin-right: 0;
  margin-left: auto;
}

.pic_footer img {
  position: relative;
}

/* 文字區塊 */
.main_box .text {
  position: relative;
  color: white;
  padding: 0 4%;
  font-size: 28px;
  line-height: 2;
  text-align: center;
  margin-top: 5%;
  margin-bottom: 8%;
  transform: translateY(54px);
  opacity: 0;
}

.main_box.show .text {
  transform: translateY(0);
  opacity: 1;
  transition: all .8s ease .8s;
}

/* ===================================
   表單樣式 Form Styles
   =================================== */
.form {
  position: relative;
  background-color: white;
  width: 85%;
  margin: 0 auto;
  padding: 4%;
  box-sizing: border-box;
  color: #233b51;
  line-height: 1.8;
}

.form .title {
  position: relative;
  font-size: 38px;
  display: block;
  text-align: center;
}

.form .top_check {
  display: block;
  position: relative;
  margin-top: 48px;
}

.form .line {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 5%;
}

.form .line .must {
  position: absolute;
  font-size: 18px;
  color: #c1220d;
  right: 0;
  top: -31px;
  font-weight: bold;
}

.form .line label {
  font-size: 31px;
  font-weight: 400;
  width: 23%;
  line-height: 1.2;
  height: 80px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}

.form .line label span {
  text-align: center;
  display: block;
  width: 100%;
}

.form .line label b {
  color: #c1220d;
  font-size: 30px;
  position: absolute;
  top: 0;
  right: 0;
  font-weight: bold;
}

.form .line.more_big label {
  width: 36%;
}

.form .line.more_big .input_block {
  width: 62%;
}

.form .line.max_big {
  flex-wrap: wrap;
}

.form .line.max_big label {
  width: 100%;
  height: 55px;
}

.form .line.max_big .input_block {
  width: 100%;
}

/* 輸入框 */
.form .input_block {
  display: flex;
  justify-content: space-between;
  width: 74%;
  flex-wrap: wrap;
}

.form .input_block.one_box .input_box {
  width: 100%;
}

.form .input_block .memo {
  font-size: 18px;
  display: block;
  font-weight: bold;
  position: relative;
  margin-top: 3%;
}

.form .line .input_box {
  height: 80px;
  background-color: rgb(200 215 236);
  border: 0;
  padding: 22px;
  box-sizing: border-box;
  display: block;
  width: 48%;
  font-size: 31px;
  outline: none;
  color: #3869ab;
  border-radius: 0;
}

/* 選擇按鈕 */
.form .line .choice_block {
  width: 100%;
  display: flex;
  justify-content: center;
  font-size: 30px;
  margin-top: 8%;
  margin-bottom: 0%;
}

.form .line .choice_btn {
  display: flex;
  align-items: center;
  margin: 0 7%;
  cursor: pointer;
}

.form .line .choice_btn::before {
  content: '';
  width: 40px;
  height: 40px;
  background-color: #cdced0;
  display: block;
  position: relative;
  border-radius: 50%;
  margin-right: 20px;
}

.form .line .choice_btn::after {
  content: '';
  width: 40px;
  height: 40px;
  background-color: #f26796;
  display: block;
  position: absolute;
  border-radius: 50%;
  margin-right: 20px;
  transform: scale(0);
  transition: all .3s ease;
}

.form .line .choice_btn.active::after {
  transform: scale(.8);
}

/* 下拉選單 */
.pretty-select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-image: none;
  width: 100%;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  outline: none;
  position: relative;
  background-repeat: no-repeat;
  background-color: rgb(200 215 236);
  color: #3869ab;
  text-align: center;
  text-align: -webkit-center;
}

.main_box .select_style {
  width: 100%;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  position: relative;
}

.main_box .select_style::after {
  content: '';
  background-image: url(../images/select.jpg?v=1);
  position: absolute;
  height: 80%;
  width: 95px;
  background-repeat: no-repeat;
  background-size: contain;
  right: 2%;
  top: 10%;
  pointer-events: none;
  background-position: right;
}

/* 主表單區 */
.main_form {
  position: relative;
  padding-top: 8%;
  display: none;
}

.main_form .line select {
  font-size: 30px;
  height: 80px;
  padding: 18px 80px 18px 22px;
  border-radius: 0;
}

.main_form .title {
  margin-bottom: 3%;
}

/* 開啟條款連結 */
.form .open_law {
  position: relative;
  cursor: pointer;
  text-decoration: underline;
}

/* Final Check 區塊 */
.form .line .choice_block.nobr {
  margin-top: 2%;
  margin-bottom: 2%;
}

.form .line.final_check .choice_btn {
  width: 100%;
  margin: 0;
}

.form .line.final_check .choice_block span {
  width: calc(100% - 80px);
  line-height: 1.3;
}

.form .line.final_check .choice_btn::before {
  border-radius: 5px;
  width: 52px;
  height: 52px;
}

.form .line.final_check .choice_btn::after {
  border-radius: 5px;
  width: 52px;
  height: 52px;
}

/* 送出按鈕 */
.form .send_btn {
  position: relative;
  transition: all .5s ease;
}

.form .send_btn.active {
  filter: grayscale(0);
  pointer-events: all;
}

.greenBtn {
  text-align: center;
  width: 95%;
  margin: 0 auto;
  display: block;
  background-color: #009c97;
  color: white;
  font-size: 36px;
  border-radius: 50px;
  padding: 12px 0;
  cursor: pointer;
}

.greenBtn.disabled {
  filter: grayscale(1);
  pointer-events: none;
}

/* ===================================
   感謝區塊 Thank You Section
   =================================== */
.thank {
  display: block;
  text-align: center;
  padding: 10% 0;
  position: relative;
}

.thank .box {
  display: none;
}

.thank img {
  margin-right: 0;
  margin-left: auto;
  display: block;
  width: 97%;
  padding-top: 20px;
  margin-bottom: 20px;
}

.main_box .thank .text {
  text-align: left;
  width: 90%;
  margin: 30px auto;
  font-size: 28px;
  line-height: 1.5;
}
.main_box .thank .text a{
color: #ffff0e;
}

/* ===================================
   圖片輪播區 Swiper Section
   =================================== */
.img04_t {
  display: block;
  text-align: center;
  margin-bottom: 5%;
}

.pic_block {
  position: relative;
  width: 90%;
  margin: 6% auto 10% auto;
  display: block;
  background-color: white;
  overflow: hidden;
}

.pic_block .swiper-slide {
  width: 100%;
}

.pic_block .img {
  width: 100%;
}

.pic_block .img img {
  width: 100%;
  display: block;
}

.pic_block .textbox {
  color: #545454;
  position: relative;
  padding: 5% 5% 9% 5%;
  font-size: 29px;
  line-height: 1.4;
  opacity: 0;
  transform: translateX(50px);
  transition: all .5s ease;
}

.pic_block .swiper-slide-active .textbox {
  opacity: 1;
  transform: translateX(0);
  transition: all .5s ease;
}

.pic_block .textbox b {
  color: #233b51;
  display: block;
  margin-bottom: 2%;
  font-size: 34px;
}

.pic_block .swiper-container {
  position: relative;
}

.pic_block .swiper-pagination {
  position: absolute;
  bottom: auto;
  top: 380px;
}

.pic_block .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
  background-color: #fff;
  opacity: .6;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

.pic_block .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #009e96;
  opacity: 1;
}

.pic_block .swiper-button-prev {
  color: white;
  position: absolute;
  top: 162px;
  background-color: #039893b3;
  right: auto;
  padding: 35px 10px;
  margin-top: 0;
  left: 0;
}

.pic_block .swiper-button-next {
  color: white;
  position: absolute;
  top: 162px;
  background-color: #039893b3;
  right: 0;
  margin-top: 0;
  padding: 35px 10px;
}

.pic_block .swiper-button-prev svg,
.pic_block .swiper-button-next svg {
  width: 60%;
  height: 60%;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  font-size: 30px;
}

/* ===================================
   彈出視窗 Jump Box / Modal
   =================================== */
.jump_box {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  top: 0;
  left: 0;
  z-index: 100;
  color: #233b51;
  display: none;
}

.jump_box.show {
  transition: opacity .8s ease, transform .5s ease .2s;
  transform: translateY(0%);
  opacity: 1;
  pointer-events: auto;
}

.jump_box .closebtn {
  position: absolute;
  background-color: white;
  left: 50%;
  top: 7%;
  z-index: 10;
  margin-left: 267px;
  border-radius: 1px;
  border: 2px solid #009c97;
}

.jump_box .closebtn span {
  background-color: #009c97;
}

.jump_box h3 {
  font-size: 25px;
  text-align: center;
  display: block;
  font-weight: bold;
  position: relative;
  margin-bottom: 35px;
}

.jump_box b {
  font-weight: bold;
}

.jump_box .scroll {
  position: relative;
  overflow: hidden;
  top: 0;
  max-height: calc(90vh - 450px);
  margin-bottom: 45px;
  padding-right: 35px;    font-weight: bold;
}

.jump_box .agree {
  text-align: center;
  width: 400px;
  margin: 0 auto;
  display: block;
  background-color: #009c97;
  color: white;
  font-size: 30px;
  border-radius: 50px;
  padding: 12px 0;
  cursor: pointer;
  font-weight: bold;
}

.jump_box .box {
  background-color: #fff;
  width: 90%;
  left: 50%;
  position: fixed;
  top: 5%;
  padding: 105px 12px 30px 70px;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  border-radius: 0;
  overflow: hidden;
  color: #353535;
  max-width: 720px;
  transform: translateX(-50%);
  max-height: 90vh;
}

.jump_box .inner {
  display: block;
  position: relative;
  height: 100%;
  padding-right: 20px;
  letter-spacing: 1px;
}

.jump_box .scroll>ul {
  list-style: decimal;
  padding-left: 28px;
}

.jump_box .scroll>ul ul {
  list-style: lower-latin;
  padding-left: 29px;
}

/* ===================================
   Perfect Scrollbar 樣式
   =================================== */
.ps--active-y>.ps__rail-y {
  background-color: #dcdcdc;
  opacity: 1;
  width: 7px;
}

.ps__rail-y.ps--clicking .ps__thumb-y {
  width: 7px;
  background-color: #006199;
}

.ps__thumb-y {
  background-color: #006da8;
  width: 7px;
  right: 0;
  opacity: 1;
}

.ps:hover>.ps__rail-y,
.ps--focus>.ps__rail-y,
.ps--scrolling-y>.ps__rail-y {
  opacity: 1;
  width: 7px;
}

/* ===================================
   頁尾 Footer
   =================================== */
.copyright {
  position: relative;
  display: block;
}

.copyright img {
  display: block;
}

/* ===================================
   回到頂部按鈕 Go Top Button
   =================================== */
#gotop {
  position: fixed;
  bottom: 8%;
  left: 50%;
  z-index: 50;
  width: 100px;
  margin-left: 288px;
  opacity: 0;
  transform: translateY(50px);
  transition: all .5s ease;
}

#gotop.show {
  opacity: 1;
  transform: translateY(0);
}

/* ===================================
   RWD 響應式設計 - 820px 以下
   =================================== */
@media only screen and (max-width: 820px) {
  .main_box .text {
    font-size: 3.3vw;
  }
  .greenBtn{
    font-size: 6vw;
  }
  .form {
    width: 90%;
  }

  .form .title {
    font-size: 5vw;
    margin-bottom: 5vw;
  }

  .form .line label {
    font-size: 4vw;
    height: 14vw;        align-content: center;
  }

  .form .line .must {
    font-size: 3vw;
  }

  .form .line .input_box {
    height: 14vw;
    font-size: 4.5vw;
    padding: 3vw;
  }

  .form .line .choice_block {
    font-size: 5vw;
  }

  .form .line .choice_btn::before {
    width: 5vw;
    height: 5vw;
    margin-right: 2vw;
  }

  .form .line .choice_btn::after {
    width: 5vw;
    height: 5vw;
  }

  #menu_box {
    padding-top: 17vw;
  }

  .main_form .line select {
    font-size: 4vw;
    height: 14vw;
    padding: 2vw 11vw 2vw 2vw;
  }

  .main_box .select_style::after {
    width: 8vw;
  }

  .form .line label b {
    font-size: 4vw;
  }

  .form .input_block .memo {
    font-size: 2.7vw;
  }

  .form .line.final_check .choice_btn::before {
    border-radius: 3px;
    width: 6vw;
    height: 6vw;
  }

  .form .line.final_check .choice_btn::after {
    border-radius: 3px;
    width: 6vw;
    height: 6vw;
  }

  .form .line.final_check .choice_block span {
    width: 90%;
  }

  .form .line.final_check .choice_btn {
    font-size: 4vw;
  }

  .main_box .thank .text {
    font-size: 3.6vw;
  }

  .pic_block .textbox b {
    font-size: 4vw;
    font-weight: bold;
  }

  .pic_block .textbox {
    font-size: 3vw;
  }

  .pic_block .swiper-button-next {
    top: 18vw;
    padding: 2vw 0;        width: 9vw;
  }

  .pic_block .swiper-button-prev {
    top: 18vw;
    padding: 2vw 0;        width: 9vw;
  }
    .pic_block .swiper-button-prev svg,
  .pic_block .swiper-button-next svg {
        width: 40%;
        height: 40%;
  }

  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after,
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    font-size: 3vw;
  }

  .pic_block .swiper-pagination {
    top: 43vw;
  }

  .pic_block .swiper-pagination-bullet {
    width: 2.5vw;
    height: 2.5vw;
  }

  .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 2vw;
  }

  .jump_box .box {
    font-size: 3.8vw;
    padding: 12vw 5vw 8vw 6vw
  }

  #jump_box2 .box {
    padding-top: 18vw;
  }

  .jump_box .inner {
    padding-right: 0;
  }

  .jump_box h3 {
    font-size: 4vw;
    margin-bottom: 5vw;
  }

  .jump_box .scroll {
    margin-bottom: 25px;
    padding-right: 20px;
    max-height: calc(90vh - 50vw);
  }

  .jump_box .agree {
        max-width: 100%;
        font-size: 6vw;
  }

  .ps__thumb-y,
  .ps--active-y>.ps__rail-y {
    width: 4px;
  }

  .ps__rail-y.ps--clicking .ps__thumb-y {
    width: 4px;
  }

  .ps--active-y>.ps__rail-y,
  .ps__rail-y:hover>.ps__thumb-y {
    width: 4px;
  }

  .ps:hover>.ps__rail-y,
  .ps--focus>.ps__rail-y,
  .ps--scrolling-y>.ps__rail-y {
    width: 4px;
  }

  .jump_box .closebtn {
    width: 8vw;
    height: 8vw;
    left: auto;
    right: 9%;
    margin-left: 0;
    top: 7%;
    border-radius: 3px;
  }

  .closebtn span {
    width: 5vw;
    height: .6vw;
  }

  #menu_box .link {
font-size: 4.5vw;
        padding: 7vw 0;
  }

  #menu_box {
    width: 100%;
  }

  #menu_box .closebtn {
    top: 3vw;
    right: 7%;
    width: 8vw;
    height: 8vw;
  }

  #gotop {
    left: auto;
    right: 3%;
    width: 18vw;
    bottom: 11vw;
  }
}

/* ===================================
   RWD 響應式設計 - 980px 以上
   =================================== */
@media only screen and (min-width: 980px) {
  .jump_box .box {
    max-width: 100%;
    padding-top: 40px;
    width: 80%;
    max-width: 800px;
  }

  .jump_box .scroll {
    max-height: calc(90vh - 248px);
  }

  #jump_box2 .scroll {
    max-height: calc(90vh - 322px);
  }

  .jump_box .agree {
    text-align: center;
    width: 400px;
    margin: 0 auto;
    display: block;
    background-color: #009c97;
    color: white;
    font-size: 30px;
    border-radius: 50px;
    padding: 12px 0;
    cursor: pointer;
            left: -17px;
        position: relative;
  }

  .jump_box .closebtn {
        left: 50%;
        transform: translateX(310px);
        margin-left: 0;
  }
}
