@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap');
body {
  font-family: 'Noto Sans TC', sans-serif;
  overflow-x: auto;
}
html {
  overflow-x: hidden;
  width: 100%;
  position: relative;
}
html, body {
  height: 100%;
  margin: 0;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex: 1;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none; /* 移除背景 */
  padding: 10px; /* 添加內邊距以提升點擊區域 */
  border: 1px solid #ccc; /* 添加邊框 */
}
img {
  max-width: 100%;
  height: auto;
}
div:focus {
  outline: none;
}
a {
  text-decoration: none;
  color: #3b5658;
}
a:hover {
  color: #1e919a;
}
textarea {
  resize: none;
}
.gotop {
  position: fixed;
  right: 10px;
  bottom: 25%;
  z-index: 9999;
  width: 60px;
  text-align: center;
}
.img {
  width: 100%;
  aspect-ratio: 1 / 1; /* 保持比例 */
  position: relative;
  overflow: hidden; /* 限制內部內容超出範圍 */
  background-color: #fff;
}
.img::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.6s ease-out;
}
.img:hover::before, a:hover .img::before {
  transform: scale(1.1); /* 放大但不超出邊框 */
}
/*--------------------------------------------------------------
# font-size
--------------------------------------------------------------*/
.fs_6 {
  --min-size: 14;
  --max-size: 17;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_5 {
  --min-size: 15;
  --max-size: 20;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_4 {
  --min-size: 17;
  --max-size: 24;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_3 {
  --min-size: 25;
  --max-size: 32;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_2 {
  --min-size: 30;
  --max-size: 40;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_1 {
  --min-size: 35;
  --max-size: 50;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
.fs_small {
  --min-size: 12;
  --max-size: 14;
  --font-size: calc((var(--min-size) * 1px) + (var(--max-size) - var(--min-size)) * ((100cqw - 320px) / (1920 - 320)));
  font-size: clamp(var(--min-size) * 1px, var(--font-size), var(--max-size) * 1px);
}
/*--------------------------------------------------------------
# form style
--------------------------------------------------------------*/
.form-label {
  color: #000;
}
.form-control {
  line-height: 28px;
  border-radius: 10px;
  background-color: transparent;
  color: #263346;
  border: 1px solid #263346;
  padding: 10px 15px;
}
.form-control::placeholder {
  color: #263346;
}
.form-control:focus {
  border-color: #263346;
  box-shadow: 0 0 0 0 transparent;
  color: #263346;
  background-color: transparent;
  border: 1px solid #263346;
  padding: 10px 15px;
}
.form-select {
  line-height: 28px;
  border-radius: 0px;
  background-color: transparent;
  color: #263346;
  border: 1px solid #263346;
  padding: 10px 15px;
}
.form-select:focus {
  border-color: #263346;
  box-shadow: 0 0 0 0 transparent;
  color: #263346;
  background-color: transparent;
  border: 1px solid #263346;
  padding: 10px 15px;
}
.form-check-input {
  border: 1px solid #263346;
  background-color: transparent;
  padding-top: 8px;
  padding-right: 8px;
  padding-left: 8px;
  padding-bottom: 8px;
}
.form-check-label {
  color: #263346;
}
.form-check-input:checked {
  background-color: #263346;
  border-color: #263346;
}
/*btn*/
.btn:focus {
  box-shadow: 0 0 0 0rem rgba(0, 140, 255, 1.00);
  -webkit-box-shadow: 0 0 0 0rem rgba(0, 140, 255, 1.00);
}
.main_btn {
  color: #fff;
  background-color: #00367C;
  padding: 11px 13px;
  position: relative;
  border: 1px solid #00367C;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 600;
  min-width: 200px;
  margin: auto;
  letter-spacing: 5px;
}
.main_btn:hover, a:hover.main_btn {
  border: 1px solid #C53826;
  border-radius: 50px;
  background-color: #C53826;
  color: #fff;
}
.fixed_btn {
  display: none;
}
.fixed_btn_m {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 99;
  width: 100%;
}
.f_padding {
  margin-bottom: 52px;
}
/*--------------------------------------------------------------
# color
--------------------------------------------------------------*/
.f_bg_color {
  background-color: #172439;
}
.main_bg_color {
  background-color: #F4E3CD;
  position: relative;
  z-index: 0;
}
.blue_color {
  color: #245274;
}
.red_color {
  color: #C53826;
}
.main_color {
  color: 172439;
}
/*--------------------------------------------------------------
# faq
--------------------------------------------------------------*/
.accordion-item {
  background-color: #fff;
  border: 4px solid #d9d9d9;
  border-radius: 0px;
}
.accordion-button {
  border-radius: 0px;
  background-color: transparent;
}
.accordion-button:focus {
  z-index: 3;
  border-color: transparent;
  outline: 0;
  box-shadow: 0 0 0 0rem rgba(13, 110, 253, .25);
}
.accordion-button::after {
  content: "";
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  border-radius: 50%;
  /* 白色箭頭（用 SVG） */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: transform 0.2s ease-in-out;
}
.accordion-button:not(.collapsed)::after {
  transform: rotate(180deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.accordion-item:last-of-type {
  border-bottom-right-radius: 50px;
  border-bottom-left-radius: 50px;
}
.accordion-item:first-of-type {
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}
.accordion-item:first-of-type .accordion-button {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.accordion-item:last-of-type .accordion-collapse {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.accordion-button:not(.collapsed) {
  color: #000;
  background-color: transparent;
  box-shadow: inset 0 0 0 rgba(0, 0, 0, .125);
  -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, .125);
}
.box {
  background: rgba(255, 255, 255, 0.4);
  border: 6px solid #FFFFFF;
  border-radius: 40px;
  padding: 90px 25px 70px 25px;
  position: relative;
}
.card {
  background: #FFFFFF;
  border: 5px solid #DAA360;
  border-radius: 20px;
  padding: 35px 20px;
  position: relative;
  z-index: 0;
  min-height: 150px;
}
.no_pic {
  position: absolute;
  top: -35%;
  left: 40%;
  z-index: 3;
}
.no_pic img {
  max-width: 70px;
}
.btn_area {
  width: 100%;
  position: absolute;
  left: 0%;
  bottom: -25%;
  z-index: 3;
}
.icon1 {
  position: absolute;
  left: 36%;
  top: -8%;
  z-index: 3;
  max-width: 130px;
}
.icon2 {
  position: absolute;
  left: -5%;
  top: 42%;
  z-index: -1;
  max-width: 70px;
}
.icon3 {
  position: absolute;
  right: -5%;
  bottom: -7%;
  z-index: 3;
  max-width: 70px;
}
.icon4 {
  display: none;
}
.modal_card {
  background: #FFFFFF;
  border: 5px solid #DAA360;
  border-radius: 20px;
  position: relative;
  z-index: 0;
}
.section-wrap {
    padding-top: 75px;
}
@media (min-width:414px) {
  .card {
    width: 300px;
    margin: auto;
  }
  .box {
    padding: 80px 25px 80px 25px;
  }
}
@media (min-width:480px) {
  .card {
    width: 350px;
    margin: auto;
  }
  .box {
    padding: 120px 25px 80px 25px;
  }
}
@media (min-width:600px) {
  .icon2 {
    left: -20%;
    top: 42%;
    max-width: 100px;
  }
  .icon3 {
    max-width: 100px;
  }
}
@media (min-width:768px) {
  .fixed_btn {
    display: inline;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 60px;
  }
  .fixed_btn_m {
    display: none;
  }
  .f_padding {
    margin-bottom: 0px;
  }
  .card {
    width: 290px;
    margin: auto;
    min-height: 190px;
    padding: 60px 15px;
  }
  .btn_area {
    bottom: -15%;
  }
  .box {
    padding: 100px 25px 85px 25px
  }
  .no_pic {
    position: absolute;
    top: -25%;
    left: -10%;
    z-index: 3;
  }
  .no_pic img {
    max-width: 90px;
  }
  .icon1 {
    display: none;
  }
  .icon2 {
    display: none;
  }
  .icon3 {
    display: none;
  }
  .icon4 {
    display: inline;
    top: 50%;
    left: 0;
    z-index: 0;
    position: absolute;
    max-width: 60%;
  }
  .icon_bg {
    background-image: url("../images/icon_bg.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
  }
}
@media (max-width: 991px) {
    .section-wrap {
        padding-top: 60px;
    }
}
@media (min-width:992px) {
  .card {
    width: 350px;
    min-height: 170px;
    padding: 50px 15px;
  }
  .box {
    padding: 100px 25px 80px 25px;
  }
  .icon4 {
    top: 30%;
    max-width: 60%;
  }
}
@media (min-width:1200px) {
  .container {
    max-width: 1000px;
  }
  .box {
    padding: 120px 25px 90px 25px;
  }
  .fixed_btn {
    top: 60%;
  }
  .card {
    min-height: 160px;
    padding: 40px 15px;
  }
  .icon4 {
    top: 10%;
    max-width: 60%;
  }
}
@media (min-width:1400px) {
  .icon4 {
    top: 15%;
    max-width: 50%;
  }
}
@media (min-width:1600px) {

}
@media (min-width:1900px) {
  .icon4 {
    top: 0%;
  }
}