@charset "UTF-8";

*,
*:before,
*:after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-size: 14px;
  position: relative;
  font-family: 'Microsoft JhengHei', '微軟正黑體', 'Microsoft YaHei', sans-serif;
}

html,
body {
  overflow-x: hidden;
}

img {
  display: block;
}

.center {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container, 
.container-lg, 
.container-md, 
.container-sm, 
.container-xl {
  width: 96%;
  max-width: 1400px;
  margin: 0 auto;
}

.bg-gradient {
  position: relative;
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 100% auto;
  background: #bae6fa;
  background: linear-gradient(to bottom, #94c37c 0%, #bae6fa 60%, #00a9f6 70%, #7f83ff 100%);
  background: linear-gradient(to bottom, #79ad37 0%, #bae6fa 60%, #00AFEC 80%, #8183ff 100%);
}

.flex-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    height: 100%;
}

.flex-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@font-face {
  font-family: 'star';
  src: url('../fonts/star.eot?eh38ct');
  src: url('../fonts/star.eot?eh38ct#iefix') format('embedded-opentype'),
       url('../fonts/star.ttf?eh38ct') format('truetype'),
       url('../fonts/star.woff?eh38ct') format('woff'),
       url('../fonts/star.svg?eh38ct#star') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  font-family: 'star' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star-full:before {
  content: "\e9d9";
}


/* ================ Btn ================ */
.box_btn:hover,
.box_btn:active {
  color: #fff;
  text-decoration: none;
}

.box_btn:hover {
  transform: scale(1.05);
}

.box_btn {
  display: inline-block;
  font-size: 2em;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.05em;
  padding: 10px 50px;
  border-radius: 40px;
  text-shadow: 0px 0px 4px #004e9e, 0px 0px 4px #004e9e;
  border: 4px solid #182a62;
  background: radial-gradient(35% 30% at top, rgba(255,255,255,0.67) , transparent),
              linear-gradient(to bottom, #5287bd 0%, #004e9e 100%);  
  transition: 0.2s;
  position: relative;
  z-index: 5;
}

.btn_orange {
  text-shadow: 0px 0px 4px #c95100, 0px 0px 4px #c95100;
  border: 4px solid #c95100;
  background: radial-gradient(35% 30% at top, rgba(255,255,255,0.67) , transparent),
              linear-gradient(to bottom, #ffca7c 0%, #ff5c00 100%);
}


/* ================ Header ================ */
.header_box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_box .logo {
  max-width: 160px;
}

.header_box nav {
  background: #59839f;
  background: linear-gradient(to right, #59839f 0%, #6d9bb1 50%, #59839f 100%);
  padding: 12px 10px 10px;
  border-radius: 50px;
}

.header_box nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.header_box nav li {
  display: inline-block;
  border-right: 1px solid #fff;
  line-height: 1;
}

.header_box nav li:last-child {
  border-right: 0px;
}

.header_box nav a {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #fff;
  padding: 0px 15px;
  cursor: pointer;
}

.header_box nav a:hover {
  text-decoration: none;
  font-weight: bold;
}

@media (max-width: 992px) {
  .header_box {
    position: relative;
    background: #59839f;
    background: linear-gradient(to right, #59839f 0%, #6d9bb1 50%, #59839f 100%);
    padding: 5px 20px;
  }
  .header_box .logo {
    max-width: 120px;
  }
  .header_box nav {
    background: transparent;
  }
}

@media (max-width: 767px) {
  .header_box {
    padding: 10px 10px;
  }

  .header_box>div:first-child {
    width: 35%;
  }

  .header_box>div:first-child img {
    width: 100%;
    display: block;
  }
  .header_box nav {
    padding: 2px 5px;
  }
  .header_box nav li:first-child {
    margin-right: 3px;
    padding-right: 5px;
  }
  .header_box nav a {
    font-size: 4.5vw;
    font-size: min(3.5vw, 1em);
    padding: 0px;
    padding: 0px;
  }
}


/* ================ KV ================ */
.kv_part {
  position: relative;
  overflow: hidden;
  display: block;
  z-index: 1;
}

.kv_part .kv_wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.kv_part .kv_wrapper .kv_title {
  position: relative;
  z-index: 3;  
}

.kv_part .kv_wrapper .kv_during {
  color: #fff;
  font-size: 2.25em;
  font-weight: bold;
  letter-spacing: 0.03em;
  top:32%;
  left: 50%;
  transform: translate(-50%, 200%);
  text-align: center;
}

.kv_part .kv_wrapper .kv_during p:nth-child(1) {
  display: inline-block;
  background: #fff;
  padding: 5px 20px;
  border-radius: 30px;
  color: #8ac43f;
  margin-bottom: 0.6rem;
}

.kv_part .kv_wrapper .kv_during p:nth-child(2) {
  text-shadow: 0px 0px 5px #8ac43f, 0px 0px 6px #8ac43f, 0px 0px 6px #8ac43f;
}

.kv_part .kv_ribbons {
  top: 0;
  right: 0;
  z-index: 2; 
}

.kv_part .banner-animation-2 {
  animation: slideInDown 0.8s forwards;
  animation-fill-mode: forwards;
  animation-delay: 0s;
}

.kv_part .banner-animation-1 {
  animation: bounceInRight 0.8s backwards;
  animation-fill-mode: backwards;
  animation-delay: 0.5s;
}

@media (max-width: 1680px) {
  .kv_part .kv_wrapper .kv_during {
    top: 28%;
  }
}

@media (max-width: 1480px) {
  .kv_part .kv_wrapper .kv_during {
    top: 24%;
  }
}

@media (max-width: 1291px) {
  .kv_part .kv_wrapper .kv_during {
    font-size: 2.25vw;
    letter-spacing: 0;
    transform: translate(-50%, 150%);
    width: max-content;
    top: 30%;
  }
}

@media (max-width: 992px) {
  .kv_part .kv_wrapper .kv_during {
    font-size: 2.5vw;
    letter-spacing: 0;
    transform: translate(-50%, 80%);
    width: max-content;
    top: 38%;
  }
}

@media (max-width: 576px) {
  .kv_part {
    width: 120%;
    margin-left: -13%
  }
  .kv_part .kv_wrapper .kv_during {
    transform: translate(-37%, 80%);
  }
}


/* ================ Main ================ */
.main_content {
  position: relative;
}

.main_content_title {
  color: #3C523E;
  color: #fff;
  text-shadow: 0px 0px 5px rgba(0,104,55,0.35), 0px 0px 6px rgba(0,104,55,0.55), 0px 0px 6px rgba(0,104,55,0.55);
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  padding: 50px;
  margin-top: -25%;
  position: relative;
  z-index: 3;
}

@media (max-width: 1680px) {
  .main_content_title {
    margin-top: -22%;
  }
}

@media (max-width: 992px) {
  .main_content_title {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .main_content_title {
    font-size: 3.8vw;
    padding: 5vw 0;
  }
}

@media (max-width: 576px) {
  .main_content_title {
    font-size: 4.5vw;
    margin-top: -26%;
  }
}


/* ================ Section ================ */
section {
  position: relative;
  z-index: 3;
  padding-top: 5%;
  padding-bottom: 8%;
}

.section_2 a {
  text-decoration: none;
}

.section_3 {
  padding-bottom: 0%;
}

.section_4,
.section_5,
.section_6 {
  padding-top: 80px;
  padding-bottom: 0%;
}

.section_6 {
  padding-bottom: 60px;
}

.section_box {
  background: rgba(252, 243, 233, 1);  
  border: 2px solid rgba(0, 78, 158, 1);
  outline: 5px solid rgba(23, 42, 98, 1);
  box-shadow: 0 0 0 6px rgba(252, 243, 233, 1);
  outline-offset: 6px;
  border-radius: 15px;
  text-align: center;
  position: relative;
}

.section_title {
  margin-top: -8.5%;
  padding: 10px 0;
  transform:translate(0,-10px);
}

.section_title img {
    width: 65%;
}

.section_subtext {
  font-size: 30px;
  font-weight: bold;
  color: #004e9e;
  margin-top: -70px;
  position: relative;
  z-index: 2;
}

.section_1 .section_cotent {
  position: relative;
  z-index: 2;
}

.section_cotent .subtitle {
  display: inline-block;
  padding: 10px 30px;
  border: 4px solid #182a62;
  background: #2669ad;
  background: linear-gradient(to right,  #2669ad 0%,#004e9e 100%); 
  border-radius: 50px;
  color: #fff;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.section_cotent .subtitle2 {
  position: relative; 
  color: #fff; 
  font-size: 2.25rem;
  font-weight: bold;
  z-index: 2; 
  text-align: center; 
  padding: 5px; 
  letter-spacing: 2px;
  
}

.section_cotent .subtitle2:before {
  position: absolute;
  z-index: -1; 
  -webkit-text-stroke: 6px #004e9fff;
  text-stroke: 6px #004e9fff; 
  content: attr(data-stroke);
}

.section_cotent p {
  font-size: 26px;
  font-weight: bold;
  color: #004e9e;
}

.section_cotent p span {
  color: #60b258;
}

.section_cotent p span.clr-blue {
  color: #00AFEC;
}

.section_cotent p span.clr-blue2 {
  color: #3f85bb;
}

.sec_cont_left {
  position: relative;
}

.sec_cont_left:before {
  content: "";
  background: url(../images/arrow.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 14%;
  height: 22%;
  display: inline-block;
  position: absolute;
  right: -7%;
  top: 50%;
}

.sec_card {
  background: linear-gradient(to right, #fae49a 0%, #f2c010 100%);
  box-shadow: 0px 6px 0px #f8e37a;
  border-radius: 100px;
  font-size: 26px;
  font-weight: bold;
  color: #333;
  width: 100%;
  margin-left: auto;
}

.sec_card_blue {
  background: linear-gradient(to right, #cde8f9 0%, #79bfe9 100%);
  box-shadow: 0px 6px 0px #cde8f9;
}

.sec_card_head {
  background: linear-gradient(to right, #f2c010 0%, #f5911e 100%);
  box-shadow: 3px 0px 0px #964d16;
  border-radius: 40px;
  padding: 30px 10px;
  margin-left: -30px;
  color: #fff;
  position: relative;
}

.sec_card_blue .sec_card_head {
  background: linear-gradient(to right, #00afec 0%, #004e9e 100%);
  box-shadow: 3px 0px 0px #182a62;
}

.sec_card_head b {
  display: inline-block;
  width: 4.5rem;
  height: 4.5rem;
  background: linear-gradient(to right, #2669ad 0%, #004e9e 100%);
  border: 2px solid #182a62;
  border-radius: 100%;
  font-size: 2.8rem;
  position: absolute;
  right: calc(-2.25rem - 5px);
  top: 50%;  
  transform: translate(-8%, -50%);
  z-index: 2;
}

.sec_card_blue .sec_card_head b {
  background: linear-gradient(to right, #f2c010 0%, #f5911e 100%);
  border: 2px solid #ef5a24;
  padding: 12px 5px;
  font-size: 1.8rem;
}

.sec_card_blue .sec_card_head span {
  display: inline-block;
  color: #004e9e;
  background: #fff;
  border-radius: 20px;
  padding: 3px 12px;  
  margin-left: 5px;
}

.sec_card_body .txt{
  position: relative;
}

.sec_card_body .txt:before {
  content: "or";
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 25%;
  right: -6%;
}

.sec_card_body span {
  font-size: 3rem;
  margin-left: 5px;
  margin-right: 5px;
}

.sec_card_gift img {
  max-width: 240px;
  min-width: 200px;
}

.sec_cont_title img{
  width: 40%;
  max-width: 550px;
  min-width: 360px;
}

.sec1_pic {
  position: absolute;
  bottom: 0%;
  width: 25%;
  z-index: 1;
}

.sec1_pic01 {
  left: -19.5%;
  transform: translate(0, 10%);
}

.sec1_pic02 {
  right: -22.5%;
  transform: translate(0, 25%);
}

.sec2_pic {
  position: absolute;
  top: 21%;
  right: -3.5%;
  width: 25%;
}

.sec3_wrap {
  position: relative;
}

.sec3_wrap:last-child {
  background: #fcf3e9;
}

.sec3_cloud {
  position: absolute;
  top: 12%;
  width: 35%;
}

.sec3_cloud01 {
  left: -30%;
}

.sec3_cloud02 {
  top: 38%;
  right: -28%;
}

.sec3_girl{
  position: absolute;
  top: 23%;
  width: 20%;
}

.sec3_girl01 {
  left: 20px;
}

.sec3_girl02 {
  right: 20px;
  width: 18%;
}

.sec3_balloon {
  position: absolute;
  top: 12%;
  width: 15%;
}

.sec3_balloon01 {
  left: -14%;
}

.sec3_balloon02 {
  top: -0%;
  right: -9%;
}

.sec3_pic {
  margin-top: -10%;
}

.sec4_balloon {
  position: absolute;
  top: -2%;
  width: 16%;
}

.sec4_balloon01 {
  left: -12.5%;
}

.sec4_balloon02 {
  top: 5%;
  right: -16%;
  width: 21%;
}

.sec5_pic {
  position: absolute;
  top: 12%;
  width: 20%;
}

.sec5_pic01 {
  left: -16%;
}

.sec5_pic02 {
  top: 7%;
  right: -15%;
}


.step_box {
  width: 94%;
  margin: 0 auto;
}

.step_box h3 {
  display: inline-block;
  font-size: 26px;
  font-weight: bold;
  padding: 5px 35px;
  background: #f0f9fe;
  border-radius: 10px;
  border: 3px solid #182A62;
  color: #004E9E;
  position: relative;
  z-index: 2;
}

.step_box h3:before {
  content: "\e9d9";
  font-family: 'star';
  font-size: 15px;
  color: #00AFEC;
  position: absolute;
  top: 32%;
  left: 8%;
}

.step_box h3:after {
  content: "\e9d9";
  font-family: 'star';
  font-size: 15px;
  color: #00AFEC;
  position: absolute;
  top: 32%;
  right: 8%;
}

.step_box h3 i {
  font-size: 15px;
  color: #00AFEC;
}

.step_box p {
  width: 85%;
  margin: 0 auto;
  font-size: 20px;
  padding: 10px 20px;  
}

.step_box + p {
  font-size:  20px;
}

.step_pic {
  display: inline-block;
  width: 130px;
  height: 130px;
  margin: 0 auto;
  padding: 20px;
  background: linear-gradient(to right, #2669ad 0%, #004e9e 100%);
  border: 3px solid #182a62;
  border-radius: 100%;
  text-align: center;
  margin-bottom: -10px;
  position: relative;
  z-index: 3;
}

.step_pic:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.step_box > div:before {
  content: "";
  background: url(../images/arrow.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 18%;
  height: 22%;
  display: inline-block;
  position: absolute;
  right: -6%;
  top: 40%;
}

.step_box > div:last-child:before {
  display: none;
}

.sec4_btn .box_btn {
  line-height: 1.2;
  letter-spacing: 0;
  padding: 6px 15px;
  display: block;
}

.sec4_btn > div {
  padding-left: 15px;
  padding-right: 15px;
}

.sec5_box {
  position: relative;
  z-index: 3;
}

.sec5_box p {
  width: 78%;
  margin: 0 auto;
}

.sec6_pic img {
  width: 70%;
  min-width: 300px; 
}

.bg_sec1 {
  background: url(../images/bg_sec1.png) top center no-repeat #fcf3e9;
  background-size: cover;
}

.bg_sec2 {
  background: url(../images/bg_sec2.png) top center no-repeat;
  background-size: cover;
}

.bg_sec3 {
  background: url(../images/bg_sec3.png) top center no-repeat #fcf3e9;
  background-size: cover;
}

.bg_sec6 {
  background: url(../images/bg_sec6.png) center -100px no-repeat #f0f9fe;
  background-size: cover;
  padding-top: 20px;
  padding-bottom: 20px;
}

.bg_sec_blue {
  background: #f0f9fe;
  background: #e3f5ff;
  padding-top: 30px;
  padding-bottom: 30px;
}

.bg_sec_hook:before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 160px;
  background: url(../images/bg_sec_hook01.png) center top no-repeat;
  background-size: contain;
  position: absolute;
  top: -122px;
  z-index: 2;
}

.bg_sec_hook:after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 160px;
  background: url(../images/bg_sec_hook02.png) center top no-repeat;
  background-size: contain;
  position: absolute;
  top: -121px;
  z-index: -1;
}

.bg_sec_hook1:before {
  left: 8%;
}

.bg_sec_hook2:before {
  left: 28%;
}

.bg_sec_hook3:before {
  left: 48%;
}

.bg_sec_hook4:before {
  left: 68%;
}

.bg_sec_hook5:before {
  left: 88%;
}

.bg_sec_hook1:after {
  left: 9.5%;
}

.bg_sec_hook2:after {
  left: 29.5%;
}

.bg_sec_hook3:after {
  left: 49.5%;
}

.bg_sec_hook4:after {
  left: 69.5%;
}

.bg_sec_hook5:after {
  left: 89.5%;
}


@media (max-width: 1500px) { 
  .sec3_balloon01 {
    left: -9%;
  }
  .sec3_balloon02 {
    top: -0%;
    right: -8%;    
  }
}

@media (max-width: 1200px) {
  .sec1_pic {
    bottom: 25%;
    width: 27%;
  }
  .sec1_pic01 {
    left: -24.5%;
  }
  .sec1_pic02 {
    right: -19%;
  }  
  .sec4_balloon01 {
    left: -13.5%;
  } 
  .section_4, .section_5, .section_6 {
    padding-top: 60px;
  }
  .section_subtext {
    margin-top: -50px;
  }
  .sec_card:last-child .sec_card_body {
    font-size: 24px;
  }
  .step_box p {
    padding: 10px 5px;
  }
  .bg_sec_hook:before,
  .bg_sec_hook:after {
    width: 30px;
    height: 120px;
    top: -92px;
  }
}

@media (max-width: 1024px) {  
  .sec_card {
    font-size: 24px;
  }
  .sec_card:last-child .sec_card_body {
    font-size: 22px;
  }  
}

@media (max-width: 992px) {
  section {
    padding-bottom: 10%;
  }
  .section_title img {
    width: 68%;
    min-width: 580px;
  }
  .section_subtext {
      font-size: 26px;
  }
  .section_cotent .subtitle {
    font-size: 26px;
  }
  .section_cotent .subtitle2 {
    font-size: 2rem; 
  }
  .section_cotent p {
    font-size: 24px;
  }
  .section_cotent .box_btn {
    font-size: 26px;
  }
  .sec_card {
    font-size: 22px;
  }
  .sec_card:last-child .sec_card_body {
    font-size: 20px;
  }
  .step_box p {
    width: 90%;
    padding: 10px 0;
    font-size: 20px;
  }
  .sec4_btn > div {
    padding-left: 5px;
    padding-right: 5px;
  } 
}

@media (max-width: 895px) {
  .section_cotent .subtitle2 {
    font-size: 30px;
  }
  .sec_cont_title img {
    width: 44%;
  }
  .sec_card_head b {
    width: 4rem;
    height: 4rem;
    font-size: 2.6rem;
  }
  .sec_card_blue .sec_card_head b {
    font-size: 1.5rem;
  }
  .sec_card:last-child .sec_card_body {
    font-size: 2.1vw;
  }  
  .sec_card_gift img {
    min-width: 5vw;
    min-width: 170px;
  }
  .sec4_btn .box_btn {
    font-size: 24px;
  }
}

@media (max-width: 820px) {
  .sec1_pic {
    bottom: 30%;
    width: 27%;
  }  
  .section_4, .section_5, .section_6 {
    padding-top: 50px;
  }
  .sec4_balloon01 {
    width: 19%;
    left: -15.5%;
  }
  .sec4_balloon02 {
    width: 27%;
  }
  .sec5_pic {
    width: 25%;
  }
  .sec5_pic01 {
    left: -20%;
  }
  .sec5_pic02 {
    right: -19%;
  }
  .sec5_box p .space {
    display: none;
  }
  .sec6_btn > div {
    padding-left: 5px;
    padding-right: 5px;
  }
  .bg_sec_hook:before,
  .bg_sec_hook:after {
    width: 25px;
    height: 100px;
    top: -77px;
  }
}

@media (max-width: 771px) {
  .sec5_box p .space {
    display: block;
  }
}

@media (max-width: 767px) {
  .section_title img {
    width: 85%;
    max-width: 600px;
    min-width: 480px;
  }
  .section_subtext {
      font-size: 3.5vw;
  }
  .section_cotent .subtitle {
    font-size: 24px;
  }
  .section_cotent p {
    font-size: 20px;
  }
  .section_cotent .box_btn {
    font-size: 24px;
  }
  .sec_cont_left:before {
    background: url(../images/arrow_down.png) center top no-repeat;
    background-size: contain;
    width: 32px;
    right: calc(50% - 16px);
    top: 105%;
  }
  .sec_cont_left {
    margin-bottom: 30px;
  }
  .sec1_pic {
    bottom: 25%;
    width: 40%;
  }
  .sec1_pic01 {
    left: -27%;
  }
  .sec3_balloon {
    width: 20%;
  }
  .sec3_balloon01 {
    left: -10%;
  }
  .sec3_balloon02 {
    top: 3%;
    right: -7%;
  }
  .sec_card {
    border-radius: 40px;
    margin-left: 0;
    font-size: 20px;
  }
  .sec_card_head {
    box-shadow: 0px 3px 0px #964d16;
    border-radius: 40px 40px;
    padding: 15px 10px 30px 10px;
    margin-left: 0;
  }
  .sec_card_blue .sec_card_head {
    box-shadow: 0px 3px 0px #182a62;
  }
  .sec_card_head b {
    right: 50%;
    top: calc(100% + 65px);
    transform: translate(50%, -150%);  
  }
  .sec_card_body {
    margin-top: 20px;
  }
  .sec_card:last-child .sec_card_body {
    font-size: 20px;
  }
  .step_box {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }  
  .step_box > div {
    margin-bottom: 40px;
  }
  .step_box > div:last-child {
    margin-bottom: 10px;
  }
  .step_box > div:before {
    background: url(../images/arrow_down.png) center top no-repeat;
    background-size: contain;
    width: 32px;
    right: calc(50% - 16px);
    top: 100%;
  } 
  .step_box p {
    width: 70%;
    font-size: 18px;
  }
  .sec3_girl01 {
    left: 5px;
  }
  .sec3_girl02 {
    right: 5px;
  }
  .sec4_btn a br {
    display: none;
  }
  .sec4_btn .box_btn {
    display: inline-block;
    width: 90%;
    padding: 10px 10px;
    line-height: 36px;
  }
  .sec5_box p .space {
    display: none;
  }
}

@media (max-width: 575px) {
  section {
    padding-bottom: 12%;
  }
  .section_4, .section_5, .section_6 {
    padding-top: 40px;
  }
  .section_box{
    border-radius: 10px;
  }
  .section_title img {
    width: 98%;
    min-width: 98%;
  }
  .section_subtext {
      font-size: 18px;
      font-size: max(4vw, 18px);
  }
  .section_cotent .subtitle {
    font-size: 22px;
    padding: 8px 25px;
  }
  .section_cotent p {
    font-size: 18px;
  }
  .section_cotent .box_btn {
    font-size: 22px;
    padding: 8px 30px;
  }
  .sec_card_body .txt:before {
    top: 72%;
    right: calc(50% - 18px);    
  }
  .step_box h3 {
    font-size: 22px;
  }
  .step_box h3:before,
  .step_box h3:after {
    font-size: 13px;
  }
  .step_box p {
    width: 80%;
  }
  .step_pic {
    width: 110px;
    height: 110px;
  }
  .sec2_pic {
    top: 16%;
    width: 32%;
  }
  .sec4_balloon01 {
    width: 30%;
    left: -25.5%;
    top: 38%;
  }
  .sec4_balloon02 {
    width: 31%;
    top: 41%;
  }
  .sec4_btn .box_btn {
    width: 230px;
    padding: 10px 10px;
  }
  .sec6_pic img {
    width: 80%;
    min-width: 250px; 
  }
  .bg_sec_hook:before,
  .bg_sec_hook:after {
    width: 20px;
    height: 80px;
    top: -62px;
  }
  .bg_sec_hook:after {
    top: -60px;
  }
  .bg_sec_blue,
  .bg_sec6 {
    padding-top: 5px;
    padding-bottom: 10px;
  }
  .bg_sec2 {
    background: none;
  }
}

@media (max-width: 450px) {
  .section_subtext {
    margin-top: -25px;
  }
  .section_cotent .subtitle2 {
    font-size: 26px;
  }
  .sec_cont_title img {
    min-width: 96%;
  }
  .sec1_pic01 {
    left: -28.5%;
  }
  .sec2_pic {
    top: 17%;
    width: 33%;
  }
  .sec3_girl{
    top: 26%;
  }
  .sec3_girl02 {
    top: 25%;
  }
  .step_box p {
    width: 100%;
  }
  .sec5_box p {
    width: 90%;
  }
}

@media (max-width: 396px) {
  .section_4 .section_cotent .subtitle2 {
    font-size: 6vw;
  }
}


/* ================ Notice ================ */
.section_notice {
  position: relative;
  z-index: 2;
  background: url(../images/bg_sec_notice.png) top center repeat;
  background-size: 100% auto;
}

.notice {
  background: rgba(252, 243, 233, 0);  
  border: 2px solid rgba(0, 78, 158, 0);
  outline: 5px solid rgba(23, 42, 98, 0);
  box-shadow: 0 0 0 6px rgba(252, 243, 233, 0);
  outline-offset: 6px;
  border-radius: 15px;
  text-align: center;
  transition: max-height 0.2s ease-out;
}

.notice.active {
  background: rgba(252, 243, 233, 1);
  border: 2px solid rgba(0, 78, 158, 1);
  outline: 5px solid rgba(23, 42, 98, 1);
  box-shadow: 0 0 0 6px rgba(252, 243, 233, 1);
}

.notice .notice_header {
  display: inline-block;
  width: 70%;
  margin-top: -50%;
  padding: 10px 15px;
  transform:translate(0,-10px);
  border: 4px solid #182a62;
  background: #2669ad;
  background: linear-gradient(to right,  #2669ad 0%,#004e9e 100%); 
  border-radius: 50px;
  position: relative;
  z-index: 3;
}

.notice h2 .btn {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  outline: 0;
  box-shadow: 0 0 0 0;
}

.notice h2 .btn img {
  max-width: 1.2em;
  transition: 0.1s;
}

.notice.active h2 .btn img {
  transform:rotate(-180deg);
}

.notice .notice_body {
  font-size: 18px;
  color: #004e9e;
  padding: 3% 8% 3% 10%;
}

.notice .panel {
  text-align: left;
  opacity: 0;
}

.notice.active .panel {
  opacity: 1;
}

.notice .panel li {
  text-align: justify;
  word-break: break-all;
}

.notice .panel ol {
  list-style: none;
  counter-reset: num;
}

.notice .panel ol > li {
  position: relative;
}

.notice .panel ol > li:before {
  counter-increment:num; 
  content: counter(num);
  position: absolute;
  top: 3px;
  left: -26px;
  display: inline-block;
  width: 22px;
  height: 22px;
  background-color: #0050a4;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 14px;
}

.notice .accordion + .panel li span {
  font-weight: bold;
  color: #3ea0cf;
}

.notice .accordion + .panel li span b {
  font-weight: bold;
  color: #FD7020;
}

.notice .list-style-disc {
  list-style: none;
  padding-left: 1em;
  /*list-style-type: disc;*/
}

.notice .list-style-disc li {
  position: relative;
  margin-bottom: 0.5rem;
}

.notice .list-style-disc li:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #FD7020;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: -14px;
}

.notice .list-style-square {
   list-style: none;
   padding-left: 1em;
  /*list-style-type: square;*/
}

.notice .list-style-square li:before {
  background-color: #3EA0CF;
}

@media (max-width: 992px) {
  .notice .notice_header {
    padding: 6px 12px;
  }
  .notice h2 .btn {
    font-size: 28px;
    gap: 10px;
  }
  .notice h2 .btn img {
    width: 1.1em;
  }
}

@media (max-width: 767px) {
  .section_notice {
    background: none;
  }
  .notice .notice_header {
    padding: 5px 10px;
  }
  .notice h2 .btn {
    font-size: 24px;
    gap: 8px;
  }
  .notice .notice_body {
    font-size: 16px;    
  }
  .notice .panel ol > li:before {
    top: 4px;
    left: -24px;
    font-size: 13px;
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 576px) {
  .notice .notice_header {
    padding: 4px 8px;
  }
  .notice .notice_header {
    width: 90%;
  }
  .notice h2 .btn {
    font-size: 22px;
  }
  .notice .notice_body {
    padding: 3% 6% 3% 12%;
  }
}


/* ================ Footer ================ */
footer {
  position: relative;
  width: 100%;
  padding: 20px 0;
  color: #fff;
  background: #0050a4;
}

footer .h4-copyright {
  font-size: 1rem;
  font-weight: normal;
  letter-spacing: 0px;
  display: inline-block;
  margin: 0 10px 0 0;
}

footer address {
  display: inline-block;
  margin-bottom: 0;
}

footer .reserved {
  padding-top: 5px;
  letter-spacing: 1px;
}

@media (max-width: 767px) {
  .reserved > div:last-child {
    margin-top: 20px;
    float: left !important;
  }
}


/* ================ Popup ================ */
.popup {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}

.popup_content {
  max-height: 250px;
  max-width: 400px;
  display: grid;
  position: relative;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 15px;
  background: #ff6484;  
  background: linear-gradient(to bottom, #ff7bba 0%, #ff6484 100%);
}

.popup.active {
  display: block;
  animation: fadeIn ease 0.8s;
}

.popup.active-content {
  animation: slideUp ease 0.8s;
}

.popup_in {
  /*background: #fff;*/
  background: #ffe2da;
  background: linear-gradient(to bottom, #fff 0%, #ffe9e3 100%);
  padding: 30px 20px;
  height: calc(100% - 8px);
  position: relative;
  top: 4px;
  left: 4px;
  width: calc(100% - 8px);
  border-radius: 13px;
  text-align: center;
}

.popup_title {
  font-weight: bold;
  font-size: 32px;
  color: #fe486d;
}

.popup_in p {
  color: #666666;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  margin: 15px auto;
}

.popup_in .btn_wrapper {
  max-width: 70%;
  margin: 20px auto 0;
}

.btn_sure {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  letter-spacing: 10px;
  padding: 5px 35px 5px 45px;
  border-radius: 40px;
  text-shadow: 0px 0px 5px rgba(254,72,109,1);
  border: 3px solid #fe486d;
  background: radial-gradient(35% 30% at top, rgba(255,255,255,0.67) , transparent),
              linear-gradient(to bottom, #ff7bba 0%, #ff6484 100%);
}

.btn_sure:hover,
.btn_sure:active {
  color: #fff;
  text-decoration: none;
}

@media (max-width: 767px) {
  .popup_content {
    max-width: 250px;
  }
  .popup_in {
    padding: 20px 15px;
  }
  .popup_title {
    font-size: min(7vw, 1.8em);
  }
  .popup_in p {
    margin: 10px auto;
    font-size: min(4.5vw, 1.2em);
    letter-spacing: 0;
  }
  .popup_in .btn_wrapper {
    max-width: 100%;
  }
}


/* ================ Back to top ================ */
.back-to-top {
  z-index: 99 !important;
  cursor: pointer;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: none;
  line-height: 0;
}
