/* 閸楁艾銈ラ弫娆掑仜闂堟瑦鈧焦膩閺夊尅绱伴崗顒€鍙￠弽宄扮础娑撳骸鎮囨い鐢告桨閺嶅嘲绱＄紒鐔剁閸忋儱褰?*/

/* ===== 閸忣剙鍙￠崺铏诡攨娑撳酣顩绘い?===== */
:root {
  --page-red: #a40000;
  --header-red: #861310;
  --nav-red: #7d1b18;
  --card-red: #b20d0d;
  --cream: #fff8ed;
  --cream-deep: #f7ead5;
  --gold: #e4b66c;
  --text: #4b3428;
  --muted: #786c62;
  --border: #e4cba7;
  --focus: #ffd98b;
  --font-sans: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  --font-display: "STKaiti", "KaiTi", "Microsoft YaHei", serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--text);
  background: var(--page-red);
  font-family: var(--font-sans);
}

button,
a {
  font: inherit;
}

button:focus-visible,
a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

img {
  display: block;
  max-width: 100%;
}

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

.masthead {
  height: 135px;
  background: var(--header-red);
}

.masthead__inner {
  position: relative;
  width: min(1200px, 100%);
  height: 135px;
  margin: 0 auto;
}

.brand-logo {
  position: absolute;
  top: 31px;
  left: 13px;
  width: 287px;
  height: 74px;
}

.brand-proof {
  position: absolute;
  top: 28px;
  left: 320px;
  width: auto;
  max-height: 74px;
}

.hotline {
  position: absolute;
  top: 40px;
  right: 38px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #e9bd6e;
}

.hotline__icon {
  width: 50px;
  height: 50px;
}

.hotline__content {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.hotline__content span {
  font-size: 16px;
  line-height: 1.2;
}

.hotline__content strong {
  font-size: 27px;
  line-height: 1;
  letter-spacing: 1px;
}

.primary-nav {
  position: relative;
  z-index: 10;
  height: 45px;
  background: var(--nav-red);
}

.primary-nav__list {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  width: min(1200px, 100%);
  height: 45px;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

.primary-nav__list li,
.primary-nav__list a {
  height: 45px;
}

.primary-nav__list a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4d9b7;
  font-size: 16px;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease;
}

.primary-nav__list a:hover,
.primary-nav__list a:focus-visible {
  color: #6d180f;
   background: linear-gradient(180deg, #ffe7a9, #e6b356);
}

.primary-nav__list a.is-active {
  color: #762010;
  background: linear-gradient(180deg, #ffe7a9, #e6b356);
}

.primary-nav__list a[aria-disabled="true"] {
  cursor: default;
}

.primary-nav__mobile {
  display: none;
}

.hero {
  width: min(1200px, 100%);
  height: 435px;
  margin: 0 auto;
  background: var(--header-red);
}

.hero img {
  width: 1200px;
  height: 435px;
  object-fit: cover;
}

.course-area {
  position: relative;
  z-index: 2;
  display: flow-root;
  width: min(1200px, 100%);
  min-height: 796px;
  padding-bottom: 49px;
  margin: 0 auto;
  overflow: visible;
  background: var(--cream);
  border-radius: 0 0 12px 12px;
}

.service-panel {
  position: relative;
  z-index: 3;
  display: block;
  width: 1137px;
  height: 202px;
  margin: -74px auto 0;
}

.service-panel img {
  width: 1137px;
  height: 202px;
}

.section-title {
  width: 372px;
  height: 88px;
  margin: 48px auto 0;
}

.course-grid {
  display: grid;
  grid-template-columns: repeat(5, 220px);
  gap: 15px;
  justify-content: center;
  margin-top: 36px;
}

.course-page-grid {
  margin-top: 0;
}

.course-card {
  display: block;
  width: 220px;
  height: 335px;
  overflow: hidden;
  color: inherit;
  background: #fffaf3;
  border: 1px solid var(--border);
  border-radius: 10px;
  text-decoration: none;
}

.course-card:focus-visible {
  outline: 3px solid #d49c53;
  outline-offset: 3px;
}

.course-card > img {
  width: 212px;
  height: 145px;
  margin: 4px auto 0;
  object-fit: cover;
  border-radius: 7px 7px 0 0;
}

.course-card h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 212px;
  height: 38px;
  margin: 0 auto;
  color: #fff7e9;
  background: var(--card-red);
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.course-card__body {
  width: 205px;
  height: 178px;
  padding: 16px 15px 10px;
  margin: 0 auto;
}

.course-card ul {
  padding: 0;
  margin: 0 0 13px;
  list-style: none;
}

.course-card li {
  position: relative;
  padding-left: 14px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.course-card li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: rgb(178, 13, 13);
  content: "•";
  font-size: 20px;
  line-height: 1.05;
}

.course-card__detail,
.section-more {
  color: #b3100d;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.course-card__detail {
  display: inline-block;
  padding: 4px 0;
  font-size: 12px;
  font-weight: 700;
}

.course-card:hover .course-card__detail,
.course-card:focus-visible .course-card__detail {
  color: #76100d;
}

.section-more {
  display: block;
  min-width: 116px;
  min-height: 29px;
  padding: 3px 20px;
  margin: 33px auto 0;
  color: #9a3a22;
  background: #fff0d9;
  border: 1px solid #e4be88;
  border-radius: 999px;
  font-size: 12px;
  transition: color 160ms ease, background-color 160ms ease;
}

.section-more:hover,
.section-more:focus-visible {
  color: #fff8ea;
  background: #a81a13;
}









.advantages-section,
.results-section,
.consultation-section {
  width: min(1200px, 100%);
  margin: 0 auto;
}

.advantages-section {
  overflow: hidden;
  background: var(--page-red);
}

.advantages-section__desktop,
.results-section img,
.consultation-section img {
  width: 100%;
  height: auto;
}

.results-section picture,
.consultation-section picture {
  display: block;
}

.advantages-section__mobile {
  display: none;
}

.principal-section__desktop {
  display: block;
  width: 100%;
  height: auto;
}

.principal-section__mobile {
  display: none;
}

.faculty-section {
  width: min(1200px, 100%);
  min-height: 640px;
  padding: 1px 34px 72px;
  margin: 0 auto;
  overflow: hidden;
  background: #fffaf1 url("../images/teacher/teacher-background-01.png") center top / 100% auto no-repeat;
}

.faculty-section__title {
  width: 372px;
  height: 88px;
  margin: 48px auto 0;
}

.faculty-grid {
  display: grid;
  grid-template-columns: repeat(4, 256px);
  gap: 26px;
  justify-content: center;
  margin-top: 34px;
}

.faculty-card-link {
  display: block;
  color: inherit;
  border-radius: 12px;
  text-decoration: none;
}

.faculty-card-link:hover .faculty-card,
.faculty-card-link:focus-visible .faculty-card {
  border-color: #c98b60;
  box-shadow: 0 8px 22px rgb(128 46 23 / 12%);
}

.faculty-card {
  width: 256px;
  min-height: 315px;
  overflow: hidden;
  background: #fffaf3;
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.faculty-card > img {
  width: calc(100% - 8px);
  height: 160px;
  margin: 4px auto 0;
  object-fit: cover;
  object-position: center top;
  border-radius: 8px;
}

.faculty-card__body {
  padding: 12px 16px 18px;
}

.faculty-card__heading {
  display: flex;
  align-items: center;
  gap: 10px;
}

.faculty-card h3 {
  margin: 0;
  color: #b31d18;
  font: 700 21px/1.25 var(--font-display);
}

.faculty-card__heading span {
  padding: 3px 10px;
  color: #a9683a;
  background: #fff0d7;
  border-radius: 999px;
  font-size: 10px;
}

.faculty-card ul {
  padding: 0;
  margin: 12px 0 0;
  list-style: none;
}

.faculty-card li {
  position: relative;
  padding-left: 12px;
  color: #5f5148;
  font-size: 12px;
  line-height: 1.8;
}

.faculty-card li::before {
  position: absolute;
  left: 0;
  color: #b31d18;
  content: "•";
}

.results-section {
  overflow: hidden;
  background: #9f0000;
}

.environment-section,
.news-section {
  width: min(1200px, 100%);
  min-height: 500px;
  padding: 1px 34px 58px;
  margin: 0 auto;
  background: var(--cream);
}

.content-section-title {
  width: 250px;
  height: auto;
  margin: 48px auto 0;
}

.environment-grid,
.news-grid {
  display: grid;
  grid-template-columns: repeat(4, 270px);
  gap: 20px;
  justify-content: center;
  margin-top: 30px;
}

.environment-card,
.news-card {
  width: 270px;
  overflow: hidden;
  background: #fffaf3;
  border: 1px solid var(--border);
  border-radius: 10px;
}

.environment-card img,
.news-card > img {
  width: calc(100% - 8px);
  height: 160px;
  margin: 4px auto 0;
  object-fit: cover;
  border-radius: 7px 7px 0 0;
}

.environment-card h3 {
  margin: 13px 12px 16px;
  color: #b3100d;
  font: 700 16px/1.3 var(--font-display);
}

.news-card__body {
  padding: 11px 12px 16px;
}

.news-card time {
  color: #a99a8e;
  font-size: 11px;
}

.news-card h3 {
  min-height: 54px;
  margin: 8px 0 11px;
  color: #392e28;
  font-size: 14px;
  line-height: 1.55;
}

.news-card button {
  padding: 3px 0;
  color: #b3100d;
  background: transparent;
  border: 0;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.consultation-section {
  overflow: hidden;
  background: #a40000;
}

.site-footer {
  width: 100%;
  min-height: 260px;
  color: #ebc387;
  background: #7d1b18;
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.9fr;
  width: min(1200px, 100%);
  min-height: 210px;
  padding: 28px 50px 20px;
  margin: 0 auto;
}

.footer-brand {
  padding-right: 42px;
  border-right: 1px solid rgb(232 192 139 / 30%);
}

.footer-brand > img {
  width: 322px;
  height: auto;
}

.footer-brand p {
  max-width: 330px;
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.9;
}

.footer-contact {
  padding: 2px 38px 0;
  border-right: 1px solid rgb(232 192 139 / 30%);
}

.footer-contact__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 12px;
  line-height: 1.6;
}

.footer-contact__item img {
  flex: 0 0 auto;
}

.footer-contact__phone {
  align-items: center;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgb(232 192 139 / 24%);
}

.footer-contact__phone strong {
  color: #ebc06e;
  font-size: 25px;
  line-height: 1;
  white-space: nowrap;
}

.footer-qr {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-left: 38px;
}

.footer-qr > img {
  width: 136px;
  height: 136px;
  flex: 0 0 auto;
}

.footer-qr p {
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
}

.site-footer__copyright {
  padding: 0 20px 22px;
  margin: 0;
  color: #c99f69;
  font-size: 11px;
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }
}

/* ===== 鐎涳附鐗庣粻鈧禒瀣€?===== */
.about-main{width:min(1200px,100%);margin-inline:auto}
.about-hero{height:400px;overflow:hidden;background:#980b0b}
.about-hero img{width:100%;height:100%;object-fit:cover}
.about-content{padding:26px 34px 72px;background:#fffaf1}
.about-intro{display:grid;grid-template-columns:380px minmax(0,1fr);gap:28px;padding:28px;background:#fff;border:1px solid #f1ddc8;border-radius:12px;box-shadow:0 8px 24px rgb(126 49 20 / 6%)}
.about-intro__copy{padding:12px 8px;color:#615349}
.about-kicker{margin:0;color:#d0aa84;font:700 13px Georgia,serif;letter-spacing:.12em}
.about-intro h1{margin:5px 0 8px;color:#ae1b19;font:700 31px var(--font-display)}
.about-intro__copy i{display:block;width:32px;height:3px;margin-bottom:22px;background:#b51917}
.about-intro__copy>p:not(.about-kicker){margin:0 0 16px;font-size:13px;line-height:1.9}
.about-intro__copy a{display:inline-flex;align-items:center;min-height:38px;padding:0 24px;color:#fff;background:#b30c0c;border-radius:999px;text-decoration:none}
.about-intro__visual{align-self:center;overflow:hidden;border-radius:9px;background:#fff}
.about-intro__visual>img{display:block;width:100%;height:320px;object-fit:cover}
.about-intro__visual>div{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 16px;color:#fff6e8;background:#b30d0d}
.about-intro__visual span{padding:0 12px;text-align:center;font-size:12px;line-height:1.6;border-right:1px solid rgb(255 225 167 / 34%)}
.about-intro__visual span:last-child{border:0}
.about-intro__visual b{display:block;color:#ffe1a7;font-size:15px}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 0;padding:24px 30px;color:#ffdfa0;background:#b30d0d;border-radius:9px;box-shadow:0 8px 20px rgb(153 12 12 / 18%)}
.about-stats div{text-align:center;border-right:1px solid rgb(255 221 159 / 34%)}
.about-stats div:last-child{border:0}
.about-stats strong{display:block;font:700 32px Georgia,serif}
.about-stats small{font:700 15px var(--font-sans)}
.about-stats span{font-size:13px}
.about-section{margin-top:52px}
.about-section__heading{text-align:center}
.about-section__heading h2{margin:0;color:#bd221d;font:700 28px var(--font-display)}
.about-section__heading p{margin:8px 0 28px;color:#6d5d52;font-size:13px}
.about-advantages-section{margin-top:28px}
.about-advantages{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.about-advantages img{display:block;width:100%;height:auto}
.about-principals .about-section__heading{min-height:105px;padding:15px 0 0;background:url("../images/common/common-principal-title-01.png") center top/420px 105px no-repeat}
.about-principals .about-section__heading h2,.about-principals .about-section__heading p{visibility:hidden}
.about-principal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0 34px}
.about-principal-grid article{overflow:hidden;min-height:420px;background:#fffaf1;border:1px solid #edc78e;border-radius:8px}
.about-principal-grid article>img{display:block;width:100%;height:190px;object-fit:cover;object-position:center top;background:#faeedc}
.about-principal-grid article>div{padding:15px 16px 17px}
.about-principal-grid h3{margin:0 0 12px;color:#b31d18;font:700 21px var(--font-display);white-space:nowrap}
.about-principal-grid h3 small{display:inline-block;margin-left:7px;padding:4px 9px;color:#a9683a;background:#fff0d7;border-radius:999px;font:500 10px var(--font-sans);vertical-align:middle}
.about-principal-grid ul{margin:0;padding-left:16px;color:#4f4037;font-size:11px;line-height:1.85}
.about-principal-grid li::marker{color:#c5241f}
.about-section[aria-labelledby="environment-title"] .about-section__heading{min-height:87px;background:url("../images/environment/environment-title-01.png") center top/250px 87px no-repeat}
.about-section[aria-labelledby="environment-title"] .about-section__heading h2,.about-section[aria-labelledby="environment-title"] .about-section__heading p{visibility:hidden}
.about-environment{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.about-environment figure{position:relative;grid-column:span 4;overflow:hidden;margin:0;border-radius:7px;background:#8f0d0d}
.about-environment figure:nth-child(1){grid-column:span 6}
.about-environment figure:nth-child(2),.about-environment figure:nth-child(3){grid-column:span 3}
.about-environment img{display:block;width:100%;height:215px;object-fit:cover}
.about-environment figcaption{position:absolute;right:0;bottom:0;left:0;padding:8px;color:#fff4e8;background:rgb(161 8 8 / 92%);font-size:14px;text-align:center}
.about-honors{margin-top:58px}
.about-honors>img{display:block;width:100%;height:210px;object-fit:cover;object-position:center}
.about-consultation{display:block;height:210px;overflow:hidden}
.about-consultation img{display:block;width:100%;height:100%;object-fit:cover}





/* ===== 閺佹瑥顒熼幋鎰亯妞?===== */
.academic-main{width:min(1200px,100%);margin-inline:auto}.academic-hero{height:400px;overflow:hidden;background:#990909}.academic-hero img{width:100%;height:100%;object-fit:cover}.academic-content{padding:28px 30px 76px;background:#fffaf1}.academic-data img{display:block;width:1024px;max-width:100%;height:auto;margin-inline:auto}.academic-section{padding-top:72px}.student-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.student-card{overflow:hidden;background:#fff;border:1px solid #f0dfcd;border-radius:8px;box-shadow:0 8px 22px rgb(137 54 22 / 4%)}.student-card>div{position:relative;height:205px;overflow:hidden}.student-card img{width:100%;height:100%;object-fit:cover}.student-card b{position:absolute;z-index:1;top:0;left:0;padding:10px 15px 17px;color:#fff;background:#b30d0d;font-size:13px;line-height:1.1;border-radius:0 0 8px 0}.student-card b strong{font-size:28px}.student-card h2{margin:15px 18px 10px;color:#382a24;font-size:16px}.student-card h2 span{margin-left:8px;color:#9f8979;font-size:12px;font-weight:400}.student-card p{margin:0;padding:0 18px 18px;color:#67584f;font-size:13px;line-height:1.85}.student-card p strong{color:#c71917}.college-list{display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border:1px solid #f1e4d7;border-radius:7px}.college-list span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:142px;padding:9px 6px 12px;color:#735f51;border-right:1px solid #eee1d5;font-size:13px;text-align:center}.college-list span img{display:block;width:100px;height:64px;object-fit:contain}.college-list span b{font-weight:500}.college-list span:last-child{border:0}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.result-grid figure{overflow:hidden;margin:0;border:1px solid #efdcca;border-radius:8px;background:#fff}.result-grid img{display:block;width:100%;height:145px;object-fit:cover}.result-grid figcaption{padding:10px;color:#6f5c50;text-align:center}.academic-consultation{display:block}.academic-consultation img{display:block;width:100%;height:auto}



/* ===== 閼辨梻閮撮幋鎴滄粦妞?===== */
.contact-main {
  width: min(1200px, 100%);
  margin-inline: auto;
}
.contact-hero {
  width: 100%;
  height: 400px;
  overflow: hidden;
  background: #8d0909;
}
.contact-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-content {
  padding: 58px 54px 78px;
  background: #fffaf1;
}
.contact-section + .contact-section {
  margin-top: 64px;
}
.contact-section__heading {
  text-align: center;
}
.contact-section__heading h1,
.contact-section__heading h2 {
  margin: 0;
  color: #b21a16;
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.2;
}
.contact-section__heading p {
  margin: 12px 0 0;
  color: #6f5b4f;
  font-size: 14px;
}
.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 36px;
}
.contact-info-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 24px 16px;
  background: #fff;
  border: 1px solid #f3e7d8;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgb(113 57 31 / 6%);
  text-align: center;
}
.contact-info-card > img:not(.contact-wechat-icon) {
  width: 50px;
  height: 50px;
}
.contact-info-card h2 {
  margin: 12px 0 10px;
  color: #51443c;
  font-size: 20px;
}
.contact-info-card p,
.contact-info-card address {
  margin: 0;
  color: #76665d;
  font-size: 13px;
  font-style: normal;
  line-height: 1.75;
}
.contact-phone-number {
  margin-bottom: 8px;
  color: #bc201c;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}
.contact-hours {
  padding: 8px 14px;
  background: #fff8ec;
  border: 1px solid #eddcc4;
  border-radius: 999px;
}
.contact-info-card--wechat > .contact-wechat-icon {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 50%;
}
.contact-info-card--wechat > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.contact-info-card--wechat > div img {
  width: 74px;
  height: 74px;
}
.contact-section__eyebrow {
  margin: 26px 0 18px;
  color: #816d61;
  font-size: 16px;
  text-align: center;
}
.contact-map {
  position: relative;
  display: block;
  width: 100%;
  height: 350px;
  overflow: hidden;
  border: 2px solid #f0d6b5;
  border-radius: 14px;
}
.contact-map > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-map > span {
  position: absolute;
  top: 32%;
  left: 46%;
  display: flex;
  flex-direction: column;
  min-width: 205px;
  padding: 13px 18px;
  color: #fff5e3;
  background: #b31a16;
  border: 4px solid #fff4df;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgb(98 20 12 / 25%);
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
  transform: translate(-50%, -50%);
}
.contact-map > span strong {
  font-size: 20px;
}
.contact-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 36px;
}
.contact-route-card {
  display: flex;
  flex-direction: column;
  min-height: 350px;
  padding: 24px 20px 18px;
  background: #fff8ed;
  border: 1px solid #f4e3ce;
  border-radius: 10px;
}
.contact-route-card h3 {
  margin: 0 0 12px;
  color: #b32620;
  font-family: var(--font-display);
  font-size: 22px;
}
.contact-route-card p {
  min-height: 76px;
  margin: 0 0 18px;
  color: #76665d;
  font-size: 13px;
  line-height: 1.85;
}
.contact-route-card img {
  width: 100%;
  height: 166px;
  margin-top: auto;
  object-fit: cover;
  border-radius: 7px;
}
.contact-consultation {
  display: block;
  width: 100%;
}
.contact-consultation img {
  width: 100%;
  height: auto;
}





/* ===== 鐠囧墽鈻兼担鎾堕兇妞?===== */
.curriculum-main{width:min(1200px,100%);margin-inline:auto}.curriculum-hero{height:400px;overflow:hidden;background:#970909}.curriculum-hero img{width:100%;height:100%;object-fit:cover}.curriculum-content{padding:38px 20px 90px;background:#fffaf1}.curriculum-courses,.curriculum-image-section{padding-top:18px}.curriculum-title{display:block;width:auto;max-width:100%;height:auto;margin:0 auto 34px}.curriculum-course-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.curriculum-course-card{overflow:hidden;background:#fff;border:1px solid #e8ccb0;border-radius:8px}.curriculum-course-card>img{display:block;width:100%;height:150px;object-fit:cover}.curriculum-course-card h2{margin:0;padding:10px 8px;color:#fff;background:#bb0e0e;font-size:15px;text-align:center}.curriculum-course-card ul{min-height:108px;padding:14px 18px 4px;margin:0;color:#745e50;font-size:13px;line-height:1.8;list-style:none}.curriculum-course-card a{display:inline-block;padding:0 18px 18px;color:#c11513;font-size:12px;font-weight:700;text-decoration:none}.curriculum-image-section{padding-top:72px}.curriculum-panel{display:block;width:100%;height:auto}.curriculum-compare{padding-bottom:20px}.curriculum-consultation{display:block}.curriculum-consultation img{display:block;width:100%;height:auto}



/* ===== 鐢牐绁崶銏ゆЕ妞?===== */
.faculty-main{width:min(1200px,100%);margin-inline:auto}.faculty-detail-main{width:min(1200px,100%);min-height:480px;margin-inline:auto;background:#fffaf1}.faculty-hero{height:444px;overflow:hidden;background:#950b0b}.faculty-hero img{width:100%;height:100%;object-fit:cover}.faculty-content{padding-bottom:84px;background:#fffaf1}.faculty-overview img{display:block;width:100%;height:auto}.faculty-teachers{padding:56px 64px 0;background:#fffaf1 url("../images/teacher/teacher-background-01.png") top center/100% auto no-repeat}.faculty-heading{text-align:center}.faculty-heading>img{display:block;width:372px;max-width:100%;height:auto;margin:0 auto 34px}.faculty-heading h2{margin:0;color:#b71e1a;font:700 30px var(--font-display)}.faculty-heading h2::before,.faculty-heading h2::after{content:"❧";display:inline-block;margin:0 15px;color:#d8aa61;font-size:24px}.faculty-heading p{margin:9px 0 34px;color:#6d5c52;font-size:13px}.faculty-core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.faculty-core-grid img{width:100%;height:auto;border-radius:8px;box-shadow:0 8px 22px rgb(128 46 23 / 8%)}.faculty-showcase{padding-top:64px;background-image:none}.faculty-showcase-grid{display:grid;grid-template-columns:repeat(4,256px);justify-content:space-between;gap:30px 12px}.faculty-showcase-grid>.faculty-card-link{width:256px;justify-self:center}.faculty-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:46px}.faculty-pagination button{min-width:38px;height:38px;padding:0 12px;color:#5b453c;background:#fff;border:1px solid #e4cba7;border-radius:5px;cursor:pointer}.faculty-pagination button:hover,.faculty-pagination button:focus-visible,.faculty-pagination button.is-active{color:#fff;background:#b00d0d;border-color:#b00d0d}.faculty-consultation{display:block}.faculty-consultation img{display:block;width:100%;height:auto}



/* ===== 閺備即妞堥崚妤勩€冩い?===== */
.news-main{width:min(1200px,100%);margin-inline:auto}.news-hero{width:100%;height:400px;overflow:hidden;background:#8d0909}.news-hero img{width:100%;height:100%;object-fit:cover}.news-board{min-height:1180px;padding:60px 50px 90px;background:#fffaf1}.news-filters{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;width:780px;margin-bottom:30px}.news-filters button,.news-sidebar__categories button,.news-pagination button{cursor:pointer}.news-filters button{height:40px;color:#a53228;background:#f9eee3;border:0;border-radius:5px;font-size:14px;font-weight:700;transition:color 160ms ease,background-color 160ms ease,transform 160ms ease}.news-filters button:hover,.news-filters button:focus-visible,.news-filters button.is-active{color:#fff9ef;background:#a80d0d}.news-filters button:hover{transform:translateY(-1px)}.news-layout{display:grid;grid-template-columns:minmax(0,780px) 290px;gap:30px;align-items:start}.news-list{min-width:0}.news-sidebar{margin-top:-70px}.news-list-card{display:grid;grid-template-columns:215px minmax(0,1fr);gap:26px;min-height:168px;padding:16px;margin-bottom:18px;background:#fff;border:1px solid #faeee1;border-radius:7px;box-shadow:0 8px 22px rgb(133 62 34 / 4%)}.news-list-card[hidden]{display:none}.news-list-card>img{width:215px;height:136px;object-fit:cover;border-radius:5px}.news-list-card>div{align-self:center;min-width:0}.news-list-card>div>span{display:inline-flex;align-items:center;min-height:25px;padding:3px 18px;color:#fff;background:#b10d0d;border-radius:999px;font-size:12px;line-height:1}.news-list-card h2{margin:10px 0 6px;color:#28221e;font-size:18px;line-height:1.45}.news-list-card h2 a{color:inherit;text-decoration:none}.news-list-card h2 a:hover,.news-list-card h2 a:focus-visible{color:#a80d0d}.news-list-card p{display:-webkit-box;margin:0;overflow:hidden;color:#a69b92;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.news-list-card__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:9px;color:#aaa;font-size:12px}.news-list-card__meta time,.news-list-card__meta span{display:inline-flex;align-items:center;gap:5px}.news-list-card__meta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.news-empty{padding:60px 20px;color:#9a877a;background:#fff;border-radius:7px;text-align:center}.news-sidebar__banner{width:290px;height:104px;object-fit:cover;border-radius:8px 8px 0 0}.news-sidebar__categories{display:grid;gap:8px;padding:12px 14px 16px;background:#fff;border-radius:0 0 9px 9px;box-shadow:0 8px 22px rgb(133 62 34 / 6%)}.news-sidebar__categories button{height:47px;padding:0 22px;color:#5c4740;background:#fff;border:1px solid #f3e8dc;border-radius:8px;font-size:14px;font-weight:700;text-align:left;transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease}.news-sidebar__categories button:hover,.news-sidebar__categories button:focus-visible{color:#a80d0d;background:#fff9f4;border-color:#e8b5a9}.hot-news{padding:20px 18px 18px;margin-top:20px;background:#fff;border-radius:9px;box-shadow:0 8px 22px rgb(133 62 34 / 6%)}.hot-news__heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px}.hot-news__heading h2{margin:0;color:#352924;font-size:18px}.hot-news__heading span{color:#ef927f;font-family:Georgia,serif;font-size:16px;font-style:italic}.hot-news ol{display:grid;gap:13px;padding:0;margin:0;list-style:none}.hot-news li{display:grid;grid-template-columns:22px 92px minmax(0,1fr);gap:8px;align-items:center}.hot-news li b{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:#fff;background:#bf1616;border-radius:5px;font-size:12px}.hot-news li:nth-child(n+4) b{color:#8b776d;background:transparent}.hot-news li img{width:92px;height:58px;object-fit:cover;border-radius:5px}.hot-news li a{display:-webkit-box;overflow:hidden;color:#67564d;font-size:12px;line-height:1.55;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:3}.hot-news li a:hover,.hot-news li a:focus-visible{color:#a80d0d}.news-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:64px}.news-pagination button{min-width:37px;height:37px;padding:0 10px;color:#594941;background:#fff;border:1px solid #e4d9cf;border-radius:4px;box-shadow:0 3px 10px rgb(84 54 39 / 8%)}.news-pagination button:hover,.news-pagination button:focus-visible,.news-pagination button.is-active{color:#fff;background:#b00d0d;border-color:#b00d0d}.news-pagination span{color:#8e7a6e}.news-consultation{display:block;width:100%}.news-consultation img{width:100%;height:auto}




/* ===== 閺備即妞堢拠锔藉剰妞?===== */
.news-detail-main{width:min(1200px,100%);margin-inline:auto}.news-detail-board{padding:60px 50px 70px;background:#fffaf1}.news-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#88786d;font-size:14px}.news-breadcrumb a{color:inherit;text-decoration:none}.news-breadcrumb a:hover,.news-breadcrumb a:focus-visible{color:#a80d0d}.news-detail-layout{display:grid;grid-template-columns:minmax(0,780px) 290px;gap:30px;align-items:start}.news-article{padding:28px 32px;background:#fff;border-radius:8px;box-shadow:0 8px 22px rgb(133 62 34 / 4%)}.news-article h1{margin:0 0 14px;color:#28221e;font-size:24px;line-height:1.5}.news-article-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px;padding-bottom:14px;border-bottom:1px solid #f3e8dc;color:#aaa;font-size:13px}.news-article-meta__info,.news-article-meta__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.news-article-meta__tag{padding:4px 12px;color:#fff;background:#bd1010;border-radius:999px;text-decoration:none}.news-article-meta__item,.news-article-meta__actions button{display:inline-flex;align-items:center;gap:5px}.news-article-meta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.news-article-meta__actions button{padding:3px;color:#999;background:none;border:0;font:inherit;cursor:pointer}.news-article-meta__actions button:hover,.news-article-meta__actions button:focus-visible{color:#b20e0e}.news-article__hero{display:block;width:100%;height:auto;max-height:430px;margin-bottom:26px;object-fit:cover;border-radius:6px}.news-article p{margin:0 0 22px;color:#81756d;font-size:15px;line-height:1.9;text-align:justify}.news-article-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:22px}.news-article-nav a{padding:16px 20px;color:#75645a;background:#fffaf4;border:1px solid #f0e0d1;border-radius:7px;font-size:13px;line-height:1.55;text-decoration:none}.news-article-nav a:last-child{text-align:right}.news-article-nav span{display:block;margin-bottom:4px;color:#c79c72;font-weight:700}.news-detail-page .news-sidebar{margin-top:0}.news-detail-page .news-sidebar__categories a{display:flex;align-items:center;height:47px;padding:0 22px;color:#5c4740;background:#fff;border:1px solid #f3e8dc;border-radius:8px;font-size:14px;font-weight:700;text-decoration:none}.news-detail-page .news-sidebar__categories a:hover,.news-detail-page .news-sidebar__categories a:focus-visible{color:#a80d0d;background:#fff9f4;border-color:#e8b5a9}


/* ===== about annotation overrides ===== */
.about-section-title{display:block;width:auto;max-width:100%;height:auto;margin:0 auto 28px}
.about-section .content-section-title{margin:0 auto 28px}
.about-content .principal-section{margin-top:52px}
.about-honors>.about-honors__title{width:372px;height:auto;object-fit:contain;margin:0 auto 28px}
.about-honors__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:center}
.about-honors__grid img{display:block;width:100%;height:auto}




/* ===== academic annotation overrides ===== */
.academic-title{display:block;width:auto;max-width:100%;height:auto;margin:0 auto 38px}
/* ===== 閺佹瑥顒熼悳顖氼暔妞?===== */
.environment-main{width:min(1200px,100%);margin-inline:auto}.environment-hero{height:400px;overflow:hidden;background:#980b0b}.environment-hero img{display:block;width:100%;height:100%;object-fit:cover}.environment-content{padding:62px 24px 72px;background:#fffaf1}.environment-title{display:block;width:250px;max-width:100%;height:auto;margin:0 auto 30px}.environment-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.95fr);min-height:390px;background:#fffdf9;box-shadow:0 12px 32px rgb(128 47 21 / 6%)}.environment-feature__photo{position:relative;overflow:hidden;margin:0;border:2px solid #efc06f;border-radius:13px}.environment-feature__photo>img{display:block;width:100%;height:100%;object-fit:cover}.environment-feature__photo figcaption{position:absolute;right:0;bottom:0;left:0;padding:19px 28px 18px;color:#fff6e7;background:linear-gradient(90deg,rgb(157 9 9 / 96%),rgb(191 20 14 / 88%))}.environment-feature__photo strong{display:block;font:700 26px/1.2 var(--font-display)}.environment-feature__photo span{display:block;margin-top:7px;font-size:13px;line-height:1.6}.environment-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:46px 44px}.environment-feature__copy>p{margin:0;color:#826d5d;font-size:16px;line-height:2}.environment-feature__points{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px}.environment-feature__points>div{padding:0 12px;text-align:center;border-right:1px solid #ecd8bd}.environment-feature__points>div:last-child{border:0}.environment-feature__points strong{display:block;color:#be1715;font-size:16px}.environment-feature__points span{display:block;margin-top:7px;color:#968477;font-size:12px}.environment-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 20px;padding:72px 20px 0}.environment-gallery figure{position:relative;overflow:hidden;margin:0;border-radius:11px;background:#fff;box-shadow:0 8px 22px rgb(113 57 31 / 5%)}.environment-gallery img{display:block;width:100%;height:200px;object-fit:cover}.environment-gallery figcaption{position:absolute;right:0;bottom:0;left:0;padding:10px;color:#fff;background:rgb(164 12 12 / 80%);font-size:15px;text-align:center}.environment-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:58px}.environment-pagination button{min-width:38px;height:38px;padding:0 11px;color:#5b493f;background:#fff;border:1px solid #e4d9ce;border-radius:5px;box-shadow:0 3px 10px rgb(84 54 39 / 8%);cursor:pointer}.environment-pagination button:hover,.environment-pagination button:focus-visible,.environment-pagination button.is-active{color:#fff;background:#b00d0d;border-color:#b00d0d}.environment-pagination span{color:#8d796d}.environment-consultation{display:block}.environment-consultation img{display:block;width:100%;height:auto}




.section-more{width:max-content;text-align:center;text-decoration:none}

/* 閺佹瑥顒熼悳顖氼暔鐠囷附鍎忔い闈涘幢閻楀洤顦查悽銊╊浕妞ゅ灚鐗卞?*/
.environment-gallery{grid-template-columns:repeat(3,270px);gap:40px 20px;justify-content:center}
.environment-gallery .environment-card{margin:0}
.environment-gallery .environment-card img{width:calc(100% - 8px);height:160px;margin:4px auto 0;border-radius:7px 7px 0 0}




/* ===== 鐠囧墽鈻兼担鎾堕兇鐠囷附鍎忔い?===== */
.curriculum-detail-main{width:min(1200px,100%);margin-inline:auto}.curriculum-detail-hero{height:400px;overflow:hidden;background:#970909}.curriculum-detail-hero img{display:block;width:100%;height:100%;object-fit:cover}.curriculum-detail-content{padding:28px 68px 58px;background:#fffaf1}.curriculum-detail-breadcrumb{display:flex;align-items:center;gap:12px;color:#84766d;font-size:13px}.curriculum-detail-breadcrumb a{color:inherit;text-decoration:none}.curriculum-detail-breadcrumb a:hover,.curriculum-detail-breadcrumb a:focus-visible{color:#ad1512}.curriculum-detail-heading{padding:32px 0 28px}.curriculum-detail-heading h1{margin:0;color:#a40f0d;font:700 46px/1.2 var(--font-display)}.curriculum-detail-heading p{margin:14px 0 0;color:#aa2a20;font-size:20px;font-weight:700;letter-spacing:.08em}.curriculum-detail-overview{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:34px;align-items:center}.curriculum-detail-overview__photo{display:block;width:100%;height:300px;object-fit:cover;border-radius:8px}.curriculum-detail-overview__copy>p{margin:0;color:#645951;font-size:15px;line-height:2}.curriculum-detail-benefits{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px}.curriculum-detail-benefits>div{padding:0 10px;text-align:center;border-right:1px solid #ead8c0}.curriculum-detail-benefits>div:last-child{border:0}.curriculum-detail-benefits strong{display:block;color:#5d493f;font-size:13px}.curriculum-detail-benefits span{display:block;margin-top:7px;color:#9b8778;font-size:11px}.curriculum-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px 34px;margin-top:34px}.curriculum-detail-columns h2{margin:0 0 16px;color:#a61512;font:700 24px/1.3 var(--font-display)}.curriculum-detail-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.curriculum-detail-feature-grid article{min-height:122px;padding:20px 22px;background:#fffdf9;border:1px solid #edd8bd;border-radius:7px}.curriculum-detail-feature-grid h3{margin:0 0 10px;color:#b32720;font-size:15px}.curriculum-detail-feature-grid p{margin:0;color:#78685e;font-size:12px;line-height:1.75}.curriculum-detail-classroom{display:block;width:100%;height:300px;margin-top:42px;object-fit:cover;border-radius:8px}.curriculum-detail-schedule dl{margin:0;overflow:hidden;border:1px solid #ebd9c4;border-radius:7px}.curriculum-detail-schedule dl>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #eee0d1}.curriculum-detail-schedule dl>div:last-child{border:0}.curriculum-detail-schedule dt,.curriculum-detail-schedule dd{padding:9px 14px;margin:0;color:#675a51;font-size:12px}.curriculum-detail-schedule dt{background:#fff6e7;text-align:center}.curriculum-detail-suitable ul{min-height:247px;padding:24px 28px 18px 48px;margin:0;background:#fffdf9;border:1px solid #ebd9c4;border-radius:7px;color:#675a51;font-size:13px;line-height:2.4}.curriculum-detail-suitable li::marker{color:#b87017}.curriculum-detail-consultation{display:block}.curriculum-detail-consultation img{display:block;width:100%;height:auto}




/* ===== 妫ｆ牠銆夐弽锟犳毐缁犫偓娴犲绱欓崣顖滅椽鏉堟垳姹夐悧鈺佸幢閻楀浄绱?===== */
.home-principals{position:relative;isolation:isolate;overflow:hidden;width:min(1200px,100%);min-height:600px;padding:40px 22px 78px;margin-inline:auto;background:#f9f5ec url("../images/teacher/teacher-background-01.png") center/cover no-repeat}
.home-principals__heading{position:relative;z-index:2;display:block;width:420px;max-width:100%;height:auto;margin:0 auto 27px}
.home-principals__layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:14px;align-items:start;margin-left:112px}
.home-principal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-principal-card{position:relative;overflow:hidden;min-height:350px;background:transparent url("../images/common/common-principal-card-background-01.svg") center/100% 100% no-repeat;border:0;clip-path:none}
.home-principal-card>img{display:block;width:calc(100% - 24px);height:178px;margin:14px 12px 0;object-fit:cover;object-position:center top;background:#f8ead7}
.home-principal-card>div{padding:9px 12px 15px}
.home-principal-card h3{display:flex;align-items:center;gap:5px;margin:0 0 7px;color:#b31d18;font:700 19px/1.25 var(--font-display);white-space:nowrap}
.home-principal-card h3 small{display:inline-block;padding:3px 7px;color:#a9683a;background:#fff0d7;border-radius:999px;font:500 9px/1.2 var(--font-sans);vertical-align:middle}
.home-principal-card ul{margin:0;padding-left:15px;color:#4f4037;font-size:11px;line-height:1.72}
.home-principal-card li::marker{color:#c5241f}
.home-principals__awards{display:block;width:240px;height:330px;object-fit:contain}
.home-principals__motto{position:absolute;z-index:1;top:132px;left:0;width:132px;height:382px;overflow:hidden}
.home-principals__motto img{position:absolute;top:-132px;left:0;width:1201px;max-width:none;height:600px}
.home-principals__wave{position:absolute;z-index:0;right:0;bottom:0;left:0;height:125px;overflow:hidden}
.home-principals__wave img{position:absolute;bottom:0;left:50%;width:1201px;max-width:none;height:600px;transform:translateX(-50%)}


/* ===== 閺備即妞堥崚妤勩€冮弫鏉戝幢闁剧偓甯?===== */
.news-list-card{color:inherit;text-decoration:none;transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.news-list-card:hover{border-color:#e8b5a9;box-shadow:0 10px 26px rgb(133 62 34 / 10%);transform:translateY(-1px)}
.news-list-card:hover h2,.news-list-card:focus-visible h2{color:#a80d0d}
.news-list-card:focus-visible{outline:3px solid #d49c53;outline-offset:3px}

/* Image performance compatibility: WebP picture wrappers keep the original layout. */
.optimized-picture {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.optimized-picture > img {
  display: block;
  max-width: 100%;
}

.hero > .optimized-picture,
[class$="-hero"] > .optimized-picture,
.about-consultation > .optimized-picture {
  height: 100%;
}

.course-card > .optimized-picture > img {
  width: 212px;
  height: 145px;
  margin: 4px auto 0;
  object-fit: cover;
  border-radius: 7px 7px 0 0;
}

.home-principal-card > .optimized-picture > img {
  width: calc(100% - 24px);
  height: 178px;
  margin: 14px 12px 0;
  object-fit: cover;
  object-position: center top;
  background: #f8ead7;
}

.about-intro__visual > .optimized-picture > img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.contact-map > .optimized-picture,
.environment-feature__photo > .optimized-picture {
  height: 100%;
}

.contact-map > .optimized-picture > img,
.environment-feature__photo > .optimized-picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.curriculum-course-card > .optimized-picture > img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

.about-honors > .optimized-picture > img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: center;
}

.faculty-section,
.faculty-teachers:not(.faculty-showcase),
.home-principals {
  background-image: url("../images/teacher/teacher-background-01.png");
  background-image: image-set(
    url("../images/teacher/teacher-background-01.webp") type("image/webp"),
    url("../images/teacher/teacher-background-01.png") type("image/png")
  );
}

