@font-face {
  font-family: Inter;
  src: url("../font/Inter.ttf");
}

@font-face {
  font-family: NotoSansTC;
  src: url("../font/NotoSansTC.ttf");
}

/* Iconify Font - 現代圖標字體解決方案 */
/*
@font-face {
  font-family: iconify;
  src: url("../font/iconify.eot");
  src: url("../font/iconify.eot#iefix") format("embedded-opentype"),
       url("../font/iconify.woff2") format("woff2"),
       url("../font/iconify.woff") format("woff"),
       url("../font/iconify.ttf") format("truetype"),
       url("../font/iconify.svg#iconify") format("svg");
}
*/

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Inter", "NotoSansTC", sans-serif;
  color: #101211;
}

img {
  width: 100%;
  vertical-align: middle;
  object-fit: cover;
}

a,
.cursor,
button {
  user-select: none;
  cursor: pointer;
  text-decoration: none;
}
a:hover,
.cursor:hover,
button:hover {
  opacity: 0.8;
}
a:active,
.cursor:active,
button:active {
  opacity: 0.6;
}

.d-flex {
  display: flex;
}
.skip-to-content {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1000;
  padding: 0.75rem 1rem;
  border: 0.125rem solid #101211;
  border-radius: 0.25rem;
  background-color: #fff;
  color: #101211;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.25);
  transform: translateY(-200%);
  transition: transform 0.15s ease;
}
.skip-to-content:focus {
  transform: translateY(0);
  outline: 0.188rem solid #006cb8;
  outline-offset: 0.125rem;
}
.header_access_link {
  position: absolute;
  left: 0.15rem;
  top: 0.15rem;
  font-size: 0.85rem;
}
.footer_access_link {
  position: absolute;
  left: 0.4rem;
  top: 0.15rem;
  color: #000;
  line-height: 1.3rem;
  font-size: 0.85rem;
  z-index: 3;
}
.side_access_link {
  position: absolute;
  left: 0.4rem;
  top: 0.15rem;
  color: #000;
  line-height: 1.3rem;
  font-size: 0.85rem;
  z-index: 3;
}
.access_link {
  position: absolute;
  left: 1rem;
  top: 0.15rem;
  color: #006cb8;
  font-size: 0.85rem;
  z-index: 3;
}
.content_access_link {
  position: absolute;
  left: 0.15rem;
  line-height: 1;
  top: 0;
  color: #000;
  font-size: 0.85rem;
  z-index: 3;
}
.content_target_title {
  position: relative;
}
:root {
  scroll-padding-top: 10.5rem;
}
.header_access_link,
.footer_access_link,
.side_access_link,
.access_link,
.content_access_link {
  scroll-margin-top: 10.5rem;
}
.hide_label {
  opacity: 0;
  width: 0;
  display: none;
}
.hps_view {
  width: 100%;
  margin: auto;
  background-color: #fff;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.hps_view.gray {
  background-color: #fbfbfb;
}
.hps_view .main {
  flex: 1;
}

.headerView {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 99;
}

.limit_width {
  width: 100%;
  max-width: 110rem;
  margin: 0 auto;
}

.banner-swiper {
  aspect-ratio: 16 / 9;
  height: 70vh;
  width: auto;
}

@media (max-width: 1830px) {
  .limit_width {
    width: calc(100% - 3.75rem);
    margin: 0 1.875rem;
  }
}
@media (max-width: 768px) {
  .limit_width {
    width: calc(100% - 2rem);
    margin: 0 1rem;
  }
}

.top_btn {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: #092acf;
  opacity: 1;
  transition: 0.3s;
  line-height: 0;
  cursor: pointer;
  position: fixed;
  right: 5.25rem;
  bottom: 6.5rem;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
}
.top_btn img {
  width: 1.5rem;
  height: 1.5rem;
}

.top_btn:hover {
  opacity: 0.8;
}
.top_btn:active {
  opacity: 0.6;
}
@media (max-width: 1250px) {
  .top_btn {
    right: 2.5rem;
  }
}

@-webkit-keyframes fadeInDown {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.bread_crumb {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3125rem;
  color: #101211;
  margin-top: 1.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bread_crumb .active {
  font-weight: 500;
}

.common_pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.common_pagination a {
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}
.common_pagination a.active {
  background-color: #a7c34a;
  color: #fff;
  border-radius: 50%;
}

.side_menu {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.sticky_side_menu {
  position: sticky;
  top: 10.6875rem;
  left: 0;
  height: fit-content;
}
.side_menu .side_bread_crumb {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3125rem;
  color: #101211;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.side_bread_crumb .active {
  font-weight: 500;
}
.side_menu .side_menu_area {
  width: 20rem;
  background-color: #fbfbfb;
  border-radius: 1.5rem;
  position: relative;
}
.side_menu .side_menu_title {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  padding: 2.5rem 1.5rem;
}
.side_menu_title_left {
  font-weight: 700;
  font-size: 2rem;
  line-height: 2.375rem;
  color: #101211;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.side_menu .side_menu_title img {
  width: 2.5rem;
  height: 2.5rem;
}
.side_menu .side_menu_title .side_menu_arrow {
  display: none;
  width: 1.5rem;
  height: 1.625rem;
  transition: all;
  transform: rotate(180deg);
  user-select: none;
}
.side_menu .side_menu_list {
  display: flex;
  flex-direction: column;
  padding-bottom: 1rem;
}
.side_menu .side_menu_list.hide {
  display: none;
}
.side_menu .side_menu_list .side_menu_item {
  background-color: #fbfbfb;
  border: none;
  text-align: left;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #101211;
  padding: 1.5rem 2.5rem;
  margin-left: 1rem;
}
.side_menu .side_menu_list .side_menu_item.active {
  font-weight: 700;
  color: #fbfbfb;
  border: none;
  background-color: #a7c34a;
  border-radius: 6.25rem 0 0 6.25rem;
  padding: 1.5rem 2.5rem;
}
.side_menu .side_menu_list .side_menu_sub_list {
  display: flex;
  flex-direction: column;
}
.side_menu .side_menu_list .side_menu_sub_item {
  background-color: #fbfbfb;
  border: none;
  text-align: left;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  padding: 0.5rem 0.5rem 0.5rem 0;
  margin-left: 5.5rem;
}

@media (max-width: 1300px) {
  .sticky_side_menu {
    position: relative;
    top: 0;
    left: 0;
    height: fit-content;
  }
}
@media (max-width: 1100px) {
  .side_menu .side_menu_area {
    width: 100%;
  }
  .side_menu .side_menu_title {
    padding: 1.5rem;
  }
  .side_menu .side_menu_title .side_menu_arrow {
    display: block;
  }
}
@media (max-width: 768px) and (orientation: landscape) {
  .side_menu .side_menu_list .side_menu_item {
    font-size: 1.125rem;
    line-height: 1.313rem;
    padding: 1.25rem 2rem;
  }
  .side_menu .side_menu_list .side_menu_item.active {
    font-size: 1.125rem;
    line-height: 1.313rem;
    padding: 1.25rem 2rem;
  }
}

@media (max-width: 576px) {
  .bread_crumb {
    margin-top: 0.5rem;
  }
  .side_menu_title_left {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
  .side_menu .side_menu_title img {
    width: 1.5rem;
    height: 1.5rem;
  }
  .side_menu .side_bread_crumb,
  .bread_crumb {
    font-size: 1rem;
    line-height: 1.1875rem;
  }
}

.index_view {
  background-color: #fbfdf3;
}
.index_main .green_area {
  background-color: #fbfdf3;
  padding-bottom: 9rem;
}
.index_main .green_area .swiper-slide {
  border-radius: 0.5rem;
  overflow: hidden;
}
.index_main .green_area .swiper-slide img {
  height: 100%;
  width: auto;
  object-fit: cover;
}
.index_main .green_area .swiper-pagination {
  bottom: 0.75rem !important;
  pointer-events: none;
}
.index_main .green_area .swiper-pagination .swiper-pagination-bullet {
  background-color: transparent;
  width: 5rem;
  height: 0.5rem;
  border-radius: 6.25rem;
  background-color: #fff;
  opacity: 1;
  margin: 0 0.5rem;
  pointer-events: auto;
}
.index_main .green_area .swiper-pagination-bullet-active {
  background-color: #a7c34a !important;
}

.index_main .green_area .swiper-button-next,
.index_main .green_area .swiper-button-prev {
  width: 3rem;
  height: 3rem;
}
.index_main .green_area .swiper-button-prev {
  left: 0;
}
.index_main .green_area .swiper-button-next {
  right: 0;
}
.index_main .green_area .swiper-button-next::after,
.index_main .green_area .swiper-button-prev::after {
  display: none;
}

/* Iconify 風格暫停/開始按鈕 */
.flex-pauseplay a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  position: absolute;
  bottom: 8px;
  left: 10px;
  opacity: 0.85;
  z-index: 10;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 4px;
}

.flex-pauseplay a svg {
  width: 18px;
  height: 18px;
  fill: #fff;
  display: block;
}

.flex-pauseplay a:hover {
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 1;
}

.index_main .health_issue {
  margin-top: 5rem;
  position: relative;
}
.index_main .health_issue .issue_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.index_main .health_issue .issue_title span {
  font-size: 2.5rem;
  font-weight: 700;
  padding: 0.3125rem 0;
  line-height: 3rem;
  letter-spacing: 0.0625rem;
}
.index_main .health_issue .issue_title img {
  width: 3.75rem;
}
.index_main .health_issue .issue_list {
  margin-top: 3rem;
  display: flex;
  justify-content: flex-end;
  gap: 2.5625rem;
}
.index_main .health_issue .issue_item {
  background-color: #ffffff;
  width: 13.375rem;
  height: 13.375rem;
  display: flex;
  justify-content: center;
  padding-top: 2.5rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 3rem 1.5rem 3rem 1.5rem;
  position: relative;
}
.index_main .health_issue .issue_item img {
  width: 6rem;
  height: 6rem;
}
.index_main .health_issue .issue_item .issue_text {
  position: absolute;
  left: -0.75rem;
  bottom: -1.5rem;
  width: 11.25rem;
  height: 4.5rem;
  background-color: #a7c34a;
  color: #fbfdf3;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.0625rem;
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
}
.index_main .health_issue .issue_item .issue_text span {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.1875rem;
  letter-spacing: 0.0625rem;
  color: #fbfdf3;
}

.index_main .news_bg {
  background-image: url("./assets/images/news_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.index_main .news_area {
  padding: 7.5rem 0 5rem;
}

/* 最新消息三欄卡片樣式 */
.index_main .news_area .news_area_title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 3rem;
  letter-spacing: 0.0625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 2.5rem;
}

.index_main .news_area .news_area_title img {
  margin-bottom: 0.25rem;
  width: 3.75rem;
}

.index_main .news_area .news_list {
  display: flex;
  gap: 1rem;
  margin-top: 0;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}

.index_main .news_area .news_list .news_item {
  flex: 1;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  border: 1px solid #ebebeb;
  padding: 1.5rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}

.index_main .news_area .news_list .news_item:first-child {
  padding: 1.5rem;
}

.index_main .news_area .news_list .news_item .news_item_img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: 1rem;
  margin-bottom: 1rem;
}

.index_main .news_area .news_list .news_item .news_item_title {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: 0.0625rem;
  font-weight: 500;
  margin: 0 0 1rem 0;
}

.index_main .news_area .news_list .news_item .news_item_tag {
  background-color: #00a2e3;
  border-radius: 6.25rem;
  padding: 0.5rem 0.75rem;
  color: #fff;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2rem;
  letter-spacing: 0.0625rem;
  width: fit-content;
}

.index_main .news_area .news_more {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #a7c34a;
  color: #fff;
  gap: 0.5rem;
  width: fit-content;
  margin-left: auto;
  margin-top: 2.5rem;
  padding: 0.5rem 1.75rem;
  border-radius: 6.25rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.0625rem;
}

.index_main .news_area .news_more img {
  width: 2.5rem;
}

.index_main .video_bg {
  background-image: url("./assets/images/video_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.index_main .video_area {
  padding: 7.5rem 0 5rem;
}

.index_main .video_area .video_area_title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 3rem;
  letter-spacing: 0.0625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 2.5rem;
}

.index_main .video_area .video_area_title img {
  margin-bottom: 0.25rem;
  width: 3.75rem;
}

.index_main .video_area .video_list {
  display: flex;
  gap: 1rem;
}

.index_main .video_area .video_list .video_item {
  flex: 1;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  border: 1px solid #ebebeb;
  padding: 1.5rem;
  background-color: #fff;
}
.index_main .video_area .video_list .video_item .video_item_youtube {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 16/10;
}

.index_main .video_area .video_list .video_item .video_item_title {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: 0.0625rem;
  font-weight: 500;
  margin: 1rem 0;
}

.index_main .video_area .video_list .video_item .video_item_tag {
  background-color: #00a2e3;
  border-radius: 6.25rem;
  padding: 0.5rem 0.75rem;
  color: #fff;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2rem;
  letter-spacing: 0.0625rem;
  width: fit-content;
}

.index_main .video_area .video_more {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #a7c34a;
  color: #fff;
  gap: 0.5rem;
  width: fit-content;
  margin-left: auto;
  margin-top: 2.5rem;
  padding: 0.5rem 1.75rem;
  border-radius: 6.25rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.0625rem;
}

.index_main .video_area .video_more img {
  width: 2.5rem;
}

.index_main .course_area {
  padding: 5rem 0;
}

.index_main .course_area .course_area_title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 3rem;
  letter-spacing: 0.0625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 2.5rem;
}

.index_main .course_area .course_area_title img {
  margin-bottom: 0.25rem;
  width: 3.75rem;
}

.index_main .course_area .course_list {
  display: flex;
  gap: 1.25rem 1rem;
}

.index_main .course_area .course_list .course_item {
  flex: 1;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 1rem;
  border: 1px solid #ebebeb;
  padding: 1.5rem;
  background-color: #fff;
}

.index_main .course_area .course_list .course_item .course_item_img {
  border-radius: 1rem;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16/10;
}

.index_main .course_area .course_list .course_item .course_item_title {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: 0.0625rem;
  font-weight: 500;
  margin: 1rem 0;
}

.index_main .course_area .course_list .course_item .course_item_tag {
  background-color: #00a2e3;
  border-radius: 6.25rem;
  padding: 0.5rem 0.75rem;
  color: #fff;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2rem;
  letter-spacing: 0.0625rem;
  width: fit-content;
}
.index_main .course_area .course_list .course_item .course_flex {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.index_main
  .course_area
  .course_list
  .course_item
  .course_flex
  .course_item_min {
  color: #727272;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.1875rem;
  letter-spacing: 0.0625rem;
}

.index_main .course_area .course_more {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #efae20;
  color: #fff;
  gap: 0.5rem;
  width: fit-content;
  margin-left: auto;
  margin-top: 2.5rem;
  padding: 0.5rem 1.75rem;
  border-radius: 6.25rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.0625rem;
}

.index_main .course_area .course_more img {
  width: 2.5rem;
}

@media (max-width: 1800px) {
  .index_main .health_issue .issue_list {
    justify-content: center;
    gap: 3.25rem 2.5625rem;
    flex-wrap: wrap;
  }
}

@media (max-width: 1200px) {
  .banner-swiper {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
  }

  /* 響應式按鈕 (1200px) */
  .flex-pauseplay a {
    width: 26px;
    height: 26px;
    bottom: 6px;
    left: 8px;
  }

  .flex-pauseplay a svg {
    width: 16px;
    height: 16px;
  }

  .index_main .news_bg {
    background-image: url("/assets/images/news_bg_2.png");
  }
  /* 在 1200px 以下，保持彈性佈局但允許換行 */
  .index_main .news_area .news_list,
  .index_main .video_area .video_list,
  .index_main .course_area .course_list {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .index_main .news_area .news_list .news_item .news_item_title,
  .index_main .video_area .video_list .video_item .video_item_title,
  .index_main .course_area .course_list .course_item .course_item_title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .index_main .news_area .news_more,
  .index_main .video_area .video_more,
  .index_main .course_area .course_more {
    margin: 2.5rem auto 0;
  }
}

@media (max-width: 768px) {
  .index_main .green_area {
    padding-bottom: 6.125rem;
  }
  .index_main .green_area .swiper-pagination .swiper-pagination-bullet {
    width: 3.875rem;
    margin: 0 0.125rem;
  }
  .index_main .green_area .swiper-button-next,
  .index_main .green_area .swiper-button-prev {
    width: 2rem;
    height: 2rem;
  }

  /* 小螢幕按鈕 (768px) */
  .flex-pauseplay a {
    width: 24px;
    height: 24px;
    bottom: 5px;
    left: 6px;
  }

  .flex-pauseplay a svg {
    width: 14px;
    height: 14px;
  }
  .index_main .health_issue {
    margin-top: 2.5rem;
  }
  .index_main .health_issue .issue_title img {
    width: 2.5rem;
  }
  .index_main .health_issue .issue_title span {
    font-size: 1.5rem;
    line-height: 1.75rem;
    padding: 0.25rem 0;
  }
  .index_main .health_issue .issue_list {
    margin-top: 1rem;
    gap: 3rem 1.875rem;
  }
  .index_main .health_issue .issue_item {
    width: 10rem;
    height: 10rem;
  }
  .index_main .health_issue .issue_item img {
    width: 5rem;
    height: 5rem;
  }
  .index_main .health_issue .issue_item .issue_text {
    border-radius: 1rem;
    padding: 0.5rem 0.75rem;
    font-size: 1.25rem;
    line-height: 1.5rem;
    height: fit-content;
    left: calc(50% - 3.4375rem);
    bottom: -1.125rem;
    width: fit-content;
  }
  .index_main .health_issue .issue_item .issue_text.fit {
    width: 9.625rem;
    left: calc(50% - 4.8125rem);
  }
  .index_main .health_issue .issue_item .issue_text span {
    font-size: 0.875rem;
    line-height: 1.05rem;
  }
  .index_main .news_area {
    padding: 5rem 0 2.5rem;
  }
  .index_main .news_area .news_area_title,
  .index_main .video_area .video_area_title,
  .index_main .course_area .course_area_title {
    flex-direction: column;
    gap: 0.25rem;
    font-size: 1.5rem;
    line-height: 2.5rem;
    padding: 0;
    margin-bottom: 1rem;
  }
  .index_main .news_area .news_area_title img,
  .index_main .video_area .video_area_title img,
  .index_main .course_area .course_area_title img {
    width: 2.5rem;
    margin-bottom: 0;
  }
  /* 最新消息、影音專區和線上課程在 768px 改為單欄 */
  .index_main .news_area .news_list,
  .index_main .video_area .video_list,
  .index_main .course_area .course_list {
    flex-direction: column;
    gap: 1rem;
  }
  .index_main .news_area .news_list .news_item,
  .index_main .video_area .video_list .video_item {
    padding: 0.75rem;
  }
  .index_main .news_area .news_list .news_item .news_item_img {
    height: 21.25rem;
  }
  .index_main .news_area .news_list .news_item .news_item_title,
  .index_main .video_area .video_list .video_item .video_item_title,
  .index_main .course_area .course_list .course_item .course_item_title {
    font-size: 1.125rem;
    line-height: 1.3125rem;
    margin-bottom: 0.5rem;
  }
  .index_main .course_area .course_list .course_item {
    width: 100%;
    padding: 0.75rem;
  }

  .index_main .video_area {
    padding: 5rem 0 2.5rem;
  }
  .index_main .video_bg {
    background-image: url("/assets/images/video_bg_2.png");
  }
  .index_main .course_area {
    padding: 5rem 0 2.5rem;
  }
}

@media (max-width: 576px) {
  .index_main .news_area .news_list .news_item .news_item_img {
    height: 18.125rem;
  }
}

@media (max-width: 450px) {
  .index_main .health_issue .issue_list {
    gap: 3rem 1rem;
  }
  .index_main .news_area .news_list .news_item .news_item_img {
    height: 10.9375rem;
  }
}

.questionnaire_step_main {
  display: flex;
  gap: 5rem;
  padding: 1.5rem 0 12.25rem;
}
.questionnaire_step_main .questionnaire_step_content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 73rem;
  position: relative;
  padding-top: 1.5rem;
}

.questionnaire_step_main .questionnaire_step_content .questionnaire_outbox {
  background-color: #fff;
  padding: 2.5rem 3.75rem;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.questionnaire_outbox .questionnaire_info_title {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 3rem;
  margin-bottom: 1rem;
}
.questionnaire_outbox .questionnaire_info_words {
  background-color: #fbfbfb;
  border-radius: 1rem;
  padding: 1.5rem 2.5rem;
}
.questionnaire_outbox .questionnaire_info_words p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.25rem;
}
.questionnaire_outbox .questionnaire_info_words p.indent {
  text-indent: 2em;
}
.questionnaire_outbox .questionnaire_info_words .words_end {
  margin: 1rem 0 0 auto;
  width: fit-content;
}
.questionnaire_outbox .questionnaire_section_title {
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 500;
  padding: 1rem;
  border-top: 0.25rem solid #a7c34a;
  border-radius: 0.25rem 0.25rem 0 0;
  background-color: #fbfbfb;
  margin-bottom: 1.5rem;
}
.questionnaire_outbox .questionnaire_section_title.no_mb {
  margin-bottom: 0;
}
.questionnaire_outbox
  .questionnaire_section_title
  .questionnaire_section_title_sub {
  font-size: 1.125rem;
  line-height: 1.3125rem;
  color: #727272;
  margin-top: 0.5rem;
  font-weight: 400;
  display: block;
}
.questionnaire_outbox .questionnaire_section_flex_column {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.questionnaire_outbox .questionnaire_section_sub_title {
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 700;
}
.questionnaire_outbox .questionnaire_section_content {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.questionnaire_outbox .questionnaire_section_content.line_style {
  gap: 0;
}
.questionnaire_outbox .questionnaire_section_content ul {
  padding-left: 1.5em;
}
.questionnaire_outbox .questionnaire_section_content li {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.25rem;
}
.questionnaire_outbox
  .questionnaire_section_content.line_style
  .questionnaire_form_item {
  padding: 1.5rem 0;
  border-bottom: 1px solid #ebebeb;
}

.questionnaire_form_item .questionnaire_form_item_title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75rem;
  margin-bottom: 0.75rem;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}

.questionnaire_outbox
  .questionnaire_section_content
  .questionnaire_form_item
  .questionnaire_form_item_title {
  display: block;
}

.questionnaire_form_item .bold {
  font-weight: 700;
  border-bottom: 1px solid #000;
}

.questionnaire_form_item .questionnaire_form_item_textarea {
  width: 100%;
  height: 10rem;
  resize: none;
  background-color: #fff;
  border: 1px solid #ebebeb;
  border-radius: 0.5rem;
  padding: 1rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3125rem;
}

.questionnaire_form_item .questionnaire_form_item_options {
  padding-left: 1.3em;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
}

.questionnaire_form_item .questionnaire_form_item_options.column {
  flex-direction: column;
  gap: 1rem;
}

.questionnaire_form_item_options .item_select_title {
  margin-bottom: 0.5rem;
}

.questionnaire_form_item_options .item_answer_flex {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.questionnaire_form_item .questionnaire_form_item_options select {
  border-radius: 0.5rem;
  width: 12.5rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3125rem;
  border: 1px solid #ebebeb;
  padding: 1rem;
  appearance: none;
  background-image: url("/assets/images/arrow_down.svg");
  background-repeat: no-repeat;
  background-position: top 1rem right 1rem;
  position: relative;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-size: 1.5rem;
}
.questionnaire_form_item .questionnaire_form_item_options input[type="text"] {
  border-radius: 0.5rem;
  width: 15rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3125rem;
  border: 1px solid #ebebeb;
  padding: 1rem;
  position: relative;
}

.questionnaire_form_item
  .questionnaire_form_item_options
  input[type="text"].xs_input {
  width: 7.5rem;
  margin: 0 0.5rem;
}

.questionnaire_form_item
  .questionnaire_form_item_options
  input[type="text"].xl_input {
  max-width: 25rem;
  width: 25rem;
}

.questionnaire_form_item .questionnaire_form_item_options .radio_flex {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0;
}

.questionnaire_form_item .questionnaire_form_item_options .radio_flex.center {
  align-items: center;
  padding: 0;
  flex-wrap: wrap;
}

.questionnaire_form_item .questionnaire_form_item_options .radio_sub_content {
  margin: 1rem 0 0 1.5em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.questionnaire_form_item input[type="text"]:disabled {
  background-color: #f1f1f1;
  color: #a0a0a0;
  border: 1px solid #f1f1f1;
}

.questionnaire_form_item .questionnaire_form_item_options input[type="radio"] {
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  appearance: none;
  border: 1px solid #a0a0a0;
  background-color: #fbfbfb;
  border-radius: 50%;
  box-shadow: 0 0.0625rem 0.0625rem 0 rgba(0, 0, 0, 0.1);
}

.questionnaire_form_item
  .questionnaire_form_item_options
  input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  min-width: 1.25rem;
  border: 1px solid #a0a0a0;
  background-color: #fbfbfb;
  border-radius: 0.125rem;
  box-shadow: 0 0.0625rem 0.0625rem 0 rgba(0, 0, 0, 0.1);
}
.questionnaire_form_item
  .questionnaire_form_item_options
  input[type="radio"]:checked:before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 6.25rem;
  background-color: #101211;
  transition: 5s;
  position: relative;
  left: 0.3125rem;
  top: 0.3125rem;
}

.questionnaire_step_main .questionnaire_btns {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
}

.questionnaire_step_main .prev_btn {
  width: 8.75rem;
  height: 2.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #a7c34a;
  background-color: #fff;
  color: #a7c34a;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 6.25rem;
}

.questionnaire_step_main .next_btn {
  width: 8.75rem;
  height: 2.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #a7c34a;
  background-color: #a7c34a;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  border-radius: 6.25rem;
}

.questionnaire_finish_main {
  padding: 1.5rem 0 12.25rem;
}

.questionnaire_finish_main .questionnaire_finish_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 31.6875rem;
  align-items: center;
  justify-content: center;
}

.questionnaire_finish_main .questionnaire_finish_content .finish_img {
  width: 5rem;
  margin-bottom: 1.5rem;
}

.questionnaire_finish_main .questionnaire_finish_content .finish_title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.375rem;
  margin-bottom: 0.5rem;
}

.questionnaire_finish_main .questionnaire_finish_content .finish_text {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: #727272;
  text-align: center;
}
@media (max-width: 1600px) {
  .questionnaire_step_main {
    gap: 2.5rem;
  }
}

@media (max-width: 1300px) {
  .questionnaire_step_main {
    flex-direction: column;
    gap: 1rem;
  }
}

@media (max-width: 1000px) {
  .questionnaire_outbox .questionnaire_info_title {
    font-size: 1.5rem;
    line-height: 1.75rem;
    margin-bottom: 0.5rem;
  }
  .questionnaire_outbox .questionnaire_info_words p {
    font-size: 1rem;
    line-height: 2rem;
  }
  .questionnaire_step_main .questionnaire_step_content .questionnaire_outbox {
    padding: 1.25rem 1.875rem;
    gap: 1.5rem;
  }
  .questionnaire_outbox .questionnaire_section_content li {
    font-size: 1rem;
    line-height: 2rem;
  }
  .questionnaire_outbox .questionnaire_section_title {
    font-size: 1.5rem;
    line-height: 1.75rem;
    margin-bottom: 1rem;
  }
  .questionnaire_outbox
    .questionnaire_section_title
    .questionnaire_section_title_sub {
    font-size: 0.875rem;
    line-height: 1.1875rem;
    margin-top: 0.25rem;
  }
  .questionnaire_form_item
    .questionnaire_form_item_options
    input[type="text"].xl_input {
    width: 50%;
    min-width: 18.75rem;
  }
}

@media (max-width: 768px) {
  .questionnaire_step_main .questionnaire_step_content .questionnaire_outbox {
    padding: 0.5rem;
  }
  .questionnaire_outbox .questionnaire_info_words {
    padding: 1rem;
  }
  .questionnaire_form_item .questionnaire_form_item_options .item_limit_flex {
    width: calc(100% - 3em);
    max-width: calc(100% - 3em);
  }
  .questionnaire_form_item
    .questionnaire_form_item_options
    .radio_flex.center
    .xs_input:first-child {
    margin-left: 1.5em;
  }
  .questionnaire_form_item
    .questionnaire_form_item_options
    input[type="text"].xl_input {
    width: calc(100% - 1.5em);
    max-width: calc(100% - 1.5em);
    margin-left: 1.5em;
    min-width: unset;
  }
}

@media (max-width: 576px) {
  .questionnaire_step_main {
    gap: 1rem;
    padding: 0.5rem 0 2.5rem;
  }
  .questionnaire_finish_main {
    padding: 0.5rem 0 2.5rem;
  }
  .questionnaire_step_main .questionnaire_step_content {
    gap: 1.5rem;
  }
  .questionnaire_form_item .questionnaire_form_item_options select {
    width: 100%;
  }
  .questionnaire_form_item
    .questionnaire_form_item_options
    input[type="text"].min_input {
    width: 10.625rem;
  }
  .questionnaire_form_item .questionnaire_form_item_options .item_limit_flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
  }
  .questionnaire_form_item
    .questionnaire_form_item_options
    .radio_flex.center
    .xs_input {
    margin-left: 1.5em;
    width: 70%;
  }
}

@media (max-width: 400px) {
  .questionnaire_form_item .questionnaire_form_item_options {
    padding: 0 0.5em 0 1.3em;
  }
}

.main_header {
  width: 100%;
  height: 9.25rem;
  position: sticky;
  top: 0;
  z-index: 99;
}
.main_header .header_bg {
  z-index: 3;
  position: relative;
}
.main_header .green_header {
  background-color: #fbfdf3 !important;
}
.main_header .yellow_header {
  background-color: #fcfaed !important;
}

.main_header .header_mobile {
  display: none;
  position: relative;
  z-index: 2;
}
.main_header .header_mobile .menu_close {
  display: none;
}

.main_header .header_content {
  height: 100%;
  position: relative;
  z-index: 2;
  padding: 1rem 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.main_header .header_bg {
  background-color: #fff;
}

.main_header .header_links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.main_header .header_links .header_link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 3rem;
  box-sizing: border-box;
  padding: 0.75rem 1rem;
  background-color: #79191d;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2rem;
  letter-spacing: 0.031rem;
  border-radius: 6.25rem;
}
.main_header .header_links .header_link span {
  text-wrap-mode: nowrap;
  color: #ffffff;
}
.main_header .header_links .link_green {
  background-color: #a7c34a;
}
.main_header .header_links .link_county {
  background-color: #789c01;
}
.main_header .header_operate {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 1.5rem;
  margin-top: 1rem;
}
.main_header .header_operate .header_menu {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.main_header .header_menu .menu_item {
  display: flex;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.75rem;
  letter-spacing: 0.063rem;
  color: #101211;
  position: relative;
  height: 4.188rem;
  padding-top: 0.063rem;
}
.main_header .header_menu .menu_item img {
  width: 1.5rem;
}
.main_header .header_menu .menu_item .menu_item_a {
  height: fit-content;
  display: flex;
  align-items: center;
}

.main_header .header_menu .menu_item:not(.kb-closed):hover .sub_list,
.main_header .header_menu .menu_item:focus-within .sub_list {
  display: flex !important;
}

.main_header .header_menu .menu_item .sub_list {
  display: none;
  background-color: #fff;
  border-top: 0.25rem solid #a7c34a;
  z-index: 2;
  padding: 0;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
  text-align: left;
  position: absolute;
  left: -2.063rem;
  top: 3.313rem;
  transition: 0.4s;
  flex-direction: column;
  gap: 0;
  border-radius: 0.5rem;
}
.main_header .header_menu .menu_item .sub_list .sub_list_item {
  width: 15rem;
  padding: 0.75rem 0.5rem 0.75rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.063rem;
  display: flex;
  position: relative;
}
.main_header .header_menu .menu_item .sub_list .sub_list_item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.main_header .header_menu .menu_item .sub_list .sub_list_item a img {
  transform: rotate(270deg);
}
.main_header .header_menu .menu_item .sub_list .sub_list_item:hover {
  background-color: #fdfff3;
  opacity: 1;
  cursor: pointer;
  border-radius: 0.5rem;
}
.main_header .header_menu .menu_item .sub_list .sub_list_item:hover a {
  color: #789c01 !important;
}
.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item:hover
  .sub_list_menu,
.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item:focus-within
  .sub_list_menu {
  display: block !important;
}
.main_header .header_menu .menu_item .sub_list .sub_list_item .sub_list_menu {
  display: none;
  position: absolute;
  top: 0;
  left: 15rem;
  background-color: #fff;
  box-shadow: 0 0.25rem 0.375rem 0.125rem rgba(0, 0, 0, 0.1);
}
.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item
  .sub_list_menu_item {
  width: 15rem;
  padding: 0.75rem;
  font-size: 1.125rem;
  line-height: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.063rem;
}
.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item
  .sub_list_menu_item
  a {
  color: #101211 !important;
}

.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item
  .sub_list_menu_item:hover {
  background-color: #fdfff3;
  opacity: 1;
  cursor: pointer;
}
.main_header
  .header_menu
  .menu_item
  .sub_list
  .sub_list_item
  .sub_list_menu_item:hover
  a {
  color: #789c01 !important;
}

.main_header .header_operate .header_lang_btn {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.513rem;
  padding: 0.25rem 1rem;
  color: #a7c34a;
  border: 0.063rem solid #a7c34a;
  text-decoration: none;
  border-radius: 6.25rem;
}

.main_header .header_mobile_menu {
  position: fixed;
  right: 0;
  top: 6rem;
  background: #fff;
  width: 100%;
  height: calc(100vh - 6rem);
  display: none;
  z-index: 1;
  justify-content: space-between;
  padding: 0 1.875rem;
  overflow: auto;
}

.main_header .header_mobile_menu .mobile_links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1.5rem 0.5rem;
}
.main_header .header_mobile_menu .mobile_links .mobile_links_row {
  display: flex;
  gap: 1rem;
}
.main_header .header_mobile_menu .mobile_links .mobile_links_row_full {
  width: 100%;
}
.main_header
  .header_mobile_menu
  .mobile_links
  .mobile_links_row
  .mobile_links_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 4.95rem;
  box-sizing: border-box;
  padding: 0.875rem 1.125rem;
  background-color: #79191d;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2rem;
  letter-spacing: 0.031rem;
  border-radius: 0.5rem;
  flex: 1;
}
.main_header
  .header_mobile_menu
  .mobile_links
  .mobile_links_row
  .mobile_links_item
  img {
  width: 1.5rem;
}
.main_header
  .header_mobile_menu
  .mobile_links
  .mobile_links_row
  .mobile_links_item
  span {
  text-wrap-mode: nowrap;
  color: #ffffff;
}
.main_header .header_mobile_menu .mobile_links .mobile_links_row .link_green {
  background-color: #a7c34a;
}
.main_header .header_mobile_menu .mobile_links .mobile_links_row .link_county {
  background-color: #789c01;
}
.main_header .header_mobile_menu .mobile_links .mobile_site_map_link {
  min-height: 3rem;
}
.main_header .header_mobile_menu .mobile_lang_btn {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.513rem;
  padding: 0.25rem 1rem;
  color: #a7c34a;
  border: 0.063rem solid #a7c34a;
  text-decoration: none;
  border-radius: 6.25rem;
  display: block;
  width: fit-content;
  margin: 0 auto 10rem;
}
.main_header .mobile_header_operate_list {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}
.main_header .mobile_header_operate_list .mobile_operate_item {
  border-bottom: 0.063rem solid #ebebeb;
}

.main_header .mobile_header_operate_list .mobile_operate_level_1 {
  padding: 1rem 0.5rem 1rem 1rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.063rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
}
.main_header .mobile_header_operate_list .mobile_operate_level_2 {
  padding: 1rem 0.5rem 1rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.313rem;
  letter-spacing: 0.063rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
}
.main_header .mobile_header_operate_list .mobile_operate_level_2:hover {
  background-color: #fdfff3;
  color: #789c01 !important;
}

.main_header .mobile_header_operate_list .mobile_sub_menu_list_1 {
  display: none;
}
.main_header .mobile_header_operate_list .mobile_sub_menu_list_2 {
  display: none;
  background-color: #fbfbfb;
}
.main_header .mobile_header_operate_list .mobile_operate_level_3 {
  padding: 1rem 2rem;
  font-size: 1.125rem;
  line-height: 1.313rem;
  letter-spacing: 0.063rem;
  cursor: pointer;
  user-select: none;
  display: block;
  touch-action: manipulation;
}

.main_header .mobile_header_operate_list .mobile_operate_level_3 a {
  font-size: 1.125rem;
}
.main_header .mobile_header_operate_list .mobile_operate_level_3:hover {
  background-color: #fdfff3;
  color: #789c01 !important;
}

.main_header .mobile_header_operate_list .mobile_operate_item img {
  transition: all;
  transition: 0.3s;
  width: 1.5rem;
}

.main_header
  .mobile_header_operate_list
  .mobile_operate_item
  .arrow_down_white {
  display: none;
}
.main_header .menu_level_1_active {
  background-color: #a7c34a;
  color: #fff;
}

.main_header .menu_level_2_active {
  background-color: #fdfff3;
  color: #789c01;
  font-size: 1.25rem;
  line-height: 1.5rem;
}
.main_header .menu_level_1_active img,
.menu_level_2_active img {
  transform: rotate(180deg);
}
.main_header .menu_level_1_active .arrow_down {
  display: none;
}
.main_header
  .mobile_header_operate_list
  .menu_level_1_active
  img.arrow_down_white {
  display: block !important;
}

@media (max-width: 1600px) {
  .main_header .header_menu .menu_item {
    font-size: 1.25rem;
  }
  .main_header .header_operate,
  .header_operate .header_menu {
    gap: 1.25rem;
  }
}

@media (max-width: 1400px) {
  .main_header .header_menu .menu_item {
    font-size: 1.125rem;
  }
  .main_header .header_operate,
  .header_operate .header_menu {
    gap: 0.938rem;
  }
  .main_header .header_operate .header_lang_btn {
    font-size: 1rem;
    line-height: 1.188rem;
  }
}
@media (max-width: 1270px) {
  :root {
    scroll-padding-top: 7rem;
  }
  .header_access_link,
  .footer_access_link,
  .side_access_link,
  .access_link,
  .content_access_link {
    scroll-margin-top: 7rem;
  }
  .main_header .header_pc {
    display: none;
  }
  .main_header .header_mobile {
    display: block;
  }
  .main_header {
    height: 6rem;
  }
  .main_header .header_logo {
    width: 14.438rem;
  }
  .main_header .header_content {
    padding: 1rem 0;
    align-items: center;
  }
}
@media (max-width: 768px) {
  .main_header .header_mobile_menu {
    padding: 0 1rem;
  }
}

@media (orientation: landscape) and (max-height: 768px) {
  .main_header .mobile_header_operate_list .mobile_operate_level_3 {
    font-size: 1rem !important;
    line-height: 1.2rem !important;
    padding: 0.75rem 1.5rem !important;
  }
  .main_header .mobile_header_operate_list .mobile_operate_level_3 a {
    font-size: 1rem !important;
    line-height: 1.2rem !important;
  }
}

.main_footer {
  width: 100%;
}
.main_footer .footer_top {
  background-color: #fbfdf3;
  padding: 5rem 0;
  position: relative;
}
.main_footer .footer_top .footer_top_content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.main_footer .footer_top .footer_top_content .footer_info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.main_footer .footer_top .footer_top_content .footer_info .info_title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5rem;
  letter-spacing: 0.063rem;
  margin-bottom: 0.5rem;
}
.main_footer .footer_top .footer_top_content .footer_info .info_text {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.063rem;
  line-height: 1.313rem;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}
.main_footer .footer_top .footer_top_content .footer_info .info_link {
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.063rem;
  line-height: 1.313rem;
  margin-bottom: 0.25rem;
  display: block;
  width: fit-content;
}
.main_footer .footer_top .footer_top_content .footer_info .info_link.email {
  text-decoration: underline;
}
.main_footer .footer_top .footer_top_content .footer_info .info_text .info_map {
  background-color: #d88f46;
  border-radius: 6.25rem;
  color: #fff;
  display: flex;
  gap: 0.125rem;
  margin-left: 0.5rem;
  padding: 0.25rem 0.5rem;
  text-wrap-mode: nowrap;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.188rem;
  letter-spacing: 0.063rem;
}
.main_footer
  .footer_top
  .footer_top_content
  .footer_info
  .info_text
  .info_map
  img {
  width: 1rem;
}
.main_footer .footer_top .footer_top_content .footer_menu {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 4rem;
}
.main_footer .footer_top .footer_top_content .footer_menu .footer_menu_item {
  width: 15rem;
}
.main_footer .footer_menu .footer_menu_item .footer_menu_item_title,
.footer_menu_item_title a {
  background-color: #a7c34a;
  width: fit-content;
  padding: 0.406rem 1rem;
  color: #fff;
  border-radius: 6.25rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5rem;
  letter-spacing: 0.063rem;
  margin-bottom: 1rem;
}
.main_footer .footer_menu .footer_menu_item .footer_menu_item_title span {
  color: #ffffff;
}
.main_footer .footer_menu .footer_menu_item .footer_menu_item_list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-left: 2rem;
}
.main_footer
  .footer_menu
  .footer_menu_item
  .footer_menu_item_list
  .footer_menu_subitem {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5rem;
  letter-spacing: 0.063rem;
}

.main_footer .footer_bottom {
  background-color: #101211;
  padding: 2rem 0;
}
.main_footer .footer_bottom .footer_bottom_content {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
}
.main_footer .footer_bottom .footer_bottom_content img {
  width: 7.438rem;
}
.main_footer .copyright {
  flex: 1;
  text-align: right;
}
.main_footer .gap-4 {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.main_footer .footer_bottom .footer_ps {
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.188rem;
  letter-spacing: 0.063rem;
}

@media (max-width: 1650px) {
  .main_footer .footer_top .footer_top_content .footer_menu {
    gap: 0;
  }
}
@media (max-width: 1400px) {
  .main_footer .footer_top .footer_top_content .footer_menu {
    grid-template-columns: repeat(2, auto);
    gap: 3.125rem 1.25rem;
  }
}
@media (max-width: 1300px) {
  .main_footer .footer_bottom {
    padding: 1.5rem 0;
  }
  .main_footer .footer_bottom .footer_bottom_content {
    gap: 1rem;
    flex-direction: column;
    align-items: center;
  }

  .main_footer .footer_bottom .footer_bottom_content p {
    text-align: center;
  }
}
@media (max-width: 990px) {
  .main_footer .footer_top .footer_top_content .footer_menu {
    gap: 3.125rem 0;
  }
}
@media (max-width: 940px) {
  .main_footer .footer_top .footer_top_content {
    flex-direction: column;
    gap: 2.5rem;
  }
  .main_footer .footer_top .footer_top_content .footer_menu {
    grid-template-columns: repeat(2, auto);
    gap: 2.5rem 1.5rem;
  }
}
@media (max-width: 570px) {
  .main_footer .footer_top .footer_top_content .footer_menu {
    grid-template-columns: repeat(1, auto);
    gap: 1.5rem;
  }
}
@media (max-width: 420px) {
  .main_footer .footer_top .footer_top_content .footer_info .info_title {
    font-size: 1.125rem;
    line-height: 1.313rem;
  }
  .main_footer .footer_top .footer_top_content .footer_info .info_link {
    font-size: 1rem;
    line-height: 1.188rem;
  }
  .main_footer .footer_top .footer_top_content .footer_info .info_text {
    font-size: 1rem;
    line-height: 1.188rem;
  }
  .main_footer .footer_top {
    padding: 1.5rem 0;
  }
}

/* 電子報文章寬度調整 */
.btseditor_content-row,
.btseditor_content-cell,
.btseditor_content-item {
  width: 100% !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
