/*Technical Support SudyTech*/

:root {
  --c-primary: #044990;      /* primary brand color */
  --c-blue: #1061a5;         /* gradient blue */
  --c-blue-light: #51a3e7;   /* light blue */
  --c-navy: #00264d;         /* deep navy (navigation background) */
  --c-cyan: #07b1b1;         /* cyan accent */
  --c-red: #981f02;          /* red accent (for titles) */
  --c-red-bright: #d33b17;   /* bright red */
  --c-card: #eaf2fa;         /* card background */
  --c-text: #333333;
  --c-gray: #7d868e;
  --c-gray-light: #7c94ac;
  --c-date-blue: #d3dee8;
  --c-bg: #f8fdff;
  --f-sans: 'Noto Sans SC', 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --f-serif: 'Noto Serif SC', 'Source Han Serif CN', 'SimSun', serif;
  --f-num: 'Poppins', 'Noto Sans SC', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
  font-size: calc(100vw / 192); /* 1rem = 10px @1920px; proportional scaling for >=999px */
  scroll-behavior: smooth;
}
.bg1{position: relative;padding-bottom: 22rem;}
.bg11{position: absolute;top: -15rem;left: 0;width: 100%;object-fit: contain;}

body {
  font-family: var(--f-sans);
  color: var(--c-text);
  background: var(--c-bg);
  line-height: 1.6;
  overflow-x: hidden;
}
@font-face {
  font-family: Source Han Sans CN;
  src: url(../images/SourceHanSansCN-VF-7000.woff2);
}
@font-face {
  font-family: Source Han Serif CN;
  src: url(../images/SourceHanSerifCN-VF-7000.woff2);
}
img { display: block; max-width: 100%; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.container {
  width: 144rem;
  max-width: 94%;
  margin: 0 auto;
}

.ico { width: 1.8em; height: 1.8em; flex: none; }
.fs-btn {}.fs-btn:nth-child(2) {
    border-left: 1px solid #D5CAB7;
    border-right: 1px solid #D5CAB7;
}
/* ---------------- Header / top navigation ---------------- */
.site-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 20;
}

.topbar {
  height: 8.2rem;
  background: var(--c-primary);
}
.topbar__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.brand__full { width: 37.7rem; height: 6.3rem; }
.brand__text { width: 23.1rem; height: 5.2rem; }
.brand__divider {
  width: 0.1rem;
  height: 4.2rem;
  background: rgba(255, 255, 255, 0.4);
}
.brand__divider--tall { height: 8rem; }
.topbar__links {
  display: flex;
  align-items: center;
  gap: 3.4rem;
}
.topbar__link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  color: #fff;
  transition: opacity 0.2s ease;
}
.topbar__link .ico { width: 1.6rem; height: 1.6rem; }
.topbar__link:hover { opacity: 0.75; }
.search-btn {
  background: none;
  border: 0;
  color: #fff;
  display: inline-flex;
  transition: opacity 0.2s ease;
  width: 2.3rem;
}
.search-btn:hover { opacity: 0.75; }
.search-btn .ico { width: 2.4rem; height: 2.4rem; }

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 0.5rem;
  background: none;
  border: 0;
  padding: 0.6rem;
}
.nav-toggle span {
  width: 2.4rem;
  height: 0.2rem;
  background: #fff;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.nav-toggle.is-open span:nth-child(1) { transform: translateY(0.7rem) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-0.7rem) rotate(-45deg); }

.navbar {
  background: linear-gradient(180deg, var(--c-navy) 0%, rgba(0, 38, 77, 0) 100%);
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.4);
}
.nav-list {
  display: flex;
  justify-content: space-between;
  padding: 3.4rem 0 2rem;
}
.nav-list a {
  display: block;
  text-align: center;
  color: #fff;
}
.nav-cn {
  display: block;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}
.nav-en {
  display: block;
  font-family: var(--f-serif);
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 0.3rem;
  opacity: 0.95;
  white-space: nowrap;
}
.nav-list > li, .nav-list > .nav-item { position: relative; }
.nav-list > li > a::after,
.nav-list > .nav-item > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0.3rem;
  margin: 0.6rem auto 0;
  background: var(--c-cyan);
  transition: width 0.25s ease;
}
.nav-list > li > a:hover::after,
.nav-list > li > a.is-current::after,
.nav-list > .nav-item > a:hover::after,
.nav-list > .nav-item > a.is-current::after { width: 60%; }
.nav-list a:hover,
.nav-list a.is-current { color: #fff; }

/* Top nav: hover/focus reveals the .nav-sub dropdown; the mobile drawer version lives in media.css */
.nav-sub-toggle {
  display: none; /* hidden at >999px; becomes a drawer toggle at <=999px (see media.css) */
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  flex: none;
  background: none;
  border: 0;
  padding: 0;
}
.nav-sub-toggle::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  border-top: 0.6rem solid #fff;
  transition: transform 0.25s ease;
}
.nav-sub-toggle.is-open::after { transform: rotate(180deg); }
.nav-sub {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 14rem;
  background: var(--c-primary);
  box-shadow: 0 0.8rem 2rem rgba(0, 38, 77, 0.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(1.2rem);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
  z-index: 30;
}
.nav-sub .nav-sub { top: -0.1rem; left: 100%; } /* third-level submenu offset */
.nav-list li:hover > .nav-sub,
.nav-list li:focus-within > .nav-sub,
.nav-list .nav-item:hover > .nav-sub,
.nav-list .nav-item:focus-within > .nav-sub {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.nav-sub a {
  display: block;
  padding: 1.1rem 1.8rem;
  font-size: 1.5rem;
  color: #fff;
  white-space: nowrap;
  text-align: left;
  transition: background 0.2s ease;
}
.nav-sub a:hover { background: var(--c-blue); }

/* ---------------- Homepage hero carousel ---------------- */
.hero {
  position: relative;
  height: 96rem;
  overflow: hidden;
}
.hero__slides, .hero__slide { position: absolute; inset: 0; }
.hero__slide {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.hero__slide.is-active { opacity: 1; }
.hero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__shade {
  position: absolute;
  left: 0; right: 0;
  pointer-events: none;
}
.hero__shade--top {
  top: 0;
  height: 22.4rem;
  background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.5;
}
.hero__shade--bottom {
  bottom: 0;
  height: 24.9rem;
  background: linear-gradient(0deg, var(--c-navy) 0%, rgba(0, 38, 77, 0) 100%);
}
.hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5.1rem;
  height: 5.1rem;
  border-radius: 50%;
  border: 0;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--f-num);
  font-size: 3.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: opacity 0.2s ease, transform 0.2s ease;
  opacity: 0.5;
}
.hero__arrow--prev { left: 6rem; }
.hero__arrow--prev span { transform: scaleX(-1); }
.hero__arrow--next { right: 6rem; }
.hero__arrow:hover {opacity: 1;transform: translateY(-50%) scale(1.06);}
.hero__dots {
  position: absolute;
  left: 50%;
  bottom: 4.2rem;
  display: flex;
  align-items: center;
  gap: 1.3rem;
  z-index: 10;
  transform: translateX(-50%);
}
.hero__dots button {
  width: 1.3rem;
  height: 1.3rem;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.5);
  transition: width 0.25s ease, background 0.25s ease;
  border-radius:50%;
}
.hero__dots button.is-active {
  width: 3.5rem;
  background: #fff;
  border-radius: 0.7rem;
}

/* ---------------- News section ---------------- */
img.dline1 {
    position: absolute;
    bottom: -2rem;
    left: 0;
}
.news img.dline1{width:27.6rem;}
.section-head {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 6rem;
}
.section-head__cn {
  flex: none;
  white-space: nowrap;
  font-size: 3.9rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.2;
}
.section-head__dash {
  width: 1.3rem;
  height: 0.4rem;
  background: var(--c-cyan);
  margin-left: 2rem;
}
.section-head__dash--red { background: var(--c-red); margin-left: 1.4rem; }
.section-head__en {
  font-family: var(--f-num);
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--c-red);
  margin-left: 1.4rem;
  white-space: nowrap;
  margin-top: 1.1rem;
}
.section-head__circle {
  width: 8.6rem;
  height: 6.1rem;
  background: url(../images/tip2.png)no-repeat left center / contain;
  flex: none;
  margin-left: -2rem;
  margin-top: -2rem;
}
.section-head--light .section-head__cn,
.section-head--light .section-head__en { color: #fff; }
.section-head--light .section-head__circle { background: url(../images/tip3.png)no-repeat left center / contain; }
.more-link {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--c-primary);
  transition: opacity 0.2s ease;
}
.more-link::after {
  content: '';
  width: 6.188rem;
  height: 1.95rem;
  margin-left: 0.85rem;
  position: relative;
  background: url(../images/more1.png) no-repeat center /  contain;
}
.more-link::before {
  content: '';
  position: absolute;
  right: -0.6rem;
  top: 50%;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 0.2rem solid var(--c-cyan);
  border-right: 0.2rem solid var(--c-cyan);
  transform: translateY(-50%) rotate(45deg);
  display: none;
}
.more-link {position: relative;}
.more-link::after {/* margin-right: 0.8rem; */}
.more-link:hover { opacity: 0.75; }
.more-link--light { color: #fff; }
.more-link--light::after { background: url(../images/more2.png)no-repeat center / contain; }
.more-link--light::before { border-color: #fff; }

.deco-globe {
  position: absolute;
  width: 20rem;
  height: 20rem;
  color: var(--c-blue);
  opacity: 0.16;
  pointer-events: none;
}

/* ---------------- News card grid ---------------- */
.news {
  position: relative;
  padding-top: 9rem;
  overflow: hidden;
}
.news__globe { right: -4rem; top: 6rem;display: none; }
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.9rem 4.8rem;
}
.news-card__link { display: block; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.news-card__link:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 1rem 2.4rem rgba(4, 73, 144, 0.14);
}
.news-card__img {
  height: 27.4rem;
  overflow: hidden;
  background: var(--c-card);
}
.news-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.news-card__link:hover .news-card__img img { transform: scale(1.04); }
.news-card__bar-title {
  min-height: 7.7rem;
  display: flex;
  align-items: center;
  padding: 1rem 3.6rem;
  background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-blue-light) 100%);
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.6;
}
.news-card__body {
  height: 13.9rem;
  background: var(--c-card);
  padding: 2.6rem 3.6rem 2rem;
  display: flex;
  flex-direction: column;
}
.news-card__excerpt {
  font-size: 1.4rem;
  color: var(--c-gray);
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card__date {
  margin-top: auto;
  font-family: var(--f-num);
  font-size: 1.4rem;
  color: var(--c-gray-light);
  letter-spacing: -0.02em;
}

/* ---------------- Recruitment / admissions ---------------- */
.recruit .dline1{width:47.6rem;}
.recruit {padding-top: 14.8rem;/* overflow: hidden; */}
.recruit__inner {position: relative;min-height: 47.8rem;padding-bottom: 7rem;}
.recruit__block {
  position: absolute;
  top: 0;
  right: 1.1rem;
  width: 25.7rem;
  height: 12.9rem;
  background: var(--c-primary);
}
.recruit__img {
  position: absolute;
  top: 1rem;
  right: 2rem;
  width: 76.2rem;
  height: 47.8rem;
  object-fit: cover;
  z-index: 3;
}
.recruit__panel {
  position: relative;
  z-index: 3;
  width: 62rem;
  min-height: 37.3rem;
  margin-top: 0;
  /* background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ebf5ff 51%, rgba(255, 255, 255, 0) 100%); */
  padding: 0rem 4.7rem 3rem;
}
.recruit__panel .section-head { margin-bottom: 3rem; }
.recruit__text::before{content:'';width:102.7rem;height:47rem;position: absolute;background: url(../images/recult1.png)no-repeat center center   /contain;z-index: -1;top: 0;left: 0;filter: drop-shadow(0px 3px 6px rgba(4,73,144,0.6));}
.recruit__text {
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 2.1;
  text-align: justify;
  position: relative;
  padding: 6.5rem 4.7rem 0;
  margin-top: 6.3rem;
  width: 62rem;
}
.recruit__more {margin-top: 5.4rem;margin-left: 4.7rem;}
.recruit__globe {left: 42rem;top: 1rem;display: none;}

/* ---------------- Notices / announcements ---------------- */
.notice {
  position: relative;
  margin-top: -2.2rem;
  padding: 11.4rem 0 12.1rem;
  background: url(../images/tzggbg.png) no-repeat top center / cover;
  overflow: hidden;
}
.notice__globe {right: 24rem;top: 4rem;color: #fff;display: none;}
.notice .section-head { margin-bottom: 6.9rem; }
.notice-tabs {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-left: 4.5rem;
}
.notice-tab {
  background: none;
  border: 0;
  font-size: 2rem;
  color: #fff;
  opacity: 0.8;
  padding: 0;
  transition: opacity 0.2s ease, font-weight 0.2s ease;
}
.notice-tab:hover { opacity: 1; }
.notice-tab.is-active { font-weight: 700; opacity: 1; }
.notice-grid {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.notice-box { display: none; }
.notice-box.is-active { display: block; }
.notice-box__head {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 2.8rem;
  display: none;
}
.notice-box__label {
  font-family: var(--f-serif);
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  /* display: none; */
}
.notice-box__head::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.25);
}
.notice-box__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.5rem 3.9rem;
}
.notice-card {
  background: url(../images/tzgg_bg1.png)no-repeat center / cover;
  transition: background 0.3s ease, transform 0.3s ease;
}


.notice-card__link {
  display: block;
  height: 17rem;
  padding: 3.2rem;
  position: relative;
}
.notice-card__date {
  position: absolute;
  top: 3.4rem;
  right: 3.5rem;
  font-family: var(--f-num);
  font-size: 1.4rem;
  color: var(--c-gray-light);
  letter-spacing: -0.02em;
}
.notice-card__title {
  margin-top: 2.4rem;
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s ease;
}
.notice-card:hover {
  background: url(../images/tzgg_bg2.png)no-repeat center / cover;
}
.notice-card:hover .notice-card__title { color: #fff; }
.notice-card:hover .notice-card__date { color: var(--c-date-blue); }

/* ---------------- Party building + lectures band ---------------- */
.section-band {
  position: relative;
  background: url(../images/m3bg.png) no-repeat top  center / cover;
  overflow: hidden;
}
.section-band__deco {
  position: absolute;
  top: 19rem;
  left: -29.8rem;
  width: 261.8rem;
  height: 147.3rem;
  object-fit: cover;
  opacity: 0.3;
  pointer-events: none;
  display: none;
}
.section-band > .section { position: relative; }

.party {padding-top: 8.1rem;}
.party__globe {right: 34rem;top: 8rem;display: none;}
.party-grid {
  display: grid;
  grid-template-columns: 38.1rem 38.1rem 1fr;
  gap: 5.3rem;
}
.party-card__link {
  display: block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.party-card__link:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 1rem 2.4rem rgba(4, 73, 144, 0.16);
}
.party-card__img { height: 23.7rem; overflow: hidden; }
.party-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.party-card__link:hover .party-card__img img { transform: scale(1.04); }
.party-card__body { height: 17.6rem; padding: 3.3rem 2.8rem; }
.party-card--red .party-card__body { background: var(--c-red); border-top: 0.7rem solid var(--c-red-bright); }
.party-card--blue .party-card__body { background: var(--c-blue); border-top: 0.6rem solid var(--c-blue-light); }
.party-card--blue { margin-top: 4.1rem; }
.party-card__title {
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.party-card__excerpt {
  margin-top: 1.3rem;
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.party-grid > * { min-width: 0; } /* min-width:0 lets the 1fr column shrink so long nowrap content will not overflow */
.party-list {min-width: 0;margin-top: -2.5rem;}
.party-list li, .party-list > div {border-bottom: 0.1rem dashed #BCBCBC;}
.party-list li:last-child, .party-list > div:last-child {/* border-bottom: 0; */}
.party-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  height: 7.75rem;
  transition: opacity 0.2s ease;
}
.party-list a:hover .party-list__title { color: var(--c-primary); }
.party-list__title {
  flex: 1;
  min-width: 0;
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.party-list__date {
  font-family: var(--f-num);
  font-size: 1.4rem;
  color: var(--c-primary);
  flex: none;
}

/* Lectures */
.lectures { padding: 11rem 0 18.1rem; }
.lecture-carousel { position: relative; }
.lecture-viewport { overflow: hidden; }
.lecture-track {
  display: flex;
  gap: 5.5rem;
  transition: transform 0.45s ease;
}
.lecture-track .lecture-card {
  flex: 0 0 calc((100% - 11rem) / 3); /* 3 columns + 2 gaps */
}
.lecture-carousel__arrow {
  position: absolute;
  top: 14rem;
  transform: translateY(-50%);
  width: 5.1rem;
  height: 5.1rem;
  border-radius: 50%;
  border: 0;
  background: unset;
  color: #fff;
  font-family: var(--f-num);
  font-size: 3.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.lecture-carousel__arrow span {display: block;color: #1061A5;}
.lecture-carousel__arrow--prev { left: -7rem; }  /* pull the arrow outside the track; at <=1000px use a 12.5vw offset */
.lecture-carousel__arrow--prev span {transform: scaleX(-1);color: #1061A5;}
.lecture-carousel__arrow--next { right: -7rem; }
.lecture-carousel__arrow:hover { opacity: 0.85; transform: translateY(-50%) scale(1.06); }
.lecture-carousel__arrow:disabled { opacity: 0.35; cursor: default; transform: translateY(-50%); }
.lecture-carousel__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.3rem;
  margin-top: 3.6rem;
}
.lecture-carousel__dots button {
  width: 1.3rem;
  height: 1.3rem;
  border: 0;
  padding: 0;
  background: rgba(4, 73, 144, 0.25);
  transition: width 0.25s ease, background 0.25s ease;
  border-radius: 50%;
}
.lecture-carousel__dots button:hover { background: rgba(4, 73, 144, 0.5); }
.lecture-carousel__dots button.is-active {
  width: 3.5rem;
  background: var(--c-primary);
  border-radius: 0.7rem;
}
.lecture-card {
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, var(--c-blue) 0%, #ffffff 30%, #ffffff 60%, #ffffff 83%, var(--c-blue) 100%) border-box;
  border: 0.2rem solid transparent;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.lecture-card__link {
  display: block;
  height: 27.9rem;
  padding: 4.4rem 3.1rem 0 3.2rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.lecture-card__link:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 1rem 2.4rem rgba(4, 73, 144, 0.12);
}
.lecture-card__badge {
  position: absolute;
  left: 3.2rem;
  top: 5rem;
  width: 8.3rem;
  height: 8.3rem;
  background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-blue-light) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}
.lecture-card__day {
  font-family: var(--f-num);
  font-size: 3rem;
  font-weight: 700;
}
.lecture-card__ym {
  font-family: var(--f-num);
  font-size: 1.3rem;
  margin-top: 0.3rem;
}
.lecture-card__title {
  margin-left: 13.5rem;
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.6;
  min-height: 8.6rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 4.2rem;
}
.lecture-card__meta {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  font-family: var(--f-num);
  font-size: 1.4rem;
  color: var(--c-gray-light);
  margin-top: 1.4rem;
}
.lecture-card__meta:first-of-type { margin-top: 0; }
.lecture-card__meta .ico { width: 1.4rem; height: 1.4rem; color: var(--c-blue); }
img.bg22 {
    position: absolute;
    bottom: 0;
    width: 100%;
    object-fit: contain;
}
/* ---------------- Footer ---------------- */
.footer {
  position: relative;
  background: url(../images/footerbg.png)no-repeat center / cover;
  overflow: hidden;
}
.footer__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.15;
  pointer-events: none;
}
.footer__inner {position: relative;padding: 0 11.5rem 0;}
.footer-top {
  display: flex;
  align-items: center;
  padding: 5.5rem 0 0;
}
.footer-contact {
  width: 28.8rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-right: 5rem;
}
.footer-contact li, .footer-contact .fci {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.5;
}
.footer-contact .ico { width: 1.5em; height: 1.5em; opacity: 0.9; }
.footer-brand {
  flex: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  padding: 2rem 4rem;
  border-left: 0.1rem solid rgba(255, 255, 255, 0.3);
  border-right: 0.1rem solid rgba(255, 255, 255, 0.3);
}
.footer-brand__full {width: 62.2rem;}
.footer-brand__text { width: 24rem; }
.footer-qr {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  gap: 2.29rem;
  padding-left: 4rem;
  /* border-left: 0.1rem solid rgba(255, 255, 255, 0.3); */
  flex-direction: row-reverse;
}
.footer-qr figure, .footer-qr .qr-item { text-align: center; }
.footer-qr img {
  width: 8.9rem;
  height: 8.8rem;
  margin: 0 auto;
}
.footer-qr figcaption, .footer-qr .qr-cap {
  margin-top: 1rem;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.5;
}
.footer-bottom {
  border-top: 0.1rem solid rgba(255, 255, 255, 0.3);
  padding: 2.4rem 0 3rem;
  display: flex;
  align-items: center;
}
.footer-bottom .footer-copy { order: 1; flex: 1; text-align: center; }
.footer-bottom .friend-links { order: 2; }
.friend-links {position: relative;margin-top: 2rem;}
.friend-links__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  width: 31rem;
  height: 3.8rem;
  padding: 0 1.6rem;
  background: transparent;
  border: 0.1rem solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-size: 1.6rem;
  transition: border-color 0.2s ease;
}
.friend-links__btn:hover { border-color: rgba(255, 255, 255, 0.8); }
.friend-links__arrow { transition: transform 0.25s ease; }
.friend-links.is-open .friend-links__arrow { transform: rotate(180deg); }
.friend-links__list {
  bottom: 4.6rem;
  left: 0;
  width: 100%;
  background: rgba(4, 43, 86, 0.96);
  border: 0.1rem solid rgba(255, 255, 255, 0.3);
  z-index: 10;
  position: absolute;
}
.friend-links__list a {
  display: block;
  padding: 1rem 1.6rem;
  font-size: 1.5rem;
  color: #fff;
  transition: background 0.2s ease;
}
.friend-links__list a:hover { background: rgba(255, 255, 255, 0.12); }
.footer-copy {
  font-size: 1.6rem;
  color: #fff;
  opacity: 0.8;
}

/* ---------------- Search overlay ---------------- */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(4, 38, 77, 0.92);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.search-overlay[hidden] { display: none; }
.search-overlay.is-open { opacity: 1; }
.search-overlay__close {
  position: absolute;
  top: 3rem;
  right: 4rem;
  background: none;
  border: 0;
  color: #fff;
  font-size: 4rem;
  line-height: 1;
}
.search-overlay__form {
  display: flex;
  width: 60rem;
  max-width: 86%;
  border-bottom: 0.2rem solid rgba(255, 255, 255, 0.6);
}
.search-overlay__form input {
  flex: 1;
  background: none;
  border: 0;
  outline: none;
  color: #fff;
  font-size: 2.4rem;
  padding: 1.2rem 0.6rem;
  font-family: var(--f-sans);
}
.search-overlay__form input::placeholder { color: rgba(255, 255, 255, 0.5); }
.search-overlay__form button {
  background: none;
  border: 0;
  color: #fff;
  font-size: 2rem;
  padding: 0 1.6rem;
}
.search-overlay__form button:hover { opacity: 0.75; }
.search-overlay__hint {
  margin-top: 2rem;
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.5rem;
}
img.list_top1 {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}

img.list_top2 {position:absolute;bottom:0;left:0;z-index: -1;}
/* ---------------- Back-to-top button ---------------- */
.back-top {
  position: fixed;
  right: 3rem;
  bottom: 4rem;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 50%;
  border: 0;
  background: var(--c-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.6rem 1.6rem rgba(4, 73, 144, 0.3);
  z-index: 50;
  transition: opacity 0.25s ease, transform 0.25s ease;
  display: none;
}
.back-top:hover { transform: translateY(-0.3rem); }
.back-top svg { width: 2.2rem; height: 2.2rem; }
.foot_right{margin-left: 7.3rem;}

/* Page templates: list page (listcolumn.htm) and detail page (displayinfo.htm), PC layout */
/* ==========================================================================
   Page templates: list page (listcolumn.htm) / detail page (displayinfo.htm), PC
   ========================================================================== */
.page-banner {
  position: relative;
  height: 57.1rem;
}
.banner-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.page-layout {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 8.1rem;
  margin-top: -3.6rem;
  padding-bottom: 10.4rem;
  min-height:50rem;
}

/* Sidebar column */
.side-col {
  width: 24.9rem;
  flex: none;
}
.side-head {
  position: relative;
  height: 7.2rem;
  background: var(--c-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow:hidden;
}
.side-head__deco {
  position: absolute;
  left: 3.4rem;
  top: -1.7rem;
  width: 18.5rem;
  height: 12.3rem;
  background-size: cover;
  background-position: center;
  opacity: 0.5;
  pointer-events: none;
}
.side-head__txt {
  position: relative;
  font-size: 2.6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.2rem;
}
.side-menu { background: #e9f2fa; }
.side-menu__item {
  min-height: 6.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 2.2rem 0 2.9rem;
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--c-text);
  border-bottom: 0.1rem solid #d9e6f2;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
}
.side-menu__item:last-child { border-bottom: 0; }
.side-menu__item:hover { color: var(--c-primary); }
.side-menu__item.selected{ color: var(--c-primary); font-weight: 700; background: #fff; }
.side-menu__item { position: relative; }
.side-menu__item > a {display: block;flex: 1 1 auto;min-width: 0;color: inherit;padding: 2rem 0;}

/* Sidebar menu: hovering shows a flyout to the right; below 999px it collapses into a drawer */
.side-toggle {
  display: none;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
  z-index: 2;
  margin-left: auto;
  background: none;
  border: 0;
  padding: 0.6rem;
  cursor: pointer;
}
.side-toggle span {
  display: block;
  width: 2.4rem;
  height: 0.2rem;
  background: #fff;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.side-toggle.is-open span:nth-child(1) { transform: translateY(0.7rem) rotate(45deg); }
.side-toggle.is-open span:nth-child(2) { opacity: 0; }
.side-toggle.is-open span:nth-child(3) { transform: translateY(-0.7rem) rotate(-45deg); }
.side-sub-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  flex: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.side-sub-toggle::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  border-top: 0.6rem solid currentColor;
  transition: transform 0.25s ease;
}
.side-sub-toggle.is-open::after { transform: rotate(180deg); }
.side-sub {
  /* >=999px: submenu is nested inline; below 999px it becomes a drawer list */
  flex: 0 0 100%;
  width: 100%;
  background: #fff;
}
.side-sub__item a {
  display: block;
  padding: 1.1rem 1.8rem 1.1rem 4.6rem;
  font-size: 1.8rem;
  color: var(--c-text);
  border-top: 0.1rem solid #eef4fa;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease, background 0.2s ease;
}
.side-sub__item a:hover,
.side-sub__item.selected a { color: var(--c-primary); background: #eef5fc; }

/* List page */
.list-col, .detail-col {
  flex: 1;
  min-width: 0;
}
.col-head {
  display: flex;
  align-items: center;
  margin-bottom: 3.4rem;
  padding-top: 12rem;

}
.col-head__title {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--c-primary);
}
.col-head__more {
  flex: 1;
  height: 0.1rem;
  background: var(--c-primary);
  margin-left: 2.6rem;
  position: relative;
}
.col-head__more::after {
  content: '';
  position: absolute;
  right: -0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: var(--c-blue);
}
.news-item {
  display: flex;
  gap: 3.7rem;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 0.1rem solid #d9e6f2;
}
.news-item__img {
  width: 27.9rem;
  height: 17.1rem;
  flex: none;
  background-size: cover;
  background-position: center;
}
.news-item__body { flex: 1; min-width: 0; }
.news-item__date {
  font-family: var(--f-num);
  font-size: 1.4rem;
  color: var(--c-blue);
  letter-spacing: -0.02em;
}
.news-item__title {
  margin-top: 1rem;
  font-size: 1.8rem;
  color: var(--c-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news-item__title a { transition: color 0.2s ease; }
.news-item__title a:hover { color: var(--c-primary); }
.news-item__excerpt {
  margin-top: 1.7rem;
  font-size: 1.4rem;
  color: var(--c-gray);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.3rem;
  margin-top: 6rem;
  font-size: 1.4rem;
  color: #666666;
}
.pg-info {display: flex;align-items: center;gap: 0.6rem;font-size: 1.5rem;margin-right: 3.1rem;}
.pg-select, .pg-input {
  width: 4rem;
  height: 4rem;
  line-height: 3.8rem;
  text-align: center;
  background: #fff;
  border: 0.1rem solid #e2e2e2;
  color: #666666;
}
.pg-input { width: 4.1rem; }
.pg-btn {
  width: 6.7rem;
  height: 4rem;
  line-height: 3.8rem;
  text-align: center;
  border: 0.1rem solid #dcdcdc;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
  background: unset;
}
.pg-btn:hover { color: var(--c-primary); border-color: var(--c-primary); }
.pg-btn.is-disabled { opacity: 0.45; cursor: default; }
.pg-btn.is-disabled:hover { color: #666; border-color: #dcdcdc; }
.pg-num {
  width: 4rem;
  height: 4rem;
  line-height: 3.8rem;
  text-align: center;
  border: 0.1rem solid #dcdcdc;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  /* margin: 0 0.4rem; */
  background: transparent;
}
.pg-num:hover { color: var(--c-primary); border-color: var(--c-primary); }
.pg-num.is-active {
  background: var(--c-primary);
  color: #fff;
  border-color: var(--c-primary);
}
.pg-num--dots {
  width: auto;
  min-width: 4rem;
  border: 0;
  background: none;
  cursor: default;
}
.pg-num--dots:hover { color: inherit; border-color: transparent; }
.pg-jump { display: flex; align-items: center; gap: 0.8rem; }
.pg-go {
  width: 6.7rem;
  height: 4rem;
  line-height: 3.8rem;
  text-align: center;
  background: var(--c-primary);
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
/* Detail page */
.dt-title {
  font-size: 3.4rem;
  font-weight: 700;
  color: #232323;
  line-height: 1.5;
  padding-bottom: 4rem;
  border-bottom: 0.1rem solid #d9e6f2;
  margin-top: 11rem;
}
.dt-meta {
  display: flex;
  align-items: center;
  padding: 2rem 0;
}
.dt-meta__item {
  font-size: 1.6rem;
  color: #62809f;
  margin-right: 9rem;
}
.dt-meta__spacer { flex: 1; }
.dt-share, .dt-font {
  font-size: 1.6rem;
  color: #796f5f;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.dt-share .ico { width: 1.8rem; height: 1.8rem; color: #796f5f; }
.dt-share__toggle {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin-left: 0.6rem;
  background: none;
  border: 0;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.dt-share__toggle:hover { opacity: 0.75; }
#share-2 { }
.dt-font { margin-left: 3.4rem; gap: 1rem; }
.fs-ctl {
  display: flex;
  width: 11.9rem;
  height: 3.8rem;
  padding: 0.4rem;
  background: var(--c-primary);
}
.fs-btn {
  flex: 1;
  line-height: 3rem;
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.fs-btn.is-active { background: #badafa; color: var(--c-primary); }
.dt-body {
  font-size: 1.8rem;
  color: #232323;
  transition: font-size 0.2s ease;
}
.dt-para {
  margin-top: 3.5rem;
  line-height: 2;
  text-align: justify;
}
.dt-img {
  width: 64.9rem;
  max-width: 100%;
  height: 36rem;
  margin: 3.5rem auto;
  background-size: cover;
  background-position: center;
}
.dt-sign {
  font-size: 1.6rem;
  color: #848484;
  text-align: center;
  margin-top: 5rem;
}
.dt-siblings {
  margin-top: 6rem;
  border-top: 0.1rem solid #d9e6f2;
  font-size: 1.8rem;
}
.dt-sib {
  display: flex;
  align-items: center;
  padding: 2rem 0;
}
.dt-sib + .dt-sib { border-top: 0.1rem solid #d9e6f2; }
.dt-sib__label { color: var(--c-primary); flex: none; margin-right: 0.8rem; }
.dt-sib__title { color: #252525; transition: color 0.2s ease; }
.dt-sib__title:hover { color: var(--c-primary); }
div#wp_paging_w9 {
    display: none;
}

.footer-midd {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 4rem;
}
.wp_artfuns .wp_art_adjoin .next{padding-left:0}
.wp_artfuns .wp_art_adjoin .prev,.wp_artfuns .wp_art_adjoin .next{color:#044990;}

.art-adjoin-item.prev-wrap {
    padding-bottom: 1.85rem;
    margin-bottom: 1.85rem;
    border-bottom: 1px solid #044990;
}
div#page1 {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    font-size: 1.5rem;
}
.wp_articlecontent p,.wp_articlecontent p span, .wp_articlecontent> * {
    background: unset !important;
}

.wp_articlecontent img {
    margin: 0 auto;
}
.sz .news-item__img {
    display: none;
}