@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700&family=Noto+Serif+TC:wght@200;400;600;700;900&family=Raleway:wght@300;400;600&display=swap');
* {
  margin: 0;
  padding: 0;
}
:root {
  scroll-padding-top: 3rem;
}
::selection {
  background: #f09845;
  color: #fff;
}
::-moz-selection {
  background: #f09845;
  color: #fff;
}
:root {
  scroll-padding-top: 4rem;
}
.name{
    font-family: 'Noto Sans TC', "微軟正黑體", 'Microsoft JhengHei', sans-serif;
    font-size: 2.25rem;
    text-align: center;
    padding: 0 30px 50px;
    font-weight: 600;
    color: #111111;
}
@media (max-width: 768px) {
  .mt-100 { margin-top: 40px; }
  .mt-50 { margin-top: 20px; }
  .name { font-size: 1.5rem; padding-bottom: 20px; }
}
body {
  font-family: 'Noto Sans TC', "微軟正黑體", 'Microsoft JhengHei', sans-serif;
  font-size: 18px;
  background-image: url("../../img/BG.jpg");
  color: #000;
  background-size: contain;
}
row{margin: 0 !important;}

a {
   
    text-decoration: underline;
}
.b_text{color: #00a7de; font-size: 1.5em !important; font-weight: bold;}
.g_text{color: #8fc31f; font-size: 1.5em !important; font-weight: bold;}

@media (max-width: 465px) {
    .title_b {
    font-size: 1.5rem;
    font-weight: 600;
}
  body {
    font-size: 16px;
  }
  h1 {
    font-size: 1.3em !important;
  }
  h2 {
    font-size: 1.2em !important;
  }
  h3 {
    font-size: 1.1em !important;
  }
  .fs-1 {
    font-size: 1.3em !important;
  }
  .fs-2 {
    font-size: 1.25em !important;
  }
  .fs-3 {
    font-size: 1.2em !important;
  }
  .fs-4 {
    font-size: 1.1em !important;
  }
}
.family{ background-image: url("../../img/family.jpg");background-size: cover;}
.mt-150{ margin-top: 150px;}
.mt-100{ margin-top: 100px;}
.mt-50{ margin-top: 50px;}
.mb-50{margin-bottom: 50px;}
:root {
  scroll-padding-top: 4rem; /* 這行會預留選單高度，避免標題被遮住 */
}
html {
  scroll-behavior: smooth; /* 讓頁面滑動變順暢 */
}
.card2 {
    background-color: #ffffff;
    display: flex;
    background-clip: border-box;
    border-radius: .25rem;
        border-radius: 40px;
    padding: 2rem;
    margin-bottom :50px;
}
.back-to-top {
  position: fixed;
  display: none;
  right: 30px;
  bottom: 30px;
  z-index: 99;
}
.back-to-banner {
  position: fixed;
  display: none;
  right: 10px;
  bottom: 90px;
  z-index: 99;
}
.py-5{padding-top: 0rem !important;
    padding-bottom: 3rem !important;}
.Y_BG{ background-image: url("../../img/BG2.jpg"); background-repeat: no-repeat; background-size: cover;}
/*** Spinner ***/
#spinner {
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease-out, visibility 0s linear .5s;
  z-index: 99999;
}
#spinner.show {
  transition: opacity .5s ease-out, visibility 0s linear 0s;
  visibility: visible;
  opacity: 1;
}
/*** Navbar ***/
.navbar {
  background-color: #f79338;
 
    padding-top: 0rem;
    padding-bottom: 0rem;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(82, 49, 32, 1.00);
  font-size: 20px;
  letter-spacing: 3px;
  font-weight: 500;
}
.navbar-nav img {
  height: 50px;
  width: auto;
}
#logo {
  height: 48px;
}
@media (max-width: 465px) {
    .card2 {
    background-color: #ffffff;
        display: table;}
  #logo {
    height: 40px;
  }
}
.btn {
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
}
@media (max-width: 992px) {
  .btn {
    letter-spacing: 0.2rem;
    font-size: 1.2rem;
  }
}
.btn-danger {
  color: #fff;
  background-color: #fc4622;
  border: 0;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active:hover {
  color: #fff;
  background-color: #fc4622;
  border: 0
}
.btn-blue {
    text-align: center;
  color: #fff;
  background-color: #00a7de;
  border: 0;
      font-size: 1.5rem;
    border-radius: 100px;   MARGIN: 10PX;font-weight: bold; padding: 15px 0;
}
.btn-blue:hover, .btn-success:focus, .btn-success:active:hover {
  color: #fff;
  background-color: #00a7de;
  border: 0
}
.btn-orange {
    text-align: center;
  color: #fff;
  background-color: #f45d00;
  border: 0;
      font-size: 1.5rem;
    border-radius: 100px;   MARGIN: 10PX;font-weight: bold;padding: 8px 0;
}
.btn-orange:hover, .btn-success:focus, .btn-success:active:hover {
  color: #fff;
  background-color: #f45d00;
  border: 0
}
.w90{display: flex;          /* 開啟彈性佈局 */
    align-items: flex-start; /* 讓圖示對齊第一行文字的高度 */
    text-align: left;       /* 確保文字向左對齊 */
    max-width: 90%;    margin: 0 auto;
    padding-bottom: 10px;}

.w90 p{ padding-top: 10px;margin-bottom: 0rem;}
.w90 img {
    max-width: 80px;
    flex-shrink: 0;         /* 防止圖片被擠壓變形 */
    margin-right: 10px;     /* 圖示與文字之間的間距 */
    margin-top: 5px;        /* 視文字行高微調圖示的垂直位置，使其對齊第一行 */
}
.btn-green {
    text-align: center;
  color: #fff;
  background-color: #90c31f;
  border: 0;
      font-size: 1.5rem;
    border-radius: 100px;   MARGIN: 8PX;font-weight: bold;padding: 7px 0;
}
.btn-green:hover, .btn-primary:focus, .btn-primary:active:hover {
  color: #fff;
  background-color: #90c31f;
  border: 0
}   
/*** Footer ***/
#footer {
  margin: 0 auto;
  padding: 16px 0;
  font-size: 0.8rem;
  text-align: center;
  color: #ffffff;
  line-height: 160%;
  background-color: #333;
}
#footer a {
  color: #fff;
}
#footer a:hover, a:focus {
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  text-decoration: none;
  color: #fff000;
}
@media (max-width: 465px) {
  #footer {
    padding: 16px 4px;
  }
}
.card {
  border-radius: 40px;

}


@media (max-width: 465px) {
  .card {
    border-radius: 20px;
      margin:10px;
  }
}
.mjy {
  color: #00a7df;font-size:2rem;font-weight: bold;
}
.mky {
  color: #90c31f;font-size: 2rem; font-weight: bold;
}

.mtb {
  color: #111111;
}
.title01 {
  font-size: 1.7rem;
  font-weight: 500;
    padding-top: 15px;
}
.number{ font-size: 2rem;font-weight: bold;
  font-weight: bold;  color: #fc4622;}
.title02 {
    line-height: 1.3;
  font-size: 2.25rem;
  font-weight: 600;
  color: #fc4622;
}
.infoarea {
  max-width: 760px;
    padding-left: 30px;
}
.btn-group-lg>.btn, .btn-lg {
    padding: .5rem;
    font-size: 1.5rem;
    border-radius: 10rem;
    margin: 10px;
}
@media (max-width: 992px) {
  .title01 {
    font-size: 1.5rem;
  }
  .title02 {
    font-size: 1.6rem;
  }
}

.s_title {
    font-size: .9rem;
    color: #999;
    font-weight: normal;
}
.note {
    margin-top: 50px;
  background-color: #f79338;
  font-size: 0.9rem;
}
@media (max-width: 465px) {
  .title01 {
    font-size: 1.1rem;
  }
  .title02 {
    font-size: 1.2rem!important;
}
.title {
  font-size: 1.5rem;
  font-weight: 400;
}

.s_title {
    font-size: .9rem;
    color: #999;
    font-weight: normal;
}
.title03 {
  font-size: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1200px) {
  .title {
    font-size: 1.5rem;
  }
}
.text {
  font-size: 1.3rem;
}
.textarea {
  max-width: 255px;
}
@media (max-width: 820px) {
   
  .text {
    font-size: 1.3rem;
  }
  .textarea {
    max-width: none;
  }
  .infoarea {
    max-width: none;
      padding-left: 5px;
    
  }
}
@media (max-width: 465px) {
    .family {
    background-image: url(../../img/family_m.jpg);
    background-size: contain;
      
}
    .back-to-banner {
  bottom: 70px;
    width: 150px;
}
  .text {
    font-size: 1rem;
  }
}
.gift01 {
  color: #333333;
}
.gift02 {
  color: #fc4622;
}
.price01 {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0;
  color: #333333;
}
.price02 {
  font-size: 3.7rem;
  line-height: 100%;
  font-weight: 600;
  color: #fc4622;
}
.price03 {
  font-size: 1.6rem;
   color: #fc4622;
}
.price08 {
  font-size: 1.3rem;
   color: #333333;
}
.price04 {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 600;
  color: #e85653;
  border: 1px solid #e85653;
  padding: 6px 30px;
}
.price05 {
  font-size: 1.8rem;
  font-weight: 600;
}
.price06 {
  font-size: 2rem;
  font-weight: 600;
  color: #e85653;
}
.price07 {
  font-size: 1rem;
  font-weight: 400;
  color: #4c4c4c;
}
@media (max-width: 1024px) {
  .card .title {
    font-size: 1.6rem;
  }
  .price02 {
    font-size: 2.7rem;
  }
}

#c2 {
  background-image: url("../../img/bg_pic01.png");
  background-position: center top;
}
#part01 {
  background-image: url("../../img/bg_pic01.png");
  background-position: center top;
}
#part02_1 {
  background-image: url("../../img/bg02_t.gif");
  background-position: center top;
  height: 66px;
}
#part02 {
  background-image: url("../../img/bg02.gif");
  background-position: center top;
}
#part02bg {
  background-image: url("../../img/bg_pic02.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
#part02_2 {
  background-image: url("../../img/bg02_m.gif");
  background-position: center top;
  height: 66px;
}
#part03 {
  background-image: url("../../img/bg03.gif");
  background-position: center top;
}
#part03bg {
  background-image: url("../../img/bg_pic03.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
}
#part03_2 {
  background-image: url("../../img/bg03_b.gif");
  height: 66px;
  background-position: center top;
}
#part04 {
  background-image: url("../../img/bg_pic04.png");
  background-position: center bottom;
  background-repeat: no-repeat;
}
@media (max-width: 1024px) {
  #part02bg {
    background-image: none;
  }
  #part03bg {
    background-image: none;
  }
}
mark {
  background-color: transparent;
  padding: 2px 6px;
  border-radius: 5px;
  color: #e85653;
  background: linear-gradient(transparent 40%, rgba(255, 236, 139, 0.00) 50%, #FFEC8B 75%, #FFEC8B);
}
.back-to-top {
  position: fixed;
  display: none;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  width: 60px;
  height: 60px;
}

@media (max-width: 465px) {
    .title {
        font-size: 1.1rem!important;
    }
    .name {
   
    font-size: 1.7rem;

}
  .back-to-top {
    display: none;
    right: 10px;
    bottom: 10px;
    z-index: 99;
    width: 40px;
    height: 40px;
  }
    
      .w90 img {
    max-width: 50px; /* 手機版圖示縮小 */
  }
  .price02 {
    font-size: 2.2rem; /* 避免價格數字溢出 */
  }
}

@media (max-width: 1024px) {
  .title02 {
    font-size: 1.8rem; /* 稍微縮小，避免在平板上佔據太多空間 */
  }
  .infoarea {
    padding-left: 15px; /* 減少間距增加文字空間 */
  }
  .card2 {
    padding: 1.5rem; /* 縮減內距 */
  }
}
