@media (max-width: 1920px) and (min-width: 1025px) {
  html {
    font-size: calc(100vw / 120);
  }
  .page-index {
    background-size: 100% auto;
  }
  .page-inner {
    background-position: right bottom;
    background-size: 63.375rem auto;
  }
  .news-section .headline-card {
    max-width: none;
  }
  .research-report .research-feature,
  .research-report .report-list .report-item {
    max-width: none;
  }
  .research-report .research-feature {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 10.875rem;
  }
  .research-report .research-feature img {
    display: block;
    width: auto;
    height: 100%;
    flex-shrink: 0;
  }
  .research-report .research-feature-content {
    flex: 1;
    min-width: 0;
    padding: 0 2.25rem;
  }
  .research-report .research-feature h3 {
    margin-bottom: 1.25rem;
  }
  .research-report .research-feature time {
    padding-top: 1.125rem;
    color: #173a68;
  }
  .research-report .research-feature time::after {
    content: "";
    width: 90%;
    height: 0.125rem;
    background: #b41515;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .research-report .research-feature time .icon-time {
    color: #173a68;
  }
  .section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  .section-head h2 {
    display: flex;
    align-items: flex-end;
    flex: 1;
    min-width: 0;
  }
  .section-head h2 span {
    display: inline;
    margin-left: 1.0625rem;
  }
  .section-head a {
    flex-shrink: 0;
    white-space: nowrap;
  }
}

@media (max-width: 1279px) and (min-width: 1025px) {
  .page-inner .inner-grid-9 {
    gap: 1.75rem 1.25rem;
  }
  .page-inner .inner-grid-item h3 {
    margin-top: auto;
    padding: 0 0.875rem 0.125rem;
    line-height: 1.35;
  }
  .page-inner .inner-grid-item .inner-list-date {
    display: flex;
    flex-shrink: 0;
    margin-bottom: auto;
    padding: 0 0.875rem;
    font-size: 0.875rem;
    line-height: 1.2;
  }
  .page-inner .inner-grid-img {
    flex-shrink: 0;
  }
}

@media (max-width: 1024px) {
  html {
    font-size: 16px;
  }
  .page-index {
    padding-bottom: 3rem;
    --list-text: 0.875rem;
    --list-meta: 0.75rem;
    --list-meta-icon: 0.75rem;
    --list-bullet: 0.875rem;
    --list-date-day: 1.25rem;
    --list-date-month: 0.6875rem;
  }
  .page-index .home-banner {
    --side-space: max(6rem, calc((100vw - var(--container-max)) / 2));
    height: 30vw;
    min-height: 14rem;
  }
  .page-index .home-banner .banner-swiper .swiper-slide {
    align-items: flex-end;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination {
    bottom: 2rem;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination-bullet {
    width: 0.875rem;
    height: 0.875rem;
    margin: 0 1.25rem !important;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination-bullet::before {
    font-size: 2rem;
  }
  .page-index .home-banner .banner-content {
    width: 100%;
    height: auto;
    min-height: 5.5rem;
    padding: 0 calc(var(--side-space) * 0.85);
    margin: 0 auto;
    margin-bottom: 15vw;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 80%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    line-height: 1.3;
  }
  .page-index .home-banner .banner-content h1 {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.35;
  }
  .page-index .home-banner .banner-content p {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
  }
  .page-index .quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 2rem;
  }
  .page-index .quick-card {
    height: 8rem;
  }
  .page-index .quick-card .icon {
    width: 3rem;
    height: 3rem;
    margin-top: 0.875rem;
  }
  .page-index .quick-card strong {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
  }
  .page-index .quick-card span {
    margin-top: 0.25rem;
    font-size: 0.6875rem;
  }
  .section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    height: auto;
    min-height: 2.5rem;
    margin-bottom: 1.75rem;
    padding-top: 0.375rem;
  }
  .section-head h2 {
    display: flex;
    align-items: flex-end;
    flex: 1;
    min-width: 0;
    font-size: 1.25rem;
    line-height: 1;
    padding-left: 1.875rem;
    white-space: nowrap;
    flex-wrap: nowrap;
  }
  .section-head h2::before {
    width: 2.5rem;
    height: 2.5rem;
    top: 50%;
    font-size: 2.5rem;
    transform: translateY(-50%);
  }
  .section-head h2 span {
    display: inline;
    margin: 0 0 0 0.5rem;
    font-size: 0.6875rem;
    line-height: 1;
    opacity: 0.33;
  }
  .section-head a {
    flex-shrink: 0;
    margin-left: 1.75rem;
    margin-bottom: 0;
    padding-right: 1.875rem;
    font-size: 0.8125rem;
    line-height: 1.25rem;
    white-space: nowrap;
  }
  .section-head a::before {
    top: 50%;
    right: 0;
    width: 0.625rem;
    height: 0.625rem;
    transform: translateY(-50%);
  }
  .section-head a::after {
    top: 50%;
    right: 0.375rem;
    width: 0.9375rem;
    height: 0.9375rem;
    transform: translateY(-50%);
  }
  .news-section {
    margin-top: 1.5rem;
  }
  .news-section .news-layout {
    display: block;
    height: auto;
    min-height: 0;
    padding-right: 0;
    overflow: hidden;
    border-radius: 0.25rem;
    box-shadow: 0 0.375rem 1rem rgba(47, 7, 7, 0.06);
    background: #fff;
  }
  .news-section .headline-card {
    width: 100%;
    max-width: none;
    margin-left: 0;
    height: auto;
  }
  .news-section .headline-card::after {
    display: none;
  }
  .news-section .headline-card .headline-swiper,
  .news-section .headline-card .swiper-slide,
  .news-section .headline-card .headline-slide {
    height: auto;
  }
  .news-section .headline-card img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }
  .news-section .headline-card .headline-info {
    height: auto;
    min-height: 6.5rem;
    padding: 2.25rem 2.5rem 1rem 1rem;
  }
  .news-section .headline-card .headline-info h3 {
    font-size: var(--list-text);
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .news-section .headline-card .date {
    top: -2rem;
    left: 0.875rem;
    width: 4rem;
    height: 4rem;
  }
  .news-section .headline-card .date::after {
    background-size: 4rem 4rem;
  }
  .news-section .headline-card .date strong {
    font-size: var(--list-date-day);
  }
  .news-section .headline-card .date span {
    margin-top: 0.125rem;
    font-size: var(--list-date-month);
  }
  .news-section .headline-card .headline-dots {
    right: 1rem;
    bottom: 3.75rem;
    gap: 0.9375rem;
  }
  .news-list li,
  .text-news li {
    display: block;
    height: auto;
    padding: 0.625rem 0;
  }
  .news-list li:last-child,
  .text-news li:last-child {
    padding-bottom: 0.375rem;
  }
  .news-list a,
  .text-news a {
    display: block;
    min-width: 0;
    padding-left: 1.625rem;
    padding-right: 0.75rem;
    font-size: var(--list-text);
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .news-list a::before,
  .text-news a::before {
    font-size: var(--list-bullet);
    left: 0.375rem;
    top: 0;
  }
  .news-list .time,
  .text-news .time {
    display: inline-flex;
    align-items: center;
    margin: 0.25rem 0 0 1.625rem;
    font-size: var(--list-meta);
    line-height: 1.2;
  }
  .news-list .time .icon-time,
  .text-news .time .icon-time {
    margin-right: 0.25rem;
    font-size: var(--list-meta-icon);
  }
  .news-list {
    padding: 0.125rem 0 0.5rem;
    background: #fff;
    box-shadow: 0 0.375rem 1rem rgba(47, 7, 7, 0.06);
  }
  .text-news {
    padding: 0 0 0.375rem;
  }
  .text-news a {
    margin-bottom: 0;
  }
  .notice-section {
    margin-top: 2rem;
  }
  .notice-section .section-head {
    margin-bottom: 1.75rem;
  }
  .notice-section .notice-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .notice-section .notice-card {
    height: auto;
    min-height: 4.5rem;
    padding-right: 0.75rem;
  }
  .notice-section .notice-card span {
    width: 5.25rem;
    height: auto;
    min-height: 4rem;
    padding: 0 0.5rem;
    font-size: var(--list-date-month);
    background-size: 3.25rem 3.25rem;
  }
  .notice-section .notice-card span strong {
    font-size: var(--list-date-day);
  }
  .notice-section .notice-card span::after {
    height: 3.5rem;
  }
  .notice-section .notice-card p,
  .notice-section .notice-card p.over-text--multi {
    display: block;
    min-width: 0;
    margin-left: 0.625rem;
    font-size: var(--list-text);
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-orient: unset;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }
  .research-report .report-list .report-item {
    display: flex;
    align-items: center;
    max-width: none;
    height: auto;
    min-height: 4.5rem;
    padding-right: 0.75rem;
    border: 0;
    border-top: 0.1875rem solid #b41515;
    box-shadow: 0 0.125rem 0.8125rem rgba(47, 7, 7, 0.03);
  }
  .research-report .report-list .report-item span {
    width: 5.25rem;
    height: auto;
    min-height: 4rem;
    padding: 0 0.5rem;
    font-size: var(--list-date-month);
    background-size: 3.25rem 3.25rem;
  }
  .research-report .report-list .report-item span strong {
    font-size: var(--list-date-day);
  }
  .research-report .report-list .report-item span::after {
    height: 3.5rem;
  }
  .research-report .report-list .report-item p,
  .research-report .report-list .report-item p.over-text--multi {
    display: block;
    min-width: 0;
    margin-left: 0.625rem;
    font-size: var(--list-text);
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-orient: unset;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }
  .research-report {
    display: block;
    min-height: 0;
    margin-top: 1.25rem;
    background: url("../images/bg_rr.png") center bottom/100% auto no-repeat, linear-gradient(to bottom, rgba(255, 234, 234, 0.17) 0%, rgba(203, 212, 227, 0.17) 100%);
  }
  .research-report .research-col,
  .research-report .report-col {
    padding: 1rem var(--side-space) 1.25rem;
  }
  .research-report .report-col {
    padding-top: 0.5rem;
    padding-bottom: 1.25rem;
  }
  .research-report .research .section-head,
  .research-report .report .section-head {
    margin-bottom: 1.75rem;
  }
  .research-report .report-list {
    gap: 0.75rem;
  }
  .research-report .report-list .report-item {
    display: flex;
    align-items: center;
    max-width: none;
    height: auto;
    min-height: 4.5rem;
    padding-right: 0.75rem;
    border: 0;
    border-top: 0.1875rem solid #b41515;
    box-shadow: 0 0.125rem 0.8125rem rgba(47, 7, 7, 0.03);
  }
  .research-report .report-list .report-item span {
    width: 5.25rem;
    height: auto;
    min-height: 4rem;
    padding: 0 0.5rem;
    background-size: 3.25rem 3.25rem;
  }
  .research-report .report-list .report-item span strong {
    font-size: var(--list-date-day);
  }
  .research-report .report-list .report-item span::after {
    height: 3.5rem;
  }
  .research-report .report-list .report-item p {
    margin-left: 0.625rem;
    font-size: var(--list-text);
    white-space: nowrap;
  }
  .research-report .research-feature {
    display: flex;
    flex-direction: row;
    align-items: center;
    max-width: none;
    height: 7rem;
    margin-bottom: 0.75rem;
    background: linear-gradient(to right, rgba(180, 21, 21, 0) 50%, rgba(180, 21, 21, 0.25) 100%);
  }
  .research-report .research-feature img {
    display: block;
    width: auto;
    height: 100%;
    flex-shrink: 0;
    object-fit: cover;
  }
  .research-report .research-feature-content {
    flex: 1;
    min-width: 0;
    padding: 0 0.75rem 0 1rem;
  }
  .research-report .research-feature h3 {
    font-size: var(--list-text);
    line-height: 1.325;
    margin-bottom: 0.625rem;
  }
  .research-report .research-feature time {
    font-size: var(--list-meta);
    padding-top: 0.4rem;
  }
  .research-report .research-feature time .icon-time {
    font-size: var(--list-meta-icon);
  }
  .back-top {
    right: var(--side-space);
    bottom: 5rem;
    width: 2.5rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
  .back-top .icon-btop {
    font-size: 1rem;
  }
  .page-index .section-head a:hover {
    color: #233f68;
  }
  .page-index .section-head a:hover::before {
    opacity: 0.4;
    animation: none !important;
  }
  .page-index .section-head a:hover::after {
    opacity: 1;
  }
  .page-index .news-list li:hover a,
  .page-index .text-news li:hover a {
    transform: none;
    color: #333;
  }
  .page-index .news-list li:hover a::before,
  .page-index .text-news li:hover a::before {
    color: transparent;
  }
  .page-index .notice-section .notice-card:hover span,
  .page-index .research-report .report-list .report-item:hover span {
    color: #233f68;
  }
  .page-index .notice-section .notice-card:hover p,
  .page-index .research-report .report-list .report-item:hover p {
    color: #333;
  }
  .page-index .notice-section .notice-card:hover::after,
  .page-index .research-report .report-list .report-item:hover::after {
    width: 0;
    opacity: 0.5;
  }
  .page-index .research-report .research-feature:hover h3 {
    color: #333;
  }
  .page-index .quick-card:hover .bg {
    animation: none !important;
  }
  .site-footer .footer-inner .footer-links .footer-select-trigger:hover {
    box-shadow: none;
  }
  .site-footer .footer-inner .footer-links .footer-select-menu a:hover {
    color: #333;
    background: transparent;
  }
  .site-footer .copyright a:hover {
    color: rgba(255, 255, 255, 0.4);
  }
  .page-inner {
    padding-bottom: 3rem;
    background-size: auto 10rem;
    --list-text: 0.875rem;
    --list-meta: 0.75rem;
    --list-meta-icon: 0.75rem;
    --list-bullet: 0.875rem;
    --list-date-day: 1.25rem;
    --list-date-month: 0.6875rem;
  }
  .page-inner .inner-content {
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 43, 113, 0.06);
    padding: 1.25rem 1rem;
    box-sizing: border-box;
  }
  .page-inner .inner-content:has( > .inner-contact), .page-inner .inner-content:has( > .inner-text-list), .page-inner .inner-content:has( > .inner-thumb-list), .page-inner .inner-content:has( > .inner-grid-9), .page-inner .inner-content:has( > .inner-journal-list), .page-inner .inner-content:has( > .inner-teacher-grid), .page-inner .inner-content:has( > .inner-video-grid), .page-inner .inner-content:has( > .inner-search), .page-inner .inner-content:has( > .inner-empty) {
    background: transparent;
    box-shadow: none;
    padding: 0;
  }
  .page-inner .inner-content.inner-teacher-bg {
    background: #fff url("../images/inner_watermark.png") left top/100% auto no-repeat;
  }
  .page-inner .inner-banner {
    display: grid;
    grid-template-rows: auto auto;
    height: auto;
    overflow: visible;
  }
  .page-inner .inner-banner img {
    grid-row: 1;
    grid-column: 1;
    width: 100%;
    height: clamp(14rem, 56.1vw, 25rem);
    object-fit: cover;
    object-position: center top;
  }
  .page-inner .inner-banner-title {
    grid-row: 1;
    grid-column: 1;
    align-self: end;
    justify-self: start;
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: fit-content;
    max-width: calc(100% - var(--side-space));
    margin-left: 0;
    min-height: 5.625rem;
    padding: 1.25rem 1.5rem 1rem;
    color: #fff;
    text-align: left;
    background: #b41515;
    box-sizing: border-box;
  }
  .page-inner .inner-banner-title h1 {
    font-size: 1.375rem;
    font-weight: bold;
    line-height: 1.2;
    white-space: nowrap;
  }
  .page-inner .inner-banner-title p {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.82);
    white-space: normal;
  }
  .page-inner .inner-banner-foot {
    grid-row: 2;
    grid-column: 1;
    position: static;
    display: block;
    pointer-events: auto;
    padding-top: 0.75rem;
    padding-bottom: 0;
  }
  .page-inner .inner-banner-foot .inner-crumb {
    grid-column: auto;
    justify-self: auto;
    justify-content: flex-start;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.4;
  }
  .page-inner .inner-main {
    display: block;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 2rem;
  }
  .page-inner .inner-main--full {
    display: block;
  }
  .page-inner .inner-main--full .inner-sidebar--head-only {
    display: none;
  }
  .page-inner .inner-main--full .inner-search-topline {
    display: none;
  }
  .page-inner .inner-sidebar {
    display: none;
  }
  .page-inner .inner-main-body {
    padding-top: 0;
  }
  .page-inner .inner-crumb {
    justify-content: flex-start;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    color: #333;
  }
  .page-inner .inner-crumb span,
  .page-inner .inner-crumb a {
    color: #333;
  }
  .page-inner .inner-page-title {
    margin-top: 0;
    margin-bottom: 1.75rem;
    font-size: 1.5rem;
  }
  .page-inner .inner-rich-txt p,
  .page-inner .inner-rich-txt span {
    font-size: 0.9375rem;
    line-height: 1.85;
  }
  .page-inner .inner-rich-txt p + p {
    margin-top: 1.25rem;
  }
  .page-inner .inner-rich-txt p:not([style]) {
    text-indent: 0;
  }
  .page-inner .inner-intro p,
  .page-inner .inner-intro span {
    font-size: 0.9375rem;
    line-height: 1.85;
    color: #494949;
  }
  .page-inner .inner-intro p + p {
    margin-top: 1.25rem;
  }
  .page-inner .inner-intro p:not([style]) {
    text-indent: 0;
    text-align: left;
    text-align-last: left;
  }
  .page-inner .inner-intro-photos {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 1.25rem 0;
  }
  .page-inner .inner-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .page-inner .inner-video-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: auto;
    overflow: hidden;
  }
  .page-inner .inner-video-card-poster {
    flex: none;
    width: 100%;
    height: auto;
  }
  .page-inner .inner-video-card-poster img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 386 / 224;
    object-fit: cover;
  }
  .page-inner .inner-video-card-text {
    flex: none;
    width: 100%;
    min-width: 0;
    padding: 0.625rem 0.75rem 0.75rem;
    box-sizing: border-box;
  }
  .page-inner .inner-video-card-title,
  .page-inner .inner-video-card p {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    height: auto !important;
    max-height: calc(0.875rem * 1.35 * 2);
    font-size: 0.875rem !important;
    line-height: 1.35 !important;
    color: #333;
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  .page-inner .inner-teacher-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .page-inner .inner-teacher-card {
    height: 12rem;
    overflow: hidden;
  }
  .page-inner .inner-teacher-card-photo {
    flex: none;
    width: 8rem;
    height: 12rem;
  }
  .page-inner .inner-teacher-card-body {
    display: flex;
    flex-direction: column;
    padding: 0.875rem;
  }
  .page-inner .inner-teacher-card-head {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  .page-inner .inner-teacher-card-head h3 {
    font-size: 1.125rem;
  }
  .page-inner .inner-teacher-card-head p {
    font-size: 1rem;
  }
  .page-inner .inner-teacher-card-line {
    margin: 0.5rem 0;
  }
  .page-inner .inner-teacher-card-bio {
    line-height: 1.8;
    display: -webkit-box !important;
    overflow: hidden;
    margin: 0;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    word-break: normal;
  }
  .page-inner .inner-teacher-card .icon-arrow {
    align-self: flex-end;
    right: 0.875rem;
    bottom: 0.6rem;
    font-size: 1.25rem;
    line-height: 1;
  }
  .page-inner .inner-teacher-rich p,
  .page-inner .inner-teacher-rich span {
    font-size: 0.875rem;
  }
  .page-inner .inner-text-list li {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    height: auto;
    min-height: 3.25rem;
    padding: 0.625rem 0;
    box-shadow: none !important;
  }
  .page-inner .inner-text-list a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    font-size: var(--list-text, 0.875rem);
    transform: none !important;
  }
  .page-inner .inner-text-list a .icon-symbol {
    flex-shrink: 0;
    font-size: var(--list-bullet, 0.875rem);
  }
  .page-inner .inner-text-list a .inner-text-list-title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
  }
  .page-inner .inner-text-list .inner-list-date {
    flex: 0 0 auto;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--list-meta, 0.75rem);
  }
  .page-inner .inner-text-list .inner-list-date .icon-time {
    font-size: var(--list-meta-icon, 0.75rem);
  }
  .page-inner .inner-search {
    margin-top: 0;
  }
  .page-inner .inner-search-list {
    padding-top: 1.5rem;
    border-top-width: 0.25rem;
  }
  .page-inner .inner-search-list li {
    padding: 0;
  }
  .page-inner .inner-search-list a mark {
    padding: 0;
    color: #b41515;
    background: transparent;
    font-weight: normal;
  }
  .page-inner .inner-contact {
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 0.5rem;
    background: transparent;
    box-shadow: 0 0.25rem 1.25rem rgba(0, 43, 113, 0.06);
  }
  .page-inner .inner-contact-map {
    position: relative;
    line-height: 0;
  }
  .page-inner .inner-contact-map-pc {
    display: none;
  }
  .page-inner .inner-contact-map-mobile {
    display: block;
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: unset;
    vertical-align: top;
  }
  .page-inner .inner-contact-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 9.15% 6% 0;
    background: transparent;
    box-sizing: border-box;
    pointer-events: none;
  }
  .page-inner .inner-contact-overlay a {
    pointer-events: auto;
  }
  .page-inner .inner-contact-title {
    margin-bottom: 5.8%;
    font-size: clamp(1.5rem, 4.1vw, 1.875rem);
    font-weight: bold;
    line-height: 1.25;
    color: #333;
  }
  .page-inner .inner-contact-list {
    margin: 0;
    padding-bottom: 0;
  }
  .page-inner .inner-contact-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    margin-bottom: 4.72%;
    line-height: 1;
  }
  .page-inner .inner-contact-item:last-child {
    margin-bottom: 0;
  }
  .page-inner .inner-contact-item dt {
    font-size: clamp(0.75rem, 2.56vw, 0.875rem);
    line-height: 1;
    color: #999;
    opacity: 1;
  }
  .page-inner .inner-contact-item dd {
    margin: 0;
    font-size: clamp(0.875rem, 3.2vw, 1.125rem);
    line-height: 1.3;
    color: #333;
  }
  .page-inner .inner-thumb li {
    margin-bottom: 0;
  }
  .page-inner .inner-thumb-item {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    height: auto;
    min-height: 0;
    padding: 0.875rem 0;
    background: transparent;
    box-shadow: none !important;
  }
  .page-inner .inner-thumb-img {
    flex: 0 0 clamp(6.5rem, 26vw, 7.75rem);
    width: clamp(6.5rem, 26vw, 7.75rem);
    align-self: flex-start;
    height: 4.625rem;
  }
  .page-inner .inner-thumb-img img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 226 / 134;
    object-fit: cover;
  }
  .page-inner .inner-thumb-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-top: 0;
  }
  .page-inner .inner-thumb-body .inner-thumb-top {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0;
  }
  .page-inner .inner-thumb-body h3 {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    font-size: var(--list-text, 0.875rem);
    font-weight: normal;
    line-height: 1.4;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    word-break: normal;
  }
  .page-inner .inner-thumb-body .inner-list-date {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--list-meta, 0.75rem);
  }
  .page-inner .inner-thumb-body .inner-list-date .icon-time {
    font-size: var(--list-meta-icon, 0.75rem);
  }
  .page-inner .inner-thumb-body > p {
    margin: 0;
    height: auto;
    max-height: calc(0.8125rem * 1.5 * 2);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #666;
    display: -webkit-box;
    overflow: hidden;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: normal;
  }
  .page-inner .inner-grid-9 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem;
  }
  .page-inner .inner-grid-item {
    min-height: 16rem;
    height: auto;
  }
  .page-inner .inner-grid-item h3 {
    margin-top: auto;
    padding: 0.875rem 0.875rem 0.125rem;
    font-size: 0.8125rem;
  }
  .page-inner .inner-grid-item .inner-list-date {
    display: flex;
    flex-shrink: 0;
    margin-bottom: auto;
    padding: 0 0.875rem 0.6rem;
    font-size: 0.75rem;
    box-sizing: border-box;
  }
  .page-inner .inner-grid-img {
    flex-shrink: 0;
    height: 12rem;
  }
  .page-inner .inner-journal-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .page-inner .inner-journal-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-inner .inner-journal-card .inner-journal-poster {
    flex: none;
    width: 100%;
    height: auto;
    border-top: none;
  }
  .page-inner .inner-journal-card .inner-journal-poster img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 286 / 326;
    object-fit: cover;
  }
  .page-inner .inner-journal-card .inner-journal-body {
    flex: 1;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.375rem;
    padding: 0.625rem 0.75rem 0.75rem;
    overflow: visible;
    box-sizing: border-box;
  }
  .page-inner .inner-journal-card h3 {
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.35;
    color: #333;
    white-space: normal;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .page-inner .inner-journal-card .inner-list-date {
    margin: 0;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1.25;
  }
  .page-inner .inner-journal-card .inner-list-date .icon-time {
    font-size: 0.75rem;
  }
  .page-inner .inner-article-head {
    padding: 1.5rem 0 1rem;
    margin-bottom: 1.5rem;
  }
  .page-inner .inner-article-head h1 {
    font-size: 1.125rem;
  }
  .page-inner .inner-article-meta {
    margin-top: 1rem;
    font-size: 0.8125rem;
  }
  .page-inner .inner-article-body p,
  .page-inner .inner-article-body span {
    font-size: 0.9375rem;
    line-height: 1.85;
    color: #494949;
  }
  .page-inner .inner-article-body p + p {
    margin-top: 1.25rem;
  }
  .page-inner .inner-article-body p:not([style]) {
    text-indent: 0;
    text-align: left;
    text-align-last: left;
  }
  .page-inner .inner-article-figure {
    margin: 1.25rem 0;
  }
  .page-inner .inner-article-figure img {
    width: 100%;
  }
  .page-inner .inner-article-foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 1.25rem;
  }
  .page-inner .inner-article-nav a {
    font-size: 0.875rem;
  }
  .page-inner .inner-article-back {
    align-self: flex-end;
  }
  .page-inner .inner-pagination {
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2rem;
  }
  .page-inner .inner-pagination ul {
    align-items: center;
  }
  .page-inner .inner-pagination li {
    display: flex;
    align-items: center;
  }
  .page-inner .inner-pagination a {
    width: 1.75rem;
    min-width: 1.75rem;
    max-width: 1.75rem;
    height: 1.75rem;
    font-size: 0.8125rem;
  }
  .page-inner .inner-pagination a .iconfont {
    font-size: 0.8125rem;
  }
  .page-inner .inner-empty {
    min-height: min(65vh, 30rem);
    padding: 0 0 3rem;
    justify-content: center;
    box-sizing: border-box;
  }
  .page-inner .inner-empty img {
    width: min(100%, 24rem);
    height: auto;
  }
  .page-inner .inner-empty p {
    margin-top: 1rem;
    font-size: var(--list-text);
    color: #666;
  }
  .page-inner .inner-breadcrumb a:hover {
    color: #333 !important;
  }
  .page-inner .inner-text-list li:has( + li:hover) {
    border-color: rgba(229, 229, 229, 0) rgba(229, 229, 229, 0) #f1f1f1 !important;
  }
  .page-inner .inner-text-list li:hover {
    border-color: rgba(229, 229, 229, 0) rgba(229, 229, 229, 0) #f1f1f1 !important;
    box-shadow: none !important;
  }
  .page-inner .inner-text-list li:hover a {
    color: #333 !important;
    transform: none !important;
  }
  .page-inner .inner-text-list li:hover a .icon-symbol {
    color: transparent !important;
    background: linear-gradient(160deg, rgba(180, 21, 21, 0.416) 0%, rgba(180, 21, 21, 0) 90%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
  }
  .page-inner .inner-thumb-item:hover {
    border-color: rgba(229, 229, 229, 0) rgba(229, 229, 229, 0) #f1f1f1 !important;
    box-shadow: none !important;
  }
  .page-inner .inner-thumb-item:hover h3 {
    color: #333 !important;
  }
  .page-inner .inner-thumb-item:hover .inner-thumb-img img {
    transform: none !important;
  }
  .page-inner .inner-grid-item:hover {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: 0 2.25rem 3.5625rem 0 rgba(0, 43, 113, 0.03) !important;
  }
  .page-inner .inner-grid-item:hover h3,
  .page-inner .inner-grid-item:hover .inner-list-date {
    color: #333 !important;
  }
  .page-inner .inner-grid-item:hover .inner-grid-img img {
    transform: none !important;
  }
  .page-inner .inner-journal-card:hover {
    transform: none !important;
    border-color: transparent !important;
  }
  .page-inner .inner-journal-card:hover h3,
  .page-inner .inner-journal-card:hover .inner-list-date {
    color: #333 !important;
  }
  .page-inner .inner-video-card:hover {
    transform: none !important;
    border-color: transparent !important;
  }
  .page-inner .inner-video-card:hover .inner-video-card-title,
  .page-inner .inner-video-card:hover p {
    color: #333 !important;
  }
  .page-inner .inner-teacher-card:hover {
    color: #333 !important;
    transform: none !important;
  }
  .page-inner .inner-teacher-card:hover::before {
    width: 0 !important;
  }
  .page-inner .inner-teacher-card:hover::after {
    opacity: 0 !important;
  }
  .page-inner .inner-teacher-card:hover h3,
  .page-inner .inner-teacher-card:hover .inner-teacher-card-head h3,
  .page-inner .inner-teacher-card:hover .inner-teacher-card-head p,
  .page-inner .inner-teacher-card:hover .inner-teacher-card-bio,
  .page-inner .inner-teacher-card:hover .icon-arrow {
    color: inherit !important;
  }
  .page-inner .inner-teacher-card:hover .inner-teacher-card-divider {
    background: #f1f1f1 !important;
  }
  .page-inner .inner-teacher-card:hover .inner-teacher-card-line {
    background: #b41515 !important;
  }
  .page-inner .inner-teacher-card:hover .inner-teacher-card-line::after {
    background: #233f68 !important;
  }
  .page-inner .inner-article-nav a:hover {
    color: #494949 !important;
  }
  .page-inner .inner-article-back:hover {
    background: #b30200 !important;
  }
  .page-inner .inner-pagination a:hover {
    color: #333 !important;
    border-color: #ddd !important;
    background: #fff !important;
  }
  .page-inner .inner-pagination li.active a:hover {
    color: #fff !important;
    background: #b41515 !important;
    border-color: #b41515 !important;
  }
  .page-inner .inner-pagination-prev:hover, .page-inner .inner-pagination-next:hover {
    color: #707070 !important;
  }
}

@media (max-width: 768px) {
  .page-index {
    padding-bottom: 2.5rem;
  }
  .page-index .home-banner {
    --side-space: max(3.5rem, calc((100vw - var(--container-max)) / 2));
    height: 30vw;
    min-height: 10rem;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination {
    bottom: 1.2rem;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination-bullet {
    margin: 0 0.875rem !important;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination-bullet::before {
    font-size: 1.5rem;
  }
  .page-index .home-banner .banner-content {
    min-height: 5rem;
  }
  .page-index .home-banner .banner-content h1 {
    font-size: 1.125rem;
  }
  .page-index .home-banner .banner-content p {
    font-size: 0.8125rem;
  }
  .section-head {
    margin-bottom: 1.5rem;
    padding-top: 0.25rem;
    align-items: center;
  }
  .section-head h2 {
    font-size: 1.125rem;
    line-height: 1;
    white-space: nowrap;
    align-items: flex-end;
    padding-left: 1.625rem;
  }
  .section-head h2::before {
    width: 2.125rem;
    height: 2.125rem;
    font-size: 2.125rem;
  }
  .section-head h2 span {
    font-size: 0.625rem;
    line-height: 1;
  }
  .section-head a {
    margin-left: 1.5rem;
    margin-bottom: 0;
    padding-right: 1.75rem;
  }
  .section-head a::before {
    top: 50%;
    width: 0.625rem;
    height: 0.625rem;
    transform: translateY(-50%);
  }
  .section-head a::after {
    top: 50%;
    width: 0.9375rem;
    height: 0.9375rem;
    right: 0.375rem;
    transform: translateY(-50%);
  }
  .news-section {
    margin-top: 1.25rem;
  }
  .news-section .headline-card .headline-info {
    min-height: 6rem;
    padding: 2.75rem 2.5rem 0.875rem 1rem;
  }
  .news-section .headline-card .date {
    top: -2.2rem;
    left: 1rem;
    width: 4.4rem;
    height: 4.4rem;
  }
  .news-section .headline-card .date::after {
    background-size: 3.75rem 3.75rem;
  }
  .news-section .headline-card .date strong {
    font-size: var(--list-date-day);
  }
  .news-section .headline-card .headline-dots {
    right: 1rem;
    bottom: 4rem;
    gap: 0.9375rem;
  }
  .news-list {
    padding: 0.125rem 0 0.375rem;
  }
  .notice-section {
    margin-top: 1.75rem;
  }
  .notice-section .notice-card,
  .research-report .report-list .report-item {
    min-height: 4.25rem;
    padding-right: 0.75rem;
  }
  .notice-section .notice-card span,
  .research-report .report-list .report-item span {
    width: 5.75rem;
    min-height: 4.75rem;
    background-size: 3rem 3rem;
  }
  .notice-section .notice-card p,
  .research-report .report-list .report-item p {
    margin-left: 0.625rem;
  }
  .research-report .research-col,
  .research-report .report-col {
    padding: 0.875rem var(--side-space) 1rem;
  }
  .research-report .report-col {
    padding-top: 0.375rem;
    padding-bottom: 1rem;
  }
  .research-report .research-feature {
    height: 6rem;
  }
  .research-report .research-feature-content {
    padding: 0 0.625rem 0 0.875rem;
  }
  .research-report .research-feature h3 {
    min-width: 0;
  }
  .page-index .quick-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
    margin-top: 1.75rem;
  }
  .page-index .quick-card {
    height: 7.5rem;
  }
  .page-index .quick-card .icon {
    width: 2.75rem;
    height: 2.75rem;
    margin-top: 0.75rem;
  }
  .page-index .quick-card strong {
    font-size: 0.875rem;
  }
  .back-top {
    bottom: 6rem;
  }
  .page-inner .inner-banner img {
    height: clamp(12rem, 56.1vw, 20rem);
  }
  .page-inner .inner-banner-title {
    min-height: 5rem;
    padding: 1rem 1.25rem 0.875rem;
  }
  .page-inner .inner-banner-title h1 {
    font-size: 1.25rem;
  }
  .page-inner .inner-banner-title p {
    font-size: 0.75rem;
  }
  .page-inner .inner-page-title {
    font-size: 1.375rem;
  }
  .page-inner .inner-empty {
    min-height: min(60vh, 26rem);
    padding: 0 0 2.5rem;
  }
  .page-inner .inner-empty img {
    width: min(100%, 20rem);
  }
  .page-inner .inner-empty p {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
  }
  .page-inner .inner-text-list li {
    min-height: 3rem;
    padding: 0.5rem 0;
  }
  .page-inner .inner-grid-9 {
    grid-template-columns: 1fr;
  }
  .page-inner .inner-journal-list {
    gap: 0.625rem;
  }
  .page-inner .inner-journal-card .inner-journal-body {
    padding: 0.5rem 0.625rem 0.625rem;
    gap: 0.3125rem;
  }
  .page-inner .inner-journal-card h3 {
    font-size: 0.8125rem;
    line-height: 1.3;
  }
  .page-inner .inner-journal-card .inner-list-date {
    font-size: 0.6875rem;
  }
  .page-inner .inner-journal-card .inner-list-date .icon-time {
    font-size: 0.6875rem;
  }
  .page-inner .inner-video-grid {
    gap: 0.625rem;
  }
  .page-inner .inner-video-card-text {
    padding: 0.5rem 0.625rem 0.625rem;
  }
  .page-inner .inner-video-card-title,
  .page-inner .inner-video-card p {
    max-height: calc(0.8125rem * 1.3 * 2);
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
  }
  .page-inner .inner-contact-title {
    font-size: clamp(1.4375rem, 3.85vw, 1.75rem);
    margin-bottom: 5%;
  }
  .page-inner .inner-contact-item {
    gap: 0.3125rem;
    margin-bottom: 4.25%;
  }
  .page-inner .inner-contact-item dt {
    font-size: clamp(0.75rem, 2.4vw, 0.8125rem);
  }
  .page-inner .inner-contact-item dd {
    font-size: clamp(0.8125rem, 3vw, 1rem);
  }
  .page-inner .inner-pagination {
    gap: 0.25rem;
  }
  .page-inner .inner-pagination ul {
    gap: 0.25rem;
  }
  .page-inner .inner-pagination a {
    width: 1.625rem;
    min-width: 1.625rem;
    max-width: 1.625rem;
    height: 1.625rem;
    font-size: 0.75rem;
  }
  .page-inner .inner-pagination a .iconfont {
    font-size: 0.75rem;
  }
}

@media (max-width: 750px) {
  .page-inner .inner-banner-foot {
    display: flex;
    align-items: center;
    min-height: 3.625rem;
    height: 3.625rem;
    padding-top: 0;
    padding-bottom: 0;
    box-sizing: border-box;
  }
  .page-inner .inner-banner-foot .inner-crumb {
    margin-bottom: 0;
    width: 100%;
  }
  .page-inner .inner-crumb {
    margin-bottom: 0;
  }
  .page-inner .inner-contact-title {
    font-size: clamp(1.5rem, 4.1vw, 1.875rem);
    margin-bottom: 5.8%;
  }
  .page-inner .inner-contact-item {
    gap: 0.375rem;
    margin-bottom: 4.72%;
  }
  .page-inner .inner-contact-item dt {
    font-size: clamp(0.75rem, 2.56vw, 0.875rem);
  }
  .page-inner .inner-contact-item dd {
    font-size: clamp(0.875rem, 3.2vw, 1.125rem);
  }
}

@media (max-width: 480px) {
  .page-index {
    --list-text: 0.8125rem;
    --list-meta: 0.6875rem;
    --list-meta-icon: 0.6875rem;
    --list-bullet: 0.8125rem;
    --list-date-day: 1.125rem;
  }
  .page-index .home-banner .banner-content h1 {
    font-size: 1rem;
  }
  .page-index .home-banner .banner-content p {
    font-size: 0.75rem;
  }
  .page-index .home-banner .banner-swiper .swiper-pagination {
    bottom: 1.75rem;
  }
  .section-head h2 {
    font-size: 1.125rem;
    line-height: 1;
    align-items: flex-end;
    padding-left: 1.625rem;
  }
  .section-head h2::before {
    width: 2.125rem;
    height: 2.125rem;
    font-size: 2.125rem;
  }
  .section-head h2 span {
    font-size: 0.625rem;
    line-height: 1;
  }
  .notice-section .notice-grid {
    gap: 0.625rem;
  }
  .notice-section .notice-card span,
  .research-report .report-list .report-item span {
    width: 4.25rem;
  }
  .page-index .quick-card {
    height: 7rem;
  }
  .back-top {
    width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
  }
  .back-top .icon-btop {
    font-size: 0.875rem;
  }
  .page-inner {
    --list-text: 0.8125rem;
    --list-meta: 0.6875rem;
    --list-meta-icon: 0.6875rem;
    --list-bullet: 0.8125rem;
  }
  .page-inner .inner-content {
    padding: 1rem 0.875rem;
  }
  .page-inner .inner-banner img {
    height: 10rem;
  }
  .page-inner .inner-banner-title {
    min-height: 4.5rem;
    padding: 0.875rem 1rem 0.75rem;
  }
  .page-inner .inner-banner-title h1 {
    font-size: 1.125rem;
  }
  .page-inner .inner-banner-title p {
    margin-top: 0.375rem;
    font-size: 0.6875rem;
  }
  .page-inner .inner-banner-foot .inner-crumb {
    font-size: 0.6875rem;
  }
  .page-inner .inner-page-title {
    margin-bottom: 1.25rem;
    font-size: 1.25rem;
  }
  .page-inner .inner-rich-txt p,
  .page-inner .inner-rich-txt span {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  .page-inner .inner-intro p,
  .page-inner .inner-intro span {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  .page-inner .inner-empty {
    min-height: min(55vh, 22rem);
    padding: 0 0 2rem;
  }
  .page-inner .inner-empty img {
    width: min(100%, 16rem);
  }
  .page-inner .inner-empty p {
    margin-top: 0.625rem;
    font-size: 0.75rem;
  }
  .page-inner .inner-article-body p,
  .page-inner .inner-article-body span {
    font-size: 0.875rem;
    line-height: 1.75;
  }
  .page-inner .inner-teacher-card-photo {
    height: 10rem;
  }
  .page-inner .inner-thumb-item {
    gap: 0.625rem;
    padding: 0.625rem 0;
  }
  .page-inner .inner-thumb-img {
    flex: 0 0 6.25rem;
    width: 6.25rem;
  }
  .page-inner .inner-thumb-body h3 {
    font-size: 0.8125rem;
  }
  .page-inner .inner-thumb-body .inner-list-date {
    font-size: 0.6875rem;
  }
  .page-inner .inner-thumb-body .inner-list-date .icon-time {
    font-size: 0.6875rem;
  }
  .page-inner .inner-thumb-body > p {
    max-height: calc(0.75rem * 1.5 * 2);
    font-size: 0.75rem;
  }
  .page-inner .inner-article-head h1 {
    font-size: 1rem;
  }
  .page-inner .inner-contact-overlay {
    padding: 8% 5% 0;
  }
  .page-inner .inner-contact-title {
    margin-bottom: 5%;
    font-size: 1.4375rem;
  }
  .page-inner .inner-contact-item {
    gap: 0.25rem;
    margin-bottom: 4%;
  }
  .page-inner .inner-contact-item dt {
    font-size: 0.75rem;
  }
  .page-inner .inner-contact-item dd {
    font-size: 0.875rem;
  }
}
