 /* 设置根元素字体大小，以设计稿 1280px 为基准，1em = 100px */
 html {
   margin: 0;
   padding: 0;
   background-color: #f5f5f5;
 }

 body {
   margin: 0;
   padding: 0;
   font-family: Arial, sans-serif;
   position: relative;
   background-color: #f5f5f5;
   /* 只在 body 裁切横向溢出，避免 html+body 各出一条纵向滚动条 */
   overflow-x: hidden;
 }

a {

	text-decoration:none;

	color:#282826;

}
 /* html {
   font-size: calc(100vw / 12.8);
 } */

 @media (max-width: 1280px) {
  #ceshiback {
    width: 100%;
    margin: 0 auto;
    background-color: #F1F1F1;
    position: relative;
    z-index: 1;
    font-size: calc(100vw / 12.8);
  }
  .header-position {
   position: relative;
   /* width: 1280px; */
   margin: 0 auto;
   top: 0;
   left: 0;
   overflow: visible;
 }
 .footerRem{
   display: flex;
   flex-direction: row-reverse;
   padding: 0.4em;
   position: relative;
   background-color: #c12f2f;
   margin: 0 auto;
 }
}

 @media (min-width: 1280px) {
  #ceshiback {
    width: 1280px;
    margin: 0 auto;
    background-color: #F1F1F1;
    position: relative;
    z-index: 1;
    font-size: 100px;
  }
  .header-position {
   position: relative;
   width: 1280px;
   margin: 0 auto;
   top: 0;
   left: 0;
   overflow: visible;
 }
 header .nav-container {
   width: 100vw;
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
 }
 header .nav-text {
   width: 1280px;
   left: 50%;
   transform: translateX(-50%);
 }
 .footerRem{
   display: flex;
   flex-direction: row-reverse;
   padding: 0.4em;
   position: relative;
   background-color: #c12f2f;
   width: 1280px;
   margin: 0 auto;
 }
}

 header {
   position: relative;
   /* width: 100%;
   width: 1280px;  */
   z-index: 100;
 }

 .header-background {
   background-image: url('../icon/top-body.jpg');
   background-size: cover;
   background-position: center;
   width: 100vw;
   height: 2.33em;
   box-sizing: border-box;
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
   overflow: visible;
 }

 .header-background1 {
   background-image: url('../icon/back98.jpg');
   background-size: auto;
   background-repeat: repeat;
   background-position: center;
   width: 100vw;
   height: 0.77em;
   box-sizing: border-box;
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
 }

 .header-logo {
   width: 100%;
   margin: 0;
   padding: 0;
 }

 .header-nav-img {
   width: 100%;
   height: auto;
   display: block;
 }

 

 .nav-container {
   position: relative;
   /* top: -0.23em; */
   width: 100%;
   overflow: visible;
 }

 .nav-text {
   position: absolute;
   top: 0;
   left: 0;
   font-size: 0.2em;
   font-weight: 600;
   color: white;
   width: 100%;
   overflow: visible;
 }

 .nav-list {
   list-style: none;
   padding: 1em 0;
   margin-left: 5em;
   display: flex;
   width: 100%;
   overflow: visible;
 }

 .nav-item {
   position: relative;
   text-align: center;
   margin-right: 3.2em;
   flex-shrink: 0;
 }

 .nav-link {
   color: #fff;
   text-decoration: none;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.25em;
   white-space: nowrap;
   padding: 0.15em 0;
   transition: color 0.25s ease, text-shadow 0.25s ease;
   cursor: pointer;
 }

 .nav-item:hover > .nav-link,
 .nav-item.open > .nav-link {
   color: #FFE566;
   text-shadow: 0 1px 8px rgba(255, 220, 100, 0.45);
 }

 .nav-item.has-submenu:hover > .nav-link,
 .nav-item.has-submenu.open > .nav-link {
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);
   box-shadow: inset 0 -2px 0 rgba(255, 210, 80, 0.55);
   border-radius: 0.06em 0.06em 0 0;
   padding: 0.15em 0.5em;
   margin: -0.15em -0.5em 0;
 }

 .nav-arrow {
   display: inline-block;
   width: 0;
   height: 0;
   border-left: 0.18em solid transparent;
   border-right: 0.18em solid transparent;
   border-top: 0.22em solid rgba(255, 255, 255, 0.75);
   margin-top: 0.05em;
   transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-top-color 0.25s ease;
 }

 .nav-item:hover .nav-arrow,
 .nav-item.open .nav-arrow {
   transform: rotate(180deg);
   border-top-color: #FFE566;
 }

 /* 二级下拉菜单 */
 .nav-submenu {
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%) scaleY(0.92);
   transform-origin: top center;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   z-index: 1001;
   padding-top: 30px;
   transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1),
               transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
               visibility 0.28s;
 }

 .nav-item.has-submenu:hover .nav-submenu,
 .nav-item.has-submenu.open .nav-submenu {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
   transform: translateX(-50%) scaleY(1);
 }

 .nav-submenu-inner {
   position: relative;
   background: #d81010;
   border: 1px solid rgba(255, 200, 110, 0.2);
   border-top: none;
   border-radius: 0 0 0.08em 0.08em;
   box-shadow:
     0 0.1em 0.35em rgba(80, 8, 8, 0.28),
     0 0.04em 0.1em rgba(0, 0, 0, 0.12),
     inset 0 1px 0 rgba(255, 255, 255, 0.08);
   min-width: 10.5em;
   padding: 0.28em 0 0.32em;
   overflow: hidden;
 }

 /* 顶部衔接三角 */
 .nav-submenu-inner::before {
   content: '';
   position: absolute;
   top: -0.04em;
   left: 50%;
   transform: translateX(-50%);
   width: 0;
   height: 0;
   border-left: 0.24em solid transparent;
   border-right: 0.24em solid transparent;
   border-bottom: 0.04em solid #d81010;
 }

 /* 金色装饰线 */
 .nav-submenu-inner::after {
   content: '';
   display: block;
   height: 1px;
   margin: 0 0.6em 0.22em;
   background: linear-gradient(90deg, transparent 0%, rgba(255, 210, 90, 0.65) 20%, rgba(255, 230, 140, 0.85) 50%, rgba(255, 210, 90, 0.65) 80%, transparent 100%);
 }

 .nav-submenu-item {
   display: block;
   padding: 0.46em 1.5em 0.46em 1.65em;
   color: rgba(255, 255, 255, 0.9);
   text-decoration: none;
   font-size: 0.9em;
   font-weight: 500;
   line-height: 1.45;
   white-space: nowrap;
   position: relative;
   letter-spacing: 0.03em;
   transition: color 0.22s ease, background 0.22s ease, padding-left 0.22s ease;
   border-bottom: 1px solid rgba(255, 255, 255, 0.06);
 }

 .nav-submenu-item:last-child {
   border-bottom: none;
 }

 .nav-submenu-item::before {
   content: '';
   position: absolute;
   left: 0.75em;
   top: 50%;
   width: 0.07em;
   height: 0.07em;
   background: rgba(255, 210, 90, 0.55);
   border-radius: 50%;
   transform: translateY(-50%);
   transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
 }

 .nav-submenu-item:hover {
   color: #FFE566;
   background: linear-gradient(90deg, rgba(255, 200, 60, 0.14) 0%, rgba(255, 200, 60, 0.04) 70%, transparent 100%);
   padding-left: 1.85em;
 }

 .nav-submenu-item:hover::before {
   background: #FFE566;
   box-shadow: 0 0 6px rgba(255, 230, 100, 0.7);
   transform: translateY(-50%) scale(1.3);
 }

 @keyframes navSubmenuSlideIn {
   from {
     opacity: 0.6;
     transform: translateX(-4px);
   }
   to {
     opacity: 1;
     transform: translateX(0);
   }
 }

 .nav-item.has-submenu:hover .nav-submenu-item,
 .nav-item.has-submenu.open .nav-submenu-item {
   animation: navSubmenuSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
 }

 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(1),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(1) { animation-delay: 0.03s; }
 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(2),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(2) { animation-delay: 0.06s; }
 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(3),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(3) { animation-delay: 0.09s; }
 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(4),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(4) { animation-delay: 0.12s; }
 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(5),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(5) { animation-delay: 0.15s; }
 .nav-item.has-submenu:hover .nav-submenu-item:nth-child(6),
 .nav-item.has-submenu.open .nav-submenu-item:nth-child(6) { animation-delay: 0.18s; }

 @media (max-width: 1280px) {
   .nav-list {
     margin-left: 3.5em;
   }
   .nav-item {
     margin-right: 2em;
   }
 }

 @media (max-width: 768px) {
   .nav-list {
     margin-left: 2em;
     flex-wrap: wrap;
     padding: 0.6em 0;
   }
   .nav-item {
     margin-right: 1.2em;
     margin-bottom: 0.2em;
   }
   .nav-item.has-submenu:hover > .nav-link,
   .nav-item.has-submenu.open > .nav-link {
     border-radius: 0.06em;
     margin: 0;
   }
   .nav-submenu {
     position: static;
     transform: none;
     opacity: 1;
     visibility: hidden;
     pointer-events: none;
     max-height: 0;
     overflow: hidden;
     padding-top: 0;
     transition: max-height 0.32s ease, visibility 0.32s;
   }
   .nav-item.has-submenu.open .nav-submenu {
     visibility: visible;
     pointer-events: auto;
     max-height: 20em;
   }
   .nav-submenu-inner {
     border-radius: 0.08em;
     margin-top: 0.15em;
     border-top: 1px solid rgba(255, 200, 110, 0.22);
     box-shadow: 0 0.06em 0.2em rgba(60, 8, 8, 0.25);
   }
   .nav-submenu-inner::before {
     display: none;
   }
   .nav-submenu-item {
     animation: none;
     font-size: 0.85em;
     padding: 0.38em 1em 0.38em 1.3em;
   }
 }

 /* 新增类样式 */
 .header-content {
   margin: 0 auto;
   padding: 0.1em;
   box-sizing: border-box;
   background-color: #f5f5f5;
 }

 .main-content {
   display: flex;
   padding-bottom: 0.3em;
 }

 .notice-section {
   margin-left: 0.5em;
   margin-right: 0.5em;
   text-align: center;
 }

 .notice-title {
   font-size: 0.22em;
   color: #cb1a1a;
   font-weight: 600;
 }

 .notice-date {
   font-size: 0.16em;
   background-color: #cb1a1a;
   color: white;
   margin-top: 0.05em;
   padding: 0.05em 0.1em;
   border-radius: 0.05em;
 }

 .news-title {
   font-size: 0.18em;
   font-weight: 600;
   margin-top: 0.05em;
 }

 .news-content {
   font-size: 0.16em;
   color: #3c3c3c;
   margin-top: 0.1em;
 }

 .image-and-news-container {
   background-color: white;
   display: grid;
   grid-template-columns: 1.05fr 0.95fr;
   grid-template-rows: auto 1fr;
   column-gap: 0.14em;
   row-gap: 0;
   width: 100%;
   padding: 0.2em 0.4em 0.15em;
   box-sizing: border-box;
   align-items: stretch;
 }

 .image-container {
   grid-column: 1;
   grid-row: 1 / 3;
   position: relative;
   border: 1px solid #e0dcd6;
   overflow: hidden;
   min-height: 3.6em;
   box-shadow: 0 0.06em 0.24em rgba(0, 0, 0, 0.07);
 }

 .image-mask {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: linear-gradient(transparent, rgba(0, 0, 0, 0.72));
   padding: 0.5em 0.8em 0.6em;
   color: white;
   font-size: 0.15em;
   line-height: 1.4;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   text-align: left;
 }

 .news-list-header {
   grid-column: 2;
   grid-row: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 0.12em 0.2em 0.1em;
   border: 1px solid #ece8e3;
   border-bottom: none;
   background: linear-gradient(180deg, #fffdfb 0%, #faf7f3 100%);
   box-shadow: 0 0.04em 0.2em rgba(0, 0, 0, 0.04);
 }

 .news-list-headline {
   display: flex;
   align-items: center;
   gap: 0.1em;
 }

 .news-list-headline-bar {
   display: inline-block;
   width: 0.04em;
   height: 0.22em;
   background: linear-gradient(180deg, #d81010 0%, #a81818 100%);
   border-radius: 0.02em;
 }

 .news-list-headline-text {
   font-size: 0.2em;
   font-weight: 700;
   color: #2c2c2c;
   letter-spacing: 0.08em;
 }

 .news-sub-tabs {
   display: flex;
   align-items: center;
   gap: 0.08em;
 }

 .news-sub-tab {
   font-size: 0.16em;
   color: #666;
   padding: 0.35em 0.75em;
   cursor: pointer;
   position: relative;
   transition: color 0.25s ease;
   white-space: nowrap;
   letter-spacing: 0.04em;
 }

 .news-sub-tab::after {
   content: '';
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 0;
   height: 2px;
   background: linear-gradient(90deg, #d81010, #ff8f0b);
   border-radius: 1px;
   transform: translateX(-50%);
   transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .news-sub-tab:hover,
 .news-sub-tab.active {
   color: #d81010;
   font-weight: 600;
 }

 .news-sub-tab.active::after,
 .news-sub-tab:hover::after {
   width: 70%;
 }

 .news-more-link {
   font-size: 0.14em;
   color: #999;
   text-decoration: none;
   margin-left: 0.15em;
   padding: 0.3em 0.5em;
   transition: color 0.2s ease;
   white-space: nowrap;
 }

 .news-more-link:hover {
   color: #d81010;
 }

 .news-panels {
   grid-column: 2;
   grid-row: 2;
   display: flex;
   flex-direction: column;
   border: 1px solid #ece8e3;
   border-top: none;
   box-shadow: 0 0.04em 0.2em rgba(0, 0, 0, 0.04);
   min-height: 0;
   overflow: hidden;
 }

 .news-panel {
   display: none;
   flex: 1;
   flex-direction: column;
   gap: 0.1em;
   padding: 0.1em;
   box-sizing: border-box;
   animation: newsPanelFadeIn 0.35s ease;
 }

 .news-panel.active {
   display: flex;
 }

 @keyframes newsPanelFadeIn {
   from {
     opacity: 0;
     transform: translateY(4px);
   }
   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .news-item {
   flex: 1;
   display: flex;
   align-items: stretch;
   gap: 0.12em;
   padding: 0.1em 0.12em;
   background-color: #f8f6f3;
   border-left: 2px solid transparent;
   transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
   min-height: 0;
   box-sizing: border-box;
 }

 .news-item:hover {
   background-color: #fff;
   border-left-color: #d81010;
   box-shadow: 0 0.02em 0.1em rgba(216, 16, 16, 0.08);
 }

 .news-date-box {
   flex-shrink: 0;
   width: 0.58em;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   background: linear-gradient(165deg, #e82525 0%, #c81010 100%);
   color: #fff;
   padding: 0.1em 0.05em;
   text-align: center;
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
 }

 .news-date-day {
   font-size: 0.2em;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.02em;
   white-space: nowrap;
 }

 .news-date-line {
   display: block;
   width: 55%;
   height: 1px;
   background: rgba(255, 255, 255, 0.4);
   margin: 0.05em 0;
 }

 .news-date-year {
   font-size: 0.13em;
   line-height: 1;
   opacity: 0.92;
   letter-spacing: 0.03em;
 }

 .news-item-content {
   flex: 1;
   min-width: 0;
   display: flex;
   flex-direction: column;
   justify-content: center;
 }

 .news-item-link {
   display: block;
   text-decoration: none;
   color: inherit;
   min-width: 0;
 }

 .news-item-title {
   font-size: 0.17em;
   font-weight: 600;
   color: #222;
   line-height: 1.4;
   margin: 0;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }

 .news-item-description {
   font-size: 0.14em;
   color: #777;
   line-height: 1.55;
   margin: 0.06em 0 0;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   min-height: 3.1em;
   max-height: 3.1em;
 }

 @media (max-width: 768px) {
   .image-and-news-container {
     grid-template-columns: 1fr;
     grid-template-rows: auto auto auto;
     padding: 0.15em 0.2em;
   }
   .image-container {
     grid-column: 1;
     grid-row: 2;
     min-height: 2.5em;
   }
   .news-list-header {
     grid-column: 1;
     grid-row: 1;
   }
   .news-panels {
     grid-column: 1;
     grid-row: 3;
   }
   .news-date-box {
     width: 0.7em;
   }
   .news-item-title {
     font-size: 0.2em;
   }
   .news-item-description {
     font-size: 0.16em;
     min-height: 3.1em;
     max-height: 3.1em;
   }
 }

 .news-item1 {
   background-color: white;
   display: flex;
   margin-bottom: 0.2em;
 }

 /* 幻灯片容器 */
 .slideshow-container {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
 }

 .mySlides {
   display: none;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
 }

 .mySlides img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
 }

 /* 上一张和下一张按钮 */
 .prev,
 .next {
   cursor: pointer;
   position: absolute;
   top: 50%;
   width: auto;
   margin-top: -0.22rem;
   padding: 0.16rem;
   color: white;
   font-weight: bold;
   font-size: 0.18rem;
   transition: 0.6s ease;
   border-radius: 0 0.03rem 0.03rem 0;
   user-select: none;
 }

 /* 下一张按钮靠右 */
 .next {
   right: 0;
   border-radius: 0.03rem 0 0 0.03rem;
 }

 /* 鼠标悬停时按钮背景变黑 */
 .prev:hover,
 .next:hover {
   background-color: rgba(0, 0, 0, 0.8);
 }

 /* 幻灯片指示点 */
 .dot {
   cursor: pointer;
   height: 0.15rem;
   width: 0.15rem;;
   margin: 0 0.02rem;
   background-color: #bbb;
   border-radius: 50%;
   display: inline-block;
   transition: background-color 0.6s ease;
 }

 .active,
 .dot:hover {
   /*background-color: #717171;*/
 }

 /* 淡入动画 */
 .fade {
   animation-name: fade;
   animation-duration: 1.5s;
 }

 @keyframes fade {
   from {
     opacity: .4
   }

   to {
     opacity: 1
   }
 }

 /* 新增选中代码相关样式 */
 .centered-nav-text {
   text-align: center;
   font-size: 0.3em;
   font-weight: 400;
   padding: 1.8em 0;
   letter-spacing: 0.3em;
 }

 .white-bg-relative {
   background-color: white;
   position: relative;
 }

 .white-bg-absolute {
   background-color: white;
   position: absolute;
   right: 0;
   top: -0.15em;
   width: 10%;
   height: 0.3em;
 }

 .section-title {
   color: #d81010;
   font-size: 0.34em;
   font-weight: 600;
 }

 .top-offset-img {
   position: relative;
   top: -0.45em;
 }

 .training-news-container {
   position: relative;
   top: -0.6em;
 }

 .schedule-section {
   position: relative;
   padding: 0.45em 0.4em 0.5em;
   margin-top: 0.12em;
   background:
     radial-gradient(ellipse 80% 50% at 50% 0%, rgba(216, 16, 16, 0.04) 0%, transparent 70%),
     linear-gradient(180deg, #faf6f1 0%, #fffdfb 40%, #ffffff 100%);
   border-top: 1px solid #ebe3d8;
 }

 .schedule-section::before {
   content: '';
   position: absolute;
   top: 0;
   left: 10%;
   right: 10%;
   height: 3px;
   background: linear-gradient(90deg, transparent, #d4a84b 20%, #d81010 50%, #d4a84b 80%, transparent);
 }

 .schedule-section-inner {
   max-width: 11.5em;
   margin: 0 auto;
   background: rgba(255, 255, 255, 0.85);
   border-radius: 0.08em;
   padding: 0.3em 0.28em 0.32em;
   box-shadow:
     0 0.12em 0.5em rgba(80, 40, 20, 0.07),
     0 0 0 1px rgba(212, 168, 75, 0.12),
     inset 0 1px 0 rgba(255, 255, 255, 0.9);
 }

 .schedule-section-header {
   text-align: center;
   margin-bottom: 0.28em;
 }

 .schedule-header-ornament {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.12em;
   margin-bottom: 0.15em;
 }

 .schedule-ornament-line {
   width: 0.8em;
   height: 1px;
   background: linear-gradient(90deg, transparent, #d4a84b);
 }

 .schedule-ornament-line:last-child {
   background: linear-gradient(90deg, #d4a84b, transparent);
 }

 .schedule-ornament-diamond {
   width: 0.06em;
   height: 0.06em;
   background: #d4a84b;
   transform: rotate(45deg);
   box-shadow: 0 0 0 2px rgba(212, 168, 75, 0.25);
 }

 .schedule-section-title {
   margin: 0;
   font-size: 0.36em;
   font-weight: 700;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.14em;
 }

 .schedule-title-main {
   color: #c81010;
   letter-spacing: 0.14em;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
 }

 .schedule-title-dot {
   width: 0.05em;
   height: 0.05em;
   background: linear-gradient(135deg, #ff8f0b, #d4a84b);
   border-radius: 50%;
   flex-shrink: 0;
   box-shadow: 0 0 0.04em rgba(255, 143, 11, 0.4);
 }

 .schedule-title-sub {
   color: #c48a2a;
   letter-spacing: 0.1em;
   font-weight: 600;
 }

 .schedule-section-desc {
   font-size: 0.15em;
   color: #999;
   margin: 0.4em 0 0;
   letter-spacing: 0.2em;
   text-transform: none;
 }

 .schedule-tabs-wrap {
   display: flex;
   justify-content: center;
   margin-bottom: 0.25em;
 }

 .schedule-tabs {
   display: inline-flex;
   gap: 0.04em;
   padding: 0.05em;
   background: linear-gradient(180deg, #f3ece4 0%, #ebe3d8 100%);
   border-radius: 0.06em;
   box-shadow:
     inset 0 1px 2px rgba(0, 0, 0, 0.06),
     0 1px 0 rgba(255, 255, 255, 0.8);
   border: 1px solid rgba(212, 168, 75, 0.2);
 }

 .schedule-tab {
   font-size: 0.15em;
   padding: 0.5em 1.15em;
   border: none;
   background: transparent;
   color: #777;
   cursor: pointer;
   border-radius: 0.04em;
   letter-spacing: 0.08em;
   transition: all 0.32s cubic-bezier(0.4, 0, 0.2, 1);
   font-family: inherit;
   font-weight: 500;
   position: relative;
 }

 .schedule-tab:hover {
   color: #c81010;
 }

 .schedule-tab.active {
   color: #fff;
   background: linear-gradient(165deg, #e02020 0%, #c81010 45%, #a81818 100%);
   box-shadow:
     0 0.04em 0.12em rgba(168, 24, 24, 0.35),
     inset 0 1px 0 rgba(255, 255, 255, 0.2);
   font-weight: 600;
 }

 .schedule-panel {
   display: none;
   animation: schedulePanelIn 0.45s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .schedule-panel.active {
   display: block;
 }

 @keyframes schedulePanelIn {
   from { opacity: 0; transform: translateY(10px); }
   to { opacity: 1; transform: translateY(0); }
 }

 .schedule-panel-head {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 0.12em;
   padding: 0 0.05em;
 }

 .schedule-panel-badge {
   font-size: 0.14em;
   color: #c81010;
   font-weight: 600;
   letter-spacing: 0.06em;
   display: inline-flex;
   align-items: baseline;
   gap: 0.15em;
   padding: 0.3em 0.55em;
   background: linear-gradient(135deg, rgba(216, 16, 16, 0.08) 0%, rgba(212, 168, 75, 0.06) 100%);
   border-left: 3px solid #d81010;
   border-radius: 0 0.03em 0.03em 0;
 }

 .schedule-panel-badge em {
   font-style: normal;
   font-size: 1.35em;
   font-weight: 700;
   font-family: Georgia, "Times New Roman", serif;
   color: #a81818;
 }

 .schedule-panel-subtitle {
   font-size: 0.13em;
   color: #b5a898;
   letter-spacing: 0.1em;
 }

 .schedule-table-wrap {
   position: relative;
   background: #fff;
   border-radius: 0.06em;
   overflow: hidden;
   box-shadow:
     0 0.1em 0.35em rgba(60, 30, 10, 0.08),
     0 0 0 1px rgba(212, 168, 75, 0.15);
 }

 .schedule-table-wrap::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 2px;
   background: linear-gradient(90deg, #d4a84b, #d81010, #d4a84b);
   z-index: 1;
 }

 .schedule-table {
   width: 100%;
   border-collapse: collapse;
   table-layout: fixed;
 }

 .schedule-table thead th {
   font-size: 0.16em;
   font-weight: 600;
   color: #fff;
   background: linear-gradient(180deg, #b81818 0%, #961515 100%);
   padding: 0.65em 0.4em;
   letter-spacing: 0.18em;
   border: none;
   text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
   position: relative;
 }

 .schedule-table thead th::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 2px;
   background: linear-gradient(90deg, transparent, #d4a84b, transparent);
 }

 .schedule-table .col-day {
   width: 13%;
 }

 .schedule-table .col-time {
   width: 11%;
 }

 .schedule-table tbody tr {
   transition: background 0.25s ease, box-shadow 0.25s ease;
 }

 .schedule-table tbody tr:nth-child(odd) {
   background: #fff;
 }

 .schedule-table tbody tr:nth-child(even) {
   background: #fcfaf7;
 }

 .schedule-table tbody tr:hover {
   background: linear-gradient(90deg, #fff8f5 0%, #fff 100%);
 }

 .schedule-table tbody tr:hover .schedule-content {
   color: #2a2a2a;
 }

 .schedule-table td {
   font-size: 0.14em;
   padding: 0.48em 0.38em;
   border-bottom: 1px solid #f2ebe3;
   vertical-align: middle;
   line-height: 1.6;
 }

 .schedule-table tbody tr:last-child td {
   border-bottom: none;
 }

 .schedule-day {
   font-weight: 700;
   color: #c81010;
   text-align: center;
   letter-spacing: 0.06em;
   white-space: nowrap;
   background: linear-gradient(90deg, rgba(216, 16, 16, 0.06) 0%, rgba(216, 16, 16, 0.02) 60%, transparent 100%);
   border-right: 1px solid #f5ebe3;
   position: relative;
 }

 .schedule-day::before {
   content: '';
   position: absolute;
   left: 0;
   top: 20%;
   bottom: 20%;
   width: 2px;
   background: linear-gradient(180deg, #d81010, #d4a84b);
   border-radius: 1px;
 }

 .schedule-time {
   color: #555;
   font-weight: 500;
   text-align: center;
   font-family: inherit;
   white-space: nowrap;
   font-size: 1em;
 }

 .schedule-table td.schedule-time {
   background: rgba(212, 168, 75, 0.04);
 }

 .schedule-content {
   color: #555;
   text-align: left;
   padding-left: 0.55em;
   padding-right: 0.4em;
   letter-spacing: 0.02em;
   transition: color 0.2s ease;
 }

 .schedule-footnote {
   font-size: 0.12em;
   color: #bbb;
   text-align: center;
   margin: 0.4em 0 0;
   letter-spacing: 0.08em;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.3em;
 }

 .schedule-footnote-icon {
   color: #d4a84b;
   font-size: 1.1em;
 }

 @media (max-width: 768px) {
   .schedule-section {
     padding: 0.3em 0.15em;
   }
   .schedule-section-inner {
     padding: 0.22em 0.15em;
   }
   .schedule-tabs {
     flex-wrap: wrap;
     justify-content: center;
   }
   .schedule-tab {
     font-size: 0.17em;
     padding: 0.45em 0.75em;
   }
   .schedule-panel-head {
     flex-direction: column;
     align-items: flex-start;
     gap: 0.08em;
   }
   .schedule-table .col-day {
     width: 18%;
   }
   .schedule-table .col-time {
     width: 15%;
   }
   .schedule-table td,
   .schedule-table thead th {
     font-size: 0.15em;
     padding: 0.38em 0.18em;
   }
 }

 .orange-dot {
   display: inline-block;
   width: 0.1em;
   height: 0.1em;
   background-color: #ff8f0b;
   border-radius: 50%;
   vertical-align: middle;
 }

 .column-margin {
   margin: 0 0.2em;
 }

 .training-snapshot-section {
   background-color: #f1f1f1;
   position: relative;
   padding-bottom: 0.1em;
   /* 提取原内联样式 */
 }

 .training-snapshot-title {
   color: #cc4040;
   font-size: 0.2em;
   font-weight: 600;
   margin-left: 0.8em;
   padding-top: 0.5em;
 }

 .training-snapshot-scroll-container {
   margin: 0 0.2em 0 0.3em;
   width: calc(100% - 0.6em);
   overflow: hidden;
   /* 隐藏溢出内容 */
   position: relative;
   padding-top: 0.1em;
 }

 .training-snapshot-item-wrapper {
   display: inline-flex;
   /* 让项目横向排列 */
   animation: scroll 20s linear infinite;
   /* 定义动画，20s 可根据需要调整 */
 }

 @keyframes scroll {
   0% {
     transform: translateX(0);
   }

   100% {
     /* 移动的距离为项目总宽度 */
     transform: translateX(calc(-100% / 2));
   }
 }

 .training-snapshot-item {
   background-color: white;
   width: 22%;
   margin-right: 0.2em;
   flex-shrink: 0;
   /* 防止项目收缩 */
 }

 .training-snapshot-item img {
   width: 100%;
   height: auto;
   border: 0.02em solid #ebd4aa;
 }

 .training-snapshot-caption {
   text-align: center;
   position: relative;
   top: -0.3em;
   font-size: 0.18em;
   padding-bottom: 0.6em;
   color: gray;
 }

 .yuandain1 {
   display: inline-block;
   width: 0.2em;
   /* 小圆点的宽度 */
   height: 0.2em;
   /* 小圆点的高度 */
   background-color: #000;
   /* 小圆点的颜色设置为黑色 */
   border-radius: 50%;
   /* 使元素呈圆形 */
   vertical-align: middle;
   /* 垂直居中对齐 */
 }

 .qr-code {
   position: fixed;
   bottom: 22%;
   right: 4rem;
   /* 初始位置在右侧隐藏 */
   opacity: 0;
   transition: all 0.3s ease;
   /* 添加过渡动画 */
   z-index: 999;
 }

 .qr-code.show {
   right: 0.7rem;
   /* 滑出后的位置 */
   opacity: 1;
 }


 #pagenav {
     margin: 30px 0;
     text-align: center;
     clear: both;
     overflow: hidden;
 }
 #pagenav ul {
     display: inline-flex;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
     gap: 8px;
     width: auto !important;
     margin: 0;
     padding: 0;
     list-style: none;
 }
 #pagenav br {
     display: none;
 }
 #pagenav a {
     display: inline-block;
     text-decoration: none;
 }
 #pagenav li,
 #pagenav a > li {
     float: none;
     display: inline-block;
     min-width: 36px;
     height: 36px;
     margin: 0;
     padding: 0 12px;
     box-sizing: border-box;
     border: 1px solid #e5e0d8;
     border-radius: 4px;
     background-color: #fff;
     color: #666;
     font-size: 14px;
     line-height: 34px;
     list-style: none;
     text-align: center;
     transition: all 0.2s ease;
 }
 #pagenav li:hover,
 #pagenav a:hover > li {
     border-color: #d81010;
     color: #d81010;
     background-color: #fff8f6;
 }
 #pagenav li a {
     color: #666;
     text-decoration: none;
 }
 #pagenav li.thisclass {
     border-color: #d81010;
     background-color: #d81010;
     color: #fff;
     font-weight: 600;
 }
 #pagenav li.thisclass a {
     color: #fff;
 }
 #pagenav li.disabled {
     color: #bbb;
     background: #f7f5f2;
     border-color: #eee;
     cursor: not-allowed;
 }

/* 主内容与页脚留出间距，避免 footer-deco 上浮遮挡正文 */
#ceshiback > main {
  margin-bottom: 1.35em;
}

/* 底部信息栏 */
.site-footer {
  position: relative;
}
.site-footer-bar {
  background-color: #c12f2f;
  width: 100vw;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0.2em 0 0.25em;
  position: relative;
  overflow: visible;
}
.footer-deco {
  position: absolute;
  top: -1em;
  left: 0;
  width: 2.8em;
  height: 2.65em;
  z-index: 1;
  pointer-events: none;
}
.footer-logo {
  width: 2.16em;
  height: 2.16em;
  flex-shrink: 0;
}
.footer-info {
  font-size: 0.2em;
  color: #fff;
  line-height: 1.65;
  flex: 1;
  margin-right: 0.4em;
  position: relative;
  top: -1.5em;
}
.footer-info p {
  margin: 0.06em 0;
}
.footer-link,
.footer-beian-link {
  color: #fff;
  text-decoration: none;
}
.footer-link:hover,
.footer-beian-link:hover {
  color: #fde8e8;
  text-decoration: underline;
}
.footer-beian {
  display: flex;
  align-items: center;
  gap: 0.04em;
}
.footer-beian-icon {
  width: 0.3rem;
  height: 0.3rem;
  flex-shrink: 0;
}

@media (min-width: 1280px) {
  .footer-deco {
    top: -1.26em;
    left: 0.5em;
    width: 3.8em;
    height: 3.65em;
  }
  .footer-info {
    margin-right: 3.4em;
  }
}
