/* ==================== 全域字體設定 ==================== */
/* 排除header和footer，為所有主要內容區塊設定字體 */
main,
.special-offers,
.regional-events,
.jcb-service,
.japan-tips,
.brand-video,
.modal:not(header .modal):not(footer .modal) {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
}

.container, header, main, footer {
  width: 100%;
  overflow: hidden;
}


.section-main-title,
.regional-main-title,
.service-main-title,
.japan-main-title,
.brand-main-title,
.section-label span,
.learn-more-button span,
.card-title,
.service-card-title,
.japan-tips-card-title,
.offers-card ,
.more-button span {
  font-family:  'Archivo Black', 'Noto Sans JP', 'sans-serif';
}

/* 中文內容使用Noto Sans JP */
p,
h1:not(.section-main-title):not(.regional-main-title):not(.service-main-title):not(.japan-main-title):not(.brand-main-title),
h2:not(.section-main-title):not(.regional-main-title):not(.service-main-title):not(.japan-main-title):not(.brand-main-title),
h3:not(.card-title):not(.service-card-title):not(.japan-tips-card-title),
h4,
h5,
h6,
span:not(.section-label span):not(.learn-more-button span):not(.more-button span),
div:not(.section-label):not(.learn-more-button):not(.more-button),
.card-discount,
.card-subtitle,
.japan-tips-card-description {
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
}

/* ==================== 跑馬燈容器 ==================== */
.marquee-container {
  width: 100%;
  max-width: 960px;
  height: 60px;
  position: relative;
  margin: 20px 0;
}

/* 跑馬燈內容 */
.marquee-content {
  display: flex;
  align-items: center;
  gap: 40px;
  animation: marquee-scroll 15s linear infinite;
  white-space: nowrap;
}

.marquee-content img {
  width: 120px;
  height: 40px;
  object-fit: contain;
  flex-shrink: 0;
}

/* 跑馬燈動畫 */
@keyframes marquee-scroll {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* 響應式跑馬燈 */
@media (max-width: 768px) {
  .marquee-container {
    height: 50px;
    margin: 15px 0;
  }
  
  .marquee-content {
    gap: 30px;
  }
  
  .marquee-content img {
    width: 100px;
    height: 35px;
  }
}

@media (max-width: 480px) {
  .marquee-container {
    height: 45px;
    margin: 10px 0;
  }
  
  .marquee-content {
    gap: 25px;
  }
  
  .marquee-content img {
    width: 80px;
    height: 30px;
  }
}



/* 點狀指示器 */
.dots-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px;
  gap: 12px;
  width: 210px;
  height: 35px;
}

.dot {
  width: 8px;
  height: 8px;
  background: #828282;
  opacity: 0.8;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.dot.active {
  background: #1289FF;
  opacity: 0.8;
}

/* 標題區域 */
.title-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px;
  gap: 11px;
  width: 100%;
  max-width: 960px;
}

.title-line {
  width: 45px;
  height: 7px;
  background: #00A0E9;
  border-radius: 3.5px;
}

.main-title {
  width: 100%;
  height: 44px;
  font-family: 'Archivo Black', 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 44px;
  text-align: center;
  letter-spacing: 0.018em;
  color: #000000;
  margin: 0;
}

.subtitle {
  width: 100%;
  height: 44px;
  font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.014em;
  color: #000000;
  margin: 0;
}
